thumper​thoughts

random vibrations and clatterings

Digital Knob for Arduino I2C – Absolute Encoder

What is it?

From the datasheet

“Until now, the choice of an absolute encoder meant an expensive, and larger sized product. Through the use of combinatorial mathematics, the absolute code pattern of the Bourns® Absolute Contacting Encoder (ACE™) is placed on a single track for a very economical, energy efficient and compact product. Bourns® ACE™ provides an absolute digital output that will also retain its last position in the event of a power failure. An intelligent alternative to incremental encoders and potentiometers, the Bourns® ACE™ is ideally suited for many industrial, automotive, medical and consumer product applications.”

In layman’s terms, it’s a digital control knob that has 8 data pins which will give you 128 unique results around a full circle. It is designed as a control panel knob, but can be adopted for other uses. It is, as far as I know, the smallest and cheapest gray code absolute encoder available today. The product listed here combines this with am I2C backpack and library so multiple of these little wonders can be included in your next Arduino project.

Why did you make it?

I used these to build a head-following mechanism for my Dalek dome and eye, using hand-made pcbs.

Two were used to convert wiper motors into high powered servos.

A third was used to detect the operator’s head rotation in a motion control headset.

To support the ACE128 I wrote an arduino library to handle the I2C communications and gray code translation. The device itself generates gray code which has to be converted to normal numbers before use, and that takes some binary math – especially if you connect the pins in a different order from the datasheet.

My hobby is progressing to manufactured PCBs and SMD soldering, so I pulled this design out and made some up. To my delight, the first batch all work!

What makes it special?

The ACE-128 is the smallest and cheapest gray code absolute encoder available today. It uses some really ingenious mathematics in its design. This library and package are a unique solution for easily including digital knobs into Arduino projects.

Get the code at : https://github.com/arielnh56/ACE128

I sell on Tindie

2 Responses

  1. I bought one of your modules on your tindie store; however, instead of the four connections (GND, VCC, SDA, SCL) clearly marked as shown your video above, I find two very small 4-pin connectors (one for each of the two addresses) with no description at all; I am not familiar with this type of connector and it’s pin ID; could you give me a link where I can find more info and what type of plug will match the connector;

    thank you

Leave a Reply

Your email address will not be published. Required fields are marked *