custom-keeb-pcb

Public

@lyam-milbury

Download board files

Files for version 1. Pick what you came for.

Share custom-keeb-pcb

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

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

This was the first design I came up with. As soon as I finished it, I already knew I wasn't too proud of it. The traces were messy and the placement of some of the components wasn't optimal.

Version 2

Version two is the latest design. I moved the MCU and the reset switch to allow connections to be traced with more ease. IMore care in laying out the traces, opting for bus-style traces wherever I could. while keeping in mind that some traces needed to be intentionally isolated to prevent crosstalk. I knew this design would be good enough for production, so I also added final touches, such as the drill holes in the bottom corners, the ground fill in the top third to protect sensitive components from electrical noise, and a print of a little dude pressing the reset button.

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

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

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.