GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - luni64/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

BranchesTags
Open more actions menu

Latest commit

 

History

154 Commits
154 Commits

Folders and files

NameName
Last commit message
Last commit date
Documentation
Documentation
 
 
Resources
Resources
 
 
examples
examples
 
 
src
src
 
 
test
test
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
library.json
library.json
 
 
library.properties
library.properties
 
 
platformio.ini
platformio.ini
 
 

Repository files navigation

EncoderTool  Badge License  Badge Arduino  Badge PlatformIO

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

About

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

Topics

4051406774165callbackdebouncingdetentsencoderencoder-buttonencodersmultiplexed-encoderspollingquadraturerotary-encodersstate-machineteensy

Resources

Readme
MIT license
Activity

Stars

58 stars

Watchers

6 watching

Forks

14 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.