16 Key Macro Keyboard

by Flameling01 in Circuits > Arduino

814 Views, 11 Favorites, 0 Comments

16 Key Macro Keyboard

IMG_0885.jpg

The goal was to make an open-source 4x4 Matrix Macro keyboard with additional features. The features I chose were to have rotary encoders (I used 3) and a screen to display the mappings. I didn't use an Atmega 32u4 directly but used an Arduino Pro Micro clone so that assembly becomes easy for everybody. 

Supplies

MacroKeyboard3RotaryEncoders.png

Materials:

1)1xPCB

I ordered from JLCPCB(See step 1)

2)16xMechanical Switches. They must be 3-pin Cherry MX compatible

India

US

3)3xEC11 Rotary encoders

India

US

4)1xSSD1306 OLED screen

India

US

5)1xArduino Pro Micro Clone

India

US

6)6x10K resistors

India

US

7)Male and Female headers

India

US

8)Soldering iron and solder

9)16xCherry MX compatible switches. I 3D printed mine.

https://www.thingiverse.com/thing:923748

https://www.thingiverse.com/thing:940698

https://www.thingiverse.com/thing:738769

Getting the Gerber Files

Gerbers.jpg

Extract the MacroKeyboard3RotaryEncoders.zip file. Inside there is a "Personalized gbr.zip" file. Upload this zip to JLCPCB, select the PCB color, and order. My name and a logo are on the PCB. If you don't want it, the kicad project file is also there, so you can modify this project any way you want it.

Step 2: Getting the PCB and Assembly

IMG_0883.jpg

You don't need perfect soldering skills for this project. I suggest doing the resistors first, the headers next, and the switches and encoders in the end. To keep the switches aligned, I put some glue on them and then soldered.

Optional Case

Enclosure.jpg

The enclosure was designed in Fusion 360.

https://a360.co/3tDMVBl

You can use 2mm screws, but it works without them as well.

Demo Code

https://github.com/dipenarathod/Macro-Keyboard-3-Rotary-Encoders/blob/main/ArduinoMacroKeyboardV1.ino


This code has macros for KiCAD. It displays the mappings on the OLED screen. The encoders are used for undo/redo, volume, and brightness.

The End

IMG_0884.jpg

I hope you liked it. Feel free to modify it as well.