Arduino powered 5-key keypad includes a rotary encoder

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 - Arduino Keyboard with Rotary Encoder
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
The rotary encoder can be used to control a PMW fan

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.
  • Mode adds a third mode for playing
  • 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.

YouTube video player

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.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

11 Replies to “Arduino powered 5-key keypad includes a rotary encoder”

  1. 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 quickly roll it with my index, like I can do on my synth. It’s both extrmely fast and accurate.

    1. 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.

      1. I was speaking about a real keyboard. Would be even better if it could be integrated by default on laptop keyboards.

          1. 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.

      1. 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.

  2. I am interested in thar “jiggler” mouse feature. Can that also be done with qmk firmware? I did a search, but no hits.

    1. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC