How to build a MacroPad

For a while, I’ve been interested in custom mechanical keyboards and the many custom configurations you can create. I’ve always been interested in the Elgato Steamdeck since it allows you to trigger specific actions from a dedicated button that doesn’t need to be on your keyboard. For photo editing and streaming, I wanted to build a Macropad to configure specific buttons to trigger certain actions and in this blog, I teach you how you can build one yourself.

What is a MacroPad?

Where to start?

I found a project online that is called the dumbpad, it’s an open source Macropad project created by imchipwood. It has been modified in a couple of different ways. Keebd made a version of this macropad with a small OLED on board. I will be explaining step by step how I modified and build this macropad and how you can build one yourself.

There are different layouts of the board available with the difference of an OLED screen, hot swap RBG and normal leds. In this tutorial we will be assembling an OLED version of the Dumbpad.

Parts

1x Dumbpad PCB
16x MX style keycaps
16x MX switches (Preffered with placement pins)
17 x 1n4148 diodes (thru hole)
1 x Arduino Pro Micro
1 x 0.91" 128X32 OLED Display
1 x EC11 rotary encoder with pushbutton (7-pin)
1 x 6mm tactile switch

Switches: you can choose what kind of MX style switches you want to use, desolder them from an old keyboard or buy a set online. I would recommend switches with the 2 pins on the bottom to have them straight on the PCB.

Arduino Pro Micro: The brain of the macropad is this Arduino Pro micro, I have been looking for a Black version with USB-C but availability is low due to the shortage. I added some links for different versions here: Europe, US

Key Caps: For keycaps, there is also such a wide variety of options. Take them from an old keyboard, or buy a keycap set. You will only need 16 keycaps, and I would recommend finding ones that are all the same height.

PCB: If you order the PCB yourself you have some customization options. I wanted to add some logo to the Silkscreen of the PCB to make it a little more custom so I came up with a little DumbPad logo and added my name to the front. This will require some PCB modification which is a little more advanced. Either way, you will have to order your PCB from a manufacturer. I choose PCB way to order 5 boards with a cost of 5 dollars. Unfortunately, I spend over 50 euros on shipping and import fees to the Netherlands. If I would have known this I would not have ordered it probably. But in the GitHub repo, you will find the Gerber file that you will need to upload to a website like jlcpcb.com or pcbway.com, and there you can customize the color I would recommend leaving all the other options default. If you need help ordering the PCB contact me!

Besides the parts, you will also need a soldering iron, solder, and some cutting tool.

Assembly

Step 2: Solder the Diodes to the board. I soldered my diodes one by one but you can also do them all at once. Make sure to put the diodes through the board in the right position indicated by the little icon. You can band the pins around your finger before slotting them in. Then flip the board around, solder the wires to the board and snap them off with a cutting tool.

Step 3: Solder the MX switches to the board. I did not order switches with placement pins so while soldering my switches got all crooked. If you don’t have the pins on the switches I am working on a 3D-printed holder to make sure they are straight. IF you have ordered more than one PCB you can also sandwich the switches between two PCBs so they don’t fall out while soldering. Note: Make sure you choose the location of your rotary encoder first in the next step.

Step 4: Solder your rotary encoder. There are five different positions to solder your rotary encoder and you can use a maximum of two encoders. More information about where to place them can be found on the GitHub repo.

Step 5: Attach your OLED screen. Solder the 128x32 OLED onto your board with 4 header pins.

Step 6: Attach your keycaps. Click your keycaps on your switches.

Step 7: Flash your Arduino Pro Micro. In this tutorial, I will be using QMK Toolbox to flash the firmware file onto the Arduino Pro Micro. Download the latest release of the QMK toolbox here. Click on the assets and select your PKG for MacOs and the .EXE file for windows. I had to approve my download in system preferences on macOS.

The default firmware for the OLED firmware can be found on the website of KEEBD, which sets the keys to a simple Numpad. If you want to create your own firmware file so you can configure every key to you can use the QMK configurator. Head over to the configurator and select dumbpad/v1x_oled. Then choose a key on the bottom left layout and select what kind of input you want it to be. Once you have set all your keys, click on compile and then on the firmware to download the firmware.

You can configure multiple “layers” of different inputs for every specific key, to toggle between the layers you need to set one key to toggle between them. Configure one of your keys on every layer to go to the next one, e.g: set one key on layer zero to go to layer one (LT1 under Quantum) and do this for the amount of layer you wanna use. Make sure to set the last layer to point back to zero so you can toggle between them.

Step 8: Once you have downloaded the .HEX firmware file we can head over to the QMK toolbox and flash the firmware. Plug in your Macropad to your computer and set your QMK toolbox to ATmega32U4 for most Arduino Pro Micros. Press the bootloader button twice and click on flash. Wait for it to say Flash Complete and your dumbpad is ready to be used.

And thats it, you should have a working MacroPad. You can keep changing and configuring your macropad by creating new firmware and flash your MacroPad again. I have created a super simple 3D printed case that can be found here. I am working on a redesign of the dumbpad that has the Oled combined with hot swap and RGB LEDs and a new case. So follow my GitHub repository to stay up to date.

If you have problems or questions, reach out! info@timowielink.com

--

--

I am always looking for opportunities to design and build new products and I share my insights on the crucial role that design plays.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Timo Wielink

I am always looking for opportunities to design and build new products and I share my insights on the crucial role that design plays.