SkillAgentSearch skills...

EncoderTool

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 attached to encoder changes and button presses to allow for event driven applications

Install / Use

/learn @luni64/EncoderTool

README

EncoderTool  Badge License  Badge Arduino  Badge PlatformIO

Bounce-Free Rotary Encoder Library <br>+Standard or Multiplexed Wiring<br>+Push Button Support<br>+Callback System

<br> <div align = center>

<kbd><br> Examples <br></kbd><kbd><br> Boards <br></kbd><kbd><br> Documentation <br></kbd><kbd><br> Contributors <br></kbd>


</div> <br>

Supports

<br> <br>

Board Compatibility

<br>
  • 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)

<br>

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

<!-----------------------------------------------------------------------------> <!--------------------------------{ Badges }----------------------------------->

Related Skills

View on GitHub
GitHub Stars58
CategoryCustomer
Updated6d ago
Forks14

Languages

C++

Security Score

100/100

Audited on Apr 1, 2026

No findings