Mechanical Macropad

Custom 3d printed macropad with 4x4 mechanical switches
This project was mostly an excuse to learn how to use KiCad to design and order PCBs for a functional device,
since I've been wanting to create more complex things that'd require complicated circuits that I wouldn't be able to do on prototyping board
(been wanting to make a PCB for an Ipod that allows a raspberry pi zero 2 to be fit inside with battery managment and display out for a small screen - the perfect portable raspberry pi!)

The Macropad consists of 5 parts - PCB, 3D printed case, switches, keycaps and finally the Raspberry pi Pico, I chose to use the Pico for it's HID (able to act as a keyboard/mouse) capabilities and it's low cost for it's many IO pins.

For the PCB I decided to connect each of the 16 switches to an individual pin (since the pico has enough GPIO to allow that), with a 5K pullup resistor for each switch to remove floating inputs.

The case was designed so that the pcb would sit in a recess with some locator tabs to remove movement, I desined a hole for the USB port to line up with and slanted the edges to improve the look.

As for the progamming, I used circuit python because adafruit has a HID library that makes it very easy to set up HID, I hardcoded the values it sends for each key, The top row are Discord keybinds the rest are for anything and can be set up in the specific programs keybind settings.

The switches and keycaps are cherry mx style so any switch and keycap compatible can be used, but I decieded to try some cherry blue (clicky) switches, personally prefer tactile switches so might change them out at somepoint.

For whatever reason the PCB manufacturer didn't drill the holes for back of the switches to fit in. Because I didn't have time to reorder or refund it I ended up drilling the holes manually, but accidently cut a few traces because they were so close (may have been the reason they weren't drilled) and had to repair it with a few bits of wire.

Other images

3D Printed model drone from Rainbow Six Siege 3D Printed model drone from Rainbow Six Siege 3D Printed model drone from Rainbow Six Siege 3D Printed model drone from Rainbow Six Siege 3D Printed model drone from Rainbow Six Siege