There was a time when people were happy to interact with their computer with a standard keyboard and mouse. But in recent years, we’ve noticed more programmable, custom-designed keyboards with more ergonomy, a built-in touchscreen display, integrated into a multi-function USB dock/hub, as well as tiny keypads with a couple of mechanical keys to speed up specific functions.
JC Pro Macro is another one of those compact USB keypads. Powered by an Arduino Pro Micro board, the keypad features five mechanical keyboard keys, and adds a rotary encoder, plus an optional I2C OLED display for debugging, and some I/Os to control external hardware like a fan.
JC Pro Macro keyboard’s features and specifications:
- MCU board – Arduino Pro Micro compatible board with Microchip ATmega32U4 AVR microcontroller
- User input
- 5x programmable keyswitches
- Rotary encoder to control volume or other “rotary-y” elements, plus a 6th input switch, i.e. you can press it like a button as well.
- Expansion –
- 2x GPIO pins (I2C) to control an optional 1306-style OLED display, or other I2C hardware
- 4-pin header with 5V, GND, and 2x GPIOs can be used to control a PW fan or other purposes.
- Misc – 4x WS2812B 5050 addressable LEDs
- Power Supply – 5V via Micro USB port of the MCU board
![rotary encoder for fan control](https://www.cnx-software.com/wp-content/uploads/2021/08/rotary-encoder-for-fan-control-720x417.jpg)
JC Pro Macro has been tested on a Macintosh computer, but it should also work on Linux, Windows, and other systems that support the USB HID class.
The schematics are not available, but the developer – Jeremy Cook – provides resources in a Github repository with STL files for the base and 3D printed knob, as well as five Arduino sketches:
- Standard Code used for media control (volume, song skip/back, play/pause), and features a “jiggler” mode that keeps your computer awake and looking like someone is fiddling with the mouse.
- Slihter.io Mode adds a third mode for playing slither.io.
- Experimental Fan Mode includes a PWM output for the broken-out pins on the right side that aligns with a standard PC PWM fan. Tested with a 12V Noctua fan, but it should work even better with a 5V fan.
- Experimental Music Mode to connect a small speaker to GPIO pin 7 to play a number of notes.
- Experimental Final Cut Pro X Mode adds a mode where the wheel acts as a jog wheel. Press down to stop. Press down & lower-right button to switch back to standard mode.
JC Pro Macro keypad is sold as part of various kits on Tindie with the price starting at $6.95 for the PCB only without any components, going up to $49.20 for a complete system as shown in the first photo. None of the kits come assembled at this time, so you’d still need to solder everything yourself, and Jeremy uploaded a video to show how to do just that.
JC Pro Maco is not the only Arduino-powered keypad with a rotary encoder, and he got his inspiration from other projects listing on Tindie, including the Hub16 programmable macro keyboard with 16 keys and two rotary encoders.
![Jean Luc Aufranc](https://www.cnx-software.com/wp-content/uploads/2023/05/Jean-Luc-Aufranc.webp)
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress