Giter VIP home page Giter VIP logo

analog-wasd-keyboard-kmk-pi-pico-rp2040's Introduction

#Analog-WASD-Keyboard-kmk-pi-pico-rp2040

A Raspberry pi pico(rp2040) kmk keyboard with analog WASD input.

OVERVIEW

This is a kmk keyboard using an RP2040 with analog WASD keys.

As kmk is circuitpython based this should work on any circuitpython compatible boards with 4 analog inputs. The WASD keys use linear Hall effect sensors and magnetic keys. The rest of the keys use normal mechanical keys. This is just the base code for the analog keys. I added a normal 4x3 key matrix as an example but you can add how many your desired layout needs.

As i will be building a fully analog keyboard i only build a WASD prototype. Everything should be working though. If you have questions or find errors please let me know.

COMPONENTS

  • 1 RP2040 or Circuitpython compatible board (IMPORTANT: you need one with 4 analog inputs which the original pipico does not have. I used PR2040-Zero and yd-rp2040

  • 4 Linear Hall effect sensors (any should work but i used HUAXIN HX6659IUA-Bor GH39FKSW)

  • 4 magnetic key switches (I used wooting lekker

  • (capacitors 100nF-10000nF ) not strictly nececary but reduces noise. 10000nF gave me the best results.

  • Normal mechanical keys

  • Diodes

  • (rotary encoders)

BUILDING NOTES

As i have only build a prototype and not a full keyboard you'll have to make your own case or use someone elses from the internet.

CODE

When circuitpython is installed move the content of the code folder into the RP2040.

Added module: analog.py which handles the analog key presses.

Basic variables for the analog keys can be changed in the main code.py file so this file does not have to be touched.

If you're getting ghost presses when using rapid Trigger use the "maxChangeInVal.py"+ 300 to find a siutable value for your keyboard.

Pin assignment for analog keys can be done in: code.py -> ana.pins =()

The key map for analog keys can be defined it code.py -> ana.map = []

analog-wasd-keyboard-kmk-pi-pico-rp2040's People

Contributors

lennarted avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.