A two-button backlit mechanical keyboard that types ASCII values, one bit at a time.
- Arduino Pro Micro (knockoff)
- Cherry MX Clear Mechanical Switches
- SSD1306 OLED Display
These libraries are used to drive the SSD1306 OLED display.
Because I could not locate a part to represent the SSD1306 OLED Display, I created my own. This can be found in the
CSJ Library
file for Eagle. A word of warning, this was my first time using Eagle. The part works, but could be improved.
Uses c0z3n/cherrymx-eagle library as well.
Each bit is typed out from the least significant bit to the most significant bit (left to right). After all 8 bits have been entered, it will type out the ASCII value equivalent of that binary valiue. The Pro Micro has native USB support, which means it acts just like any other keyboard.
If both keys are held down, the keyboard will switch to "1/0 mode" / "single button press mode" (I'm bad at names). In this mode, each key will represent a '1' or a '0' just like on a traditional keyboard, no binary involved.
Initially I was going to use a DigiStump board for this, but I found issues with not having enough memory to work with after importing libraries and not enough I/O. I'm using an Arduino Pro Micro knockoff. The reason that there is electrical tape covering it is because I found that shorting the contacts with a finger would cause it to stop working. I'm still not really sure why.
Please feel free to fork this project for your own purposes.
Special thanks goes to everyone in the UWB Makerspace that helped make this possible.