arduino_macro_keyboard icon indicating copy to clipboard operation
arduino_macro_keyboard copied to clipboard

DIY Macro Keyboard using Arduino micro, 3D printed parts and some other hardware modules.

Arduino Macro Keyboard

DIY Macro Keyboard using an Arduino Pro Micro, 3D printed parts and some other hardware modules.

cover image

pro-micro

Features

  • Arduino Pro Micro as HID device
  • 8 configurable keyboard switches and 1 rotary encoder
  • Independent profiles for keys and encoder
  • Touch sensor to detect interaction
  • A ws2812b LED module lights-up the pad upon profile changes and when the touch sensor is touched
  • OLED display to show usage info
  • Menu Button (placed below the OLED display) with key-test playground

Arduino sketch

Find it at ./sketch/pro-micro_dentex_macro-keyboard.ino.

Libraries used:

  • HID-Project
  • EEPROM
  • Adafruit_NeoPixel
  • SSD1306Ascii
  • Keypad

3D printed parts

Printable STL files are available in the relative folder. The ./FreeCAD folder contains the 3D project (the main file to be loaded in FreeCAD is #_MACRO-KEYBOARD_v12.FCStd)

Hardware

  • 1 Arduino Pro Micro
  • 8 Cherry MX switches (or similar/compatible, i.e.: https://www.aliexpress.com/item/4001111706889.html)
  • 8 Keycaps (4xR1 and 4xR2: https://www.aliexpress.com/item/33056163268.html)
  • 1 Rotary Encoder (I used a KY_040 module, it should be this one: https://www.aliexpress.com/item/32726570531.html)
  • 6 short M3 hexagonal screws
  • 6 M3X4.6X4.0 Brass Insert Nuts (i.e.: https://www.aliexpress.com/item/4000688990203.html)
  • 1 6x6x5mm tactile mini switch (i.e.: https://www.aliexpress.com/item/1005003536610720.html)
  • 1 3mm LED (indicates the encoder's ticking)
  • 1 Addressable LED module (i.e.: https://www.aliexpress.com/item/32851699524.html)
  • 1 I2C OLED Display Module (i.e.: https://fr.aliexpress.com/item/32584349265.html type 0.96 white)
  • 1 TTP223 Capacitive Touch Switch Module(i.e.: https://www.aliexpress.com/item/32869836574.html)

Wiring

A partial connection diagram is present into the ./images folder. It covers the keyboard and the rotary encoder. For the other connections, rely on the Arduino sketch and the arduino pinout.