Arduino Macro Board W/ Mechanical Switches

About the project

This Macro Board is designed to be used, and customised to have as many uses as you can think of. The premise is that each key can be programmed to do whatever you like to make media controllers, gaming boards, designing software shortcuts and the list goes on. This project was really fun to make and a great project.

Project info

Difficulty: Moderate

Platforms: Arduino

Estimated time: 1 day

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Mechanical Switch Mechanical Switch Any switch is fine, I used MX Browns for my switches x 8
220Ohm Resistors 220Ohm Resistors x 8
Rotary Encoder Rotary Encoder I Used an arduino compatible one, however It should be fine to use any granted you know how to use them x 1
Wires Wires x 1
Pla 1.75 Mm 1 Kg Spl 3d Filament Grey Pla 1.75 Mm 1 Kg Spl 3d Filament Grey Any Colour and any type of filament is fine to use x 1
Micro Usb Cable Micro Usb Cable x 1
Arduino Pro Micro Arduino Pro Micro Must be the pro Micro for the ATMega32u4 Chip allows keyboard emulation x 1

Software apps and online services

Arduino IDE Arduino IDE
Cura Cura Or any 3D slicing software
Fusion 360 Fusion 360 Or any 3D Modelling software if you wish to design your own case or key caps

Hand tools and fabrication machines

Soldering Iron Soldering Iron x 1
Soldering Arms Soldering Arms Optional but very helpful x 1
3D Printer 3D Printer Does NOT need to be a multicolour printer to achieve the multicolour look x 1


This Project was designed for me to have a media controller sitting on my desk as well as other key functions such as opening programs, sleeping my pc and minimising all tabs. The main goal of this project was for me to learn more about coding and circuit design - however, it has become a far more wholesome project as it has been extremely enjoyable to make.

The switches act as regular buttons and the rotary encoder is used for a volume knob (however I can easily see it being used as a scroll wheel too). The code essentially works by detecting the closing of the circuit each time a key is pressed, and activating a function depending on which key is pressed. 

The code is simple enough for you to alter it and make whatever style of macro board you like. My main attraction to this project is that you can design it to be a gaming board, a designing board, media controller or if you have an idea for what to do with you can do it!

Schematics, diagrams and documents

My Tutorial

I have already created a tutorial on this project, please see the attached word document - which also contains the links to the Code + 3D Files


Photo of littleSilvr


Currently Studying Mechatronic Engineering at the University of Technology Sydney, Love to 3D print and build projects on the side and designing and creating is my passion.


Leave your feedback...