top of page

Personal Macro Keyboard

This project came to mind after using my 60% keyboard for the first week. I quickly realized I needed my arrow keys and volume buttons. I decided to make a small macro keyboard to add the extra buttons I needed. It also helped me get practice with the recently released raspberry pico microprocessor. 

​

Before getting into creating any keyboard schematic, I had to make sure I knew how keyboard keys work and how keyboards are built. Most commercial quality keyboards consist of the backplate-assisted PCB, the backplate supporting the bottom of the PCB, and a housing plate that sits on top of the PCB. The housing on top is what we see when we're using our keys. Now, keys are separated generally into two categories. Tactical and mechanical. Tactical keyboards are more silent and usually have a lower travel distance for the keyboard to register a click. Mechanical keyboards use spring-loaded switches that make audible 'clicks' when pressed. These are commonly used now by 'gamers' or mechanical keyboard enthusiasts. 

​

After my research, I realized I would not create a backplate for my PCB and therefore would need non-supported PCB keyboard switches. These switches have built-in supports that latch onto the PCB that allow the switches to stay stable without the backplate.

​

From here, I went into a PCB design software, KiCad, where I imported the footprints for my PCB-supported mechanical switches and created a general layout for my switches. Switches act similar to buttons. When clicked, the switch connects the two ends it has and allows for current to flow through. From here, I made the pins on the raspberry pico either a pull-up or pull-down. I decided to make them all pull-ups. Afterward, all I had to do was run the rails connecting all of the switches to an appropriate output and input pin on the Pico. 

macro keyboard layout.png

Since this keyboard is small and I didn't plan on using more than five buttons, I decided to use MicroPython and Thonny. This would allow for rapid testing for both the code and circuit. ​

macro keyboard code snippet.png
boards multiple.JPG
size comparison_edited.jpg
soldered pcb.JPG

Image of when the PCBs first came in

After the switches got soldered on

Size comparison of macro keyboard and Razer mouse

bottom of page