Skip to content
No description, website, or topics provided.
C Makefile Python C++ Shell
Branch: master
Clone or download
SaimonWork SaimonWork
SaimonWork and SaimonWork fixed the error in python 3
Latest commit e6c5419 Sep 4, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Hardware Repository update to the HW version V2.1 Jul 26, 2019
Raspberry Library fixed the error in python 3 Sep 4, 2019
EncoderI2CV2.1_v1.0.pdf Datasheet update Jul 26, 2019
I2Cmap.png Update I2Cmap.png Jul 26, 2019
Version.jpg Repository update to the HW version V2.1 Jul 26, 2019

I2C Encoder V2.1

This repository is for the HW version 2.1!

In the bottom edge it's written the board version. If it's written V2.1 you are in the right palce, if it's writte V2.0 you need to go here.

HW version V2.1


The I2C Encoder V2.1 is a small board where you can use a classical mechanical encoder, or an illuminated RGB encoder on I2C bus. The device has also 3 configurable GPIOs with the same footprint of RGB LED. It's possible to connect up to 127 boards in cascade and read all of them with the same I2C bus. The I2C Encoder V2.1 has a series of 8 bit registers where it is possible to configure the parameters and four 32 bit of registers. These 32 bit registers store counter value, value of increment steps, maximum and minimum thresholds. Every time when encoder rotates at least one step, the counter value increases or decreases according to the rotation direction by the value of the increment steps register. When the counter value is outside of the limit set by the thresholds registers, the counter value can be wrapped or can stuck on the threshold value reached. I2C Encoder V2.1 also has an open-drain interrupt pin. It is set to logic low every time an interrupt occurs, the source of interrupt can be customized.

Where you can get this board?

This project is avaiable on our Tindie store!

Repository Structure

  • Arduino Library: Repository where you can find the Arduino IDE library for the DuPPa boards
  • Raspberry Library: Ready to use library in Python for the Raspberry board with example.
  • Firmware: Project folder of Microchip MPLAB X contain the code running inside of the PIC16F18345
  • Hardware: Folder containing the gerber file, schematic and BOM.
  • Datasheet EncoderI2C V2.1: Datasheet of the board with the description of the registers and some useful information.

The HW project is also available on CircuitMaker

Third-party libraries

If you want to donate for my work, i would really appreciate it. You can donate here with this link. Thank you!


You can’t perform that action at this time.