EncoderTool
EncoderTool copied to clipboard
The EncoderTool is a library to manage and read out rotary encoders connected either directly or via multiplexers to ARM based boards. Encoder push buttons are supported. Callback functions can be att...
EncoderTool

Bounce-Free Rotary Encoder Library
+ Standard or Multiplexed Wiring
+ Push Button Support
+ Callback System
Examples
Boards
Documentation
Contributors
Supports
-
All common encoders with and without push buttons
-
Directly connected encoders (A+B+Button to pins)
-
Multiplexed encoders using
-
74HC165 (up to 32 encoders) -
40HC67 (up to 16 encoders) -
40HC51 (up to 8 encoders) -
Encoder Matrix -
Easy to adapt for your preferred multiplexer
-
-
Interrupt based or polled readout strategies
Board Compatibility
-
PJRC Teensy (Teensy-LC, Teensy 3.x, Teensy 4.x, MicroMod)
-
SAMD (SEEED XIAO, Nano33 ...)
-
8bit Arduino AVR (UNO, Nano, Mega...)
-
ESP32
-
Fallback solution for other boards (using slow digitalRead/Write)
Features
-
Fully bounce free readout without additional hardware
-
Provides hard and cyclic count limits
-
Supports and debounces encoder push buttons
-
Modern callback system for event driven applications
-
Encoders can be connected directly (A / B / Btn connected to pins)
-
Encoder connection using various multiplexers (up to 32 encoders on only 4 control pins)
-
Schematics and Gerbers available for multiplexed encoder boards (Eagle/KiCad).