My custom Macropad made for Hack Club's Blueprint program! I used this project to learn how to create PCBs using KiCad and write KMK files in Python. I plan to use my Macropad for various miscellaneous tasks!
- 5 Reprogrammable Keys
- EC11 Rotary Encoder
- 0.91" 128x32 OLED Display that can be used to display and static BMP image!
I used Autodesk Fusion 360 to create my case since that's what I already knew how to use! There are two main pieces to the case: the base, which holds the PCB, and the lid, which covers most of the PCB but leaves the needed parts uncovered..
| Fully Assembled Macropad |
| Base |
Lid |
My PCB was designed using KiCad, which was my first time using the software.
| Schematic |
PCB |
My Macropad used KMK firmware for everything. This was my first time using this, and I wasn't able to test it while writing it, so I used a few snippets of code online for a bit of help, but most was written by me. I plan to change what each key does once I'm able to do more testing. Here's what each key does::
- Key 1: Alt + Tab
- Key 2: Ctrl + Tab
- Key 3: Mouse Middle Click
- Key 4: Alt + F4
- Key 5: Super + L
- Rotary Encoder Rotate: Volume Up/Down
- Rotary Encoder Click: Toggle Mute
- 5x Cherry MX Switches
- 1x XIAO RP2040
- 5x Blank DSA Keycaps
- 4x M3x16 Bolt
- 4x M3 Heatset
- 1x 0.91-inch 128x32 OLED display
- 1x EC11 Rotary Encoder
- 1x Lid (macropad_lid.stl)
- 1x Base (macropad_base.stl)
I've always wanted a Macropad that I could program each individual component to do whatever I wanted to do. I use keybinds a LOT in most programs I use, so I hope to figure out which ones I use most and modify the code to do what I need. I added the OLED screen last minute because I wanted to add whatever silly image I wanted onto there! Overall, creating this was super fun, and I learned more than I was expecting!
I had previous experience with Autodesk Fusion 360, but I had never touched KiCad prior to starting this project. The learning curve was pretty steep for me, but once I got the hang of it, it was a lot better! I'm sure that there are lots of things I could have done better in my PCB design, so I would want to continue to do more research and learn best practices. Overall, it was still very fun, despite having to watch multiple tutorials for KiCad, and I learned a lot about the program!