This is a 3D printed 40 percent ortholinear mechanical keyboard powered by Raspberry pi pico. The repository contains the firmware and tutorial on how to build the keyboard.
If you want to read more about the build, you can find the articles on my blog:
* When the heat inserted threaded inserts arrive, the zip ties will be replaced with screws.
The firmware currently contains 3 layers - the default layer, a control layer and a symbol layer.
- 3D printer
- Raspberry Pi Pico
- 40 Cherry MX compatible switches
- 40 keycaps (can be also printed if you want to)
- 40 1N4148 diodes
- some wire
- soldering iron
- a lot of patience
Tip: if you are cheap like me, you can harvest most of the parts from a cheap second hand mechanical keyboard
- Print the case from
https://www.printables.com/model/345568-fortyorty
The printed parts in the photos are the unfinished prototype later replaced with the model mentioned above.
- Assemble all the switches and stabilizer to the base plate
I did not use the stabilizers in the end, as the 2U spacebar works just fine without them.
- Solder diodes to the switches and connect them in a row as shown in picture below.
- You can also use another wire to connect the diodes in a row instead of connecting them directly.
- Solder wires to the rows of diodes and route them to one place
- Solder wires to the switches in columns as shown in picture below
- Choose your GPIO pins on the pico based on your firmware in
pins.py
and solder the wires to the pico
- Carefully put the pico inside the keyboard.
- I wrapped the pico in electrical tape to prevent short circuits inside the keyboard.
Currently in its second generation, the case still does not fit correctly, I modified the second prototype with side cutters and the case works with zip ties. If I get around to another model and print, I will update this repo.
- Install circutpython on your pico
- Copy the
adafruit_hid
folder to thelib
folder on pico. - Modify your keymaps in
keymaps.py
- Copy the
keymaps.py
,pins.py
andcode.py
files to the pico. - When you are done testing your firmware, you can copy the file called
boot.py
to your pico to prevent it appearing as a usb drive on your pc.
- Firmware is based on this tutorial: https://learn.adafruit.com/diy-pico-mechanical-keyboard-with-fritzing-circuitpython/code-the-pico-keyboard
- I ended up using this model for the keyboard body instead creating my own: https://www.printables.com/model/345568-fortyorty