Description
Rotary encoders are so much fun! Unlike potentiometers, they can rotate indefinitely and often provide tactile detents. However, integrating multiple rotary encoders into a project can be challenging due to timers, interrupts, and debouncing issues.
The Adafruit I2C Quad Rotary Encoder Breakout simplifies this by allowing you to connect up to four standard PEC11-pinout rotary encoders, with or without push-switches. It uses an onboard microcontroller programmed with Adafruit's seesaw firmware to track pulses and pins, saving the incremental values accessible over I2C. Just plug it in via a Stemma QT cable for easy integration with microcontrollers ranging from Arduino UNO to Raspberry Pi.
You can use the Arduino library or CircuitPython/Python code to control and read data. The breakout features six 0.1" spaced breakout pads for breadboard compatibility and supports 3 to 5V power and logic levels. An interrupt pin can be configured to pulse low on rotation or button press, avoiding the need for constant I2C polling.
For clear or translucent shaft encoders, onboard reverse-mount NeoPixels provide customizable visual feedback, controllable via I2C and can be turned off if not needed. For metal-shaft encoders, the LEDs aren’t visible. The back also has a green power LED and a red interrupt LED that blinks upon interrupt.
Up to 8 of these breakouts can be connected on one I2C bus using three onboard address jumpers, addressing from 0x49 to 0x51.
The PCB is custom-made in the STEMMA QT form factor compatible with SparkFun Qwiic connectors for solderless connections and chaining with other sensors and accessories. Note that the breakout comes without encoders; you need to solder suitable rotary encoders. It is designed for manual hand-rotated encoders, not high-speed motor encoders.
- Supports up to 4 rotary encoders with push-button functionality.
- Onboard microcontroller with seesaw firmware for pulse tracking.
- I2C interface via STEMMA QT / Qwiic connectors.
- Reverse-mount NeoPixels for visual feedback on clear shaft encoders.
- Interrupt pin for event-driven programming.
- Supports 3-5V power and logic levels.
- Compatible with Arduino and CircuitPython / Python libraries.
- Up to 8 devices on one I2C bus via address jumpers.
- Does not include rotary encoders; user must solder standard PEC11-pinout encoders.