16 Key Macro Keyboard

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

Materials:
1)1xPCB
I ordered from JLCPCB(See step 1)
2)16xMechanical Switches. They must be 3-pin Cherry MX compatible
3)3xEC11 Rotary encoders
4)1xSSD1306 OLED screen
5)1xArduino Pro Micro Clone
6)6x10K resistors
7)Male and Female headers
8)Soldering iron and solder
9)16xCherry MX compatible switches. I 3D printed mine.
https://www.thingiverse.com/thing:923748
Getting the Gerber Files

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

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

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

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