4x3 Macropad with Rotary Encoder and 1.13" OLED Screen
Model details
- Platform
Printables
- Price
- Free
- License
- CC0
- Public domain: print, modify and sell, no attribution required.
- Formats
- STL
- 1 Likes
- 3 Downloads
- 0 Makes
- 0 Comments
- 64 Views
Description
A simple and clean design for a 4x3 (Handwired) MX keyswitch macropad featuring a rotary encoder with and a 1.3" OLED Screen
Very Simple Build, Runs off bluetooth, Key assigments can be made directly in Arduino IDE and reconfigured very easily. No ghosting or debounce issues due to wiring each key individually and daisy chaining the ground. Used Arduino libraries allow for ghost keys, macros and whatever characters you may need, including F keys upto F24.
Screen can be animated and modified as much as you can imagine due to the U8g2 Library. I personally added startup, idle and active bongo cat animations for my keystrokes and actions as well as 2 different screensavers to prevent burn-in.
Got the knurled knob by Capra-Audio on printables to go with the encoders. Used old keycaps from a donor keyboard for proof of concept. Will update post later with custom keycaps with extra depth to go with the indent for each key and action.
Used standard electric tape to hold the screen in place, also protects it from contact with the esp32 underneath.
Print Settings:
Printed with standard 15% infil with Dowell PLA. 50g for enclosure, 20 for the top cover with ironing.
Recommend support for printing baseplate due to the screen pcb cutout underneath.
Print Features:
- Enclosure around 30mm to house wires and esp32 under the screen.
- Indent around keyswitches for cleaner look with keycaps. (could be made deeper, requires 1.4 to 2mm thickness for keyswitch slots.)
- Port cutout in enclosure wall with support piller to seat ESP32 or any 30-38 pin Microcontroller. (Can be adjusted by printing 1 or 2mm thick rectangles for tighter fitting. Can fit Micro-USB and USB-C
- Cutout for screen pcb under surface for a flush fit with the surface
- Rotary Encoder hole slightly smaller than EC11 size. with some elbow grease and scraping, the screw can catch and tighten itself onto enclosure.
- No closing mechanism added for Users' own preferred.
List of Parts:
- Nodemcu ESP32S 38 Pin Microcontroller or any Microcontroller with enough pins to account for each keyswitch, encoder and screen. (I used 17 + 2 for Ground and 1 for 3.3v)
- Rotary Encoder with Button (EC11 or KY040)
- 1.3" OLED Screen (SSH1106/SSD1106)
- 12 Keyswitches with 14x14mm dimensions with Keycaps of your choice. (Cherry MX sizing)
- Dupont and Normal wire.
Libraries used for the project:
- Adafruit BusIO
- Adafruit GFX Library
- Adafruit SSH110X
- Bounce2
- ESP32 BLE Keyboard by Gaurav Sharma
- NimBLE-Arduino
- U8g2
Board Managers:
- Arduino ESP32 Boards
- esp32 by Espressif
Can provide the Arduino IDE sketch for the build if needed. Can be made with claude or gemini too its so simple.
If any modifications are required, feel free to comment and I will assist you however I can.
Similar models
SREMB (Screen and Rotary Encoder Macro Board)
Bluetooth macro pad 3x4 with 2 encoders by Catlove
Display Case OLED 1.3" 128x64 I2C
MasiBoard 1.0 - Ortholinear Split 6x5 Keyboard with optional OLED and Rotary Encoder
Esp32 OLED 433Mhz module enclosure, entirely using snap joints!
The esp32 Timestation
DIY Handwired 4x3 Macropad with OLED & Encoders
Breadboard Mount for 1.3" OLED Display with EC11 encoder ESP Arduino
Terminal Case for SSD1106 1.3'' OLED and ESP32
10" Rack 1U WiFi Climate Controlled Fan Shelf using ESPHome with Home Assistant integration and OLED Display
Custom Macropad
Names are used only to indicate the source of a result. Polyzon is not affiliated with the listed sites.


