Imported from GitHub: Lyam-Milbury/custom-keeb-pcb · commit c58184d · license MIT
Description
Repo for my (mis)adventures in creating a custom pcb for a macropad
README
8/1 Macropad PCB
Repo for my (mis)adventures in creating a custom PCB for a macropad. I have always been a fan of custom keyboards. My daily driver is a stripped-down DROP ALT keyboard. I replaced the switches with ones that I hand-lubed, swapped the stabilizers with higher quality ones, and fitted custom keycaps to complete the build. After falling even further down the rabbit hole, the only natural progression of this hobby was clearly to create a custom PCB. This PCB has 8 slots for MX-hybrid switches (no LED pins) and 1 rotary encoder (hence, 8/1). The design of this build was inspired by ai03's PCB Designer Guide.
Software
KiCad 7.0 was used to create the schematics and design for the PCB. A custom footprint library, MX_ALPS_HYBRID, was used for the switch slot footprints, but everything else is available on vanilla KiCad.
Schematics
The following are images of the schematics that were created in KiCad. This schematics file was then used to generate the PCB template.
Microcontroller Unit
The Microcontroller unit (MCU) used for this project was the ATMega32U4-A. This microcontroller is perfect for this application, as this project did not require a large amount of processing power. It boasts a humble 44 pins, 24 of which can be used as bi-directional I/O ports for the signals sent by our key presses. This design could easily be scaled up to a fully sized keyboard matrix and this MCU would still have pins to spare. It also has 32 KBs of flash memory with is more than enough for the firmware that will be flashed onto it.
Auxillary Units
The rest of the schematics include the following:
- 3x4 keyboard matrix created using diodes as switches
- Decoupling capacitors to filter out electrical noise
- A crystal which controls the speed of the MCU
- A reset button for testing purposes
- The USB 2.0 circutry
| Keyboard Matrix | Decoupling Capacitor, Crystal, Reset Button, USB connection |
|---|---|
PCB Designs
Version 1
Version 2
TODOs & Note
The design has already been sent to a manufacturer and is in production as I'm typing this. Once I receive the boards, if everything works as expected, here are the next steps I'll be taking to complete this project:
- Solder components to the PCB
- Use QMK to write custom macros
- Design & 3d print enclosure
Designing this PCB has been a blast. I'm a computer engineer by education but I took more of a software-oriented route for my trade. This has reminded me of how much fun hardware design can be and will not be the last one design.
No comments yet. Be the first to ask about this board.