100%
custom-keeb-pcb custom-keeb-pcb view
Description

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 MatrixDecoupling 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:

  1. Solder components to the PCB
  2. Use QMK to write custom macros
  3. 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.

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.