A 5-key macropad with rotary encoder, and rgb LEDs. Which is used for all ur imp shortcuts!
Note: This ReadME is writtern by Syed Ihteshamuddin (human ofc), So if some mistakes are occurred please highlight.
This is my first complete hardware project, I have spent over 20+ hours on this project.
I have used global tags in my schematic to make it clean and clear, But Assigning footprints and finding relevant 3d models for the components for me was a very difficult task :)
I have manually routed the PCB , it was somewhat challenging to overcome the Board Clearance issues. The PCB has 0 errors (DRC) except silkscreen warnings.
I was CAD designing FIRST TIME. So, it was not easy for me. I have designed this case in Autodesk Fusion. This design is a "SANDWITCH STYLE MACROPAD" where it consists of two plates; Top plate, Bottom Case and PCB gets sandwiched between them. They are all screwed up with M3 Screws. All the design was done in +0.04 tolerance for better results!
| # | Component | Qty | Source |
|---|---|---|---|
| 1 | Seeed Studio XIAO RP2040 | 1 | Hack Club Kit |
| 2 | Gateron KS-3 MX Switches | 5 | Hack Club Kit |
| 3 | 1N4148 Through-hole Diodes | 5 | Hack Club Kit |
| 4 | Alps EC11E Rotary Encoder | 1 | Hack Club Kit |
| 5 | SK6812 MINI-E RGB LEDs | 5 | Hack Club Kit |
| 6 | 0.91-inch SSD1306 OLED Display (128×32) | 1 | Hack Club Kit |
| 7 | White DSA Keycaps | 5 | Hack Club Kit |
| 8 | M3×16 mm Screws (trim to 13 mm) | 4 | Hack Club Kit |
| 9 | M3×5 mm × 4 mm Heat-set Inserts | 4 | Hack Club Kit |
| 10 | 3D-Printed Case (Base + Top Plate) | 1 set | Self-fabricated |
- Controller: Seeed Studio XIAO RP2040.
- Input: 5 MX-style mechanical switches and one rotary encoder with push switch.
- Display: 0.91-inch SSD1306 OLED, 128×32 resolution.
- Lighting: 5 SK6812 MINI-E addressable RGB LEDs.
- Enclosure: 3D-printed base and top plate.
| Key / Component | Shortcut / Input | Function |
|---|---|---|
| Key 1 (SW1) | Ctrl + C |
Copies selected text, files, or items |
| Key 2 (SW2) | Ctrl + V |
Pastes copied content |
| Key 3 (SW3) | Ctrl + Z |
Undoes the last action in supported applications |
| Key 4 (SW4) | Alt + Tab |
Switches between open windows |
| Key 5 (SW5) | Win + Shift + S |
Opens the Windows screenshot/snipping interface |
| Rotary Encoder (Clockwise) | Volume Up | Increases system volume |
| Rotary Encoder (Counterclockwise) | Volume Down | Decreases system volume |
| Rotary Encoder (Press) | Mute Toggle | Toggles system mute |
| OLED Display | I²C | Displays a greeting and action/status messages |
| 5 × RGB LEDs | Addressable LED control | Provides visual feedback when keys are pressed |
| XIAO RP2040 | CircuitPython + USB HID | Processes inputs and sends keyboard/media commands |
status: The displayed volume percentage is an estimate, not the computer's actual volume reading.
I used AI to gather resources for footprints and 3d models, and also for Firmware. Rest all work is done by me! [ For Proof : You can check Lapse recording ]
- HackClub: - for organizing the program
- CircuitPython: - Python Firmware
- Hackpad Team: - for tutorials and resources
- Special thanks to "https://github.com/damnitzhemanth-oss" (hemanth) for personally helping me build this project!
OPEN SOURCE, enjoy :)
( I aint responsible if it turns out to be a time bomb).