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
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 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.
I love the concept of a rotary encoder on a keyboard! It looks so obvious once you see it! It would make access to menus and scrolling within lists so much easier! And please don’t tell me there are mouses, scroll wheels, touchpads and whatnot. A keyboard is what you use when you need to be efficient. A mouse is what you use to surf the web with one hand or when interfaces are not keyboard-friendly. Ideally I’d like to have a small rotary wheel at the to of the keyboard with a bump in it so that I can… Read more »
Well re-invent the wheel. Do a internet search for the Deluxe T11 designer keyboard. ( no display ).
As CNXsoft points out, there many, wheel with keyboard already.
I was speaking about a real keyboard. Would be even better if it could be integrated by default on laptop keyboards.
Look up the LOGITECH CRAFT keyboard . Deep pockets needed
Indeed, maybe. However I doubt that the slightly incurved keys sufficiently compensate for the crappy cheaplet design :-/ The key I use the most on chiclet keyboards is backspace. When I’m back to typing e-mails on my old type-M I feel surprised to continuously type many lines very fast without using backspace. For accurate typing you definitely need some perceptible feedback and chiclet keyboards give little to none, but they are way cheaper to manufacture.
Digging the web, you also find these (non-exhaustive list):
Not sure they provide the same capabilities though.
you know that all synaptic touchpads can designate part of the area for scrollers? imo better than wheel because no wear and tera
I totally hate this and disable it every time I discover it was enabled by accident. Random behaviors depending on were you touch the pad, no thanks. Plus the benefit of the wheel for me is the ability to move one tick at a time.
I am interested in thar “jiggler” mouse feature. Can that also be done with qmk firmware? I did a search, but no hits.
I’m not sure whether there is this specific feature within QMK, but since mouse keys are supported by QMK, it could also be implemented by sending some mouse keycodes from time to time.
See also keypad https://youtu.be/GuQxLqAc5GE