Rotary Encoder with I2C Interface and RGB Lighting

From Jeremy S. Cook on the Tindie blog:

encoder (1).jpg

Rotary Encoder with I2C Interface and RGB Lighting

Makernet Knob’s makes the point that “Rotary encoders are cool but hard to wire into your projects.” Having wired up a custom input device for my computer using an encoder, I can attest to both of these statements. In my case, it took me quite a bit of time simply to figure out how each encoder pin was used!

2017-10-06T21_08_06.531Z-GM1200PTH pic4.jpg.855x570_q85_pad_rcrop.jpg

To help alleviate complicated wiring issues, this custom knob features a built-in I2C interface, which allows several (even hundereds) of knobs to be chained together without issue. Additionally, the top of the encoder can be depressed as a pushbutton, and it even has an RGB LED integrated inside of it to give you feedback right on the knob!

Rotary Encoder with I2C Interface and RGB Lighting

Rotary Encoder Breakout with Pull-up Resistors

rotary1.jpg

This breakout board designed in KiCad makes it easy to put a rotary encoder and pull-up resistors on a breadboard.  (Thanks to Enrico for the idea to add pull-up resistors).  The footprints on the back are meant for 1206 SMD resistors.  I choose 1K Ohm resistors, marked 102, when I assembled this board.

Additional photos are available in the GitHub repo’s images directory and in a Google Photos gallery.

Here is the OSH Park shared project for the board:

Rotary Encoder Breakout with Pull-ups

Screenshot from 2017-04-04 15-55-27

Order from OSH Park

The KiCad design files are available on GitHub:

github-smallpdp7/rotary-encoder-breakout

white

I used this KiCad symbol and footprint by Mike Cousins for a Sparkfun rotary encoder:

github-smallmcous/kicad-lib

white

I’ve verified that these rotary encoders fit:

I wrote this Arduino sketch to run on the Teensy 3.2.  The brightness of one LED is controlled by the rotary encoder knob.  The other LED is turns on when the rotary encoder knob is pressed down:

arduino-smallrotary-encoder-test.ino

white

Here’s a video of the breakout board being used with a Bourns PEC12R-4220F-S0024 and Teensy 3.2:

Rotary Encoder Breakout with Pull-up Resistors

Rotary Encoder Breakout Board

UPDATE: Check out the new version with pull-up resistors

img_20170211_233051

I designed this simple breakout board in KiCad to make it easier to put a rotary encoder on a breadboard.   The KiCad symbol and footprint for the SparkFun rotary encoder was created by mcous on GitHub.  I used an updated version with corrected pin numbering.

img_20170211_230723

Here are the rotary encoders that I’ve verified to fit:

img_20170211_233439

The design files are available on GitHub:

Screenshot at 2017-02-14 20-58-40.png pdp7/rotary-encoder-breakout

The board is shared on OSH Park:

SparkFun Rotary Encoder Breadboard Adapter

e1911a0b6c7595c4cd7a05c4806f83bf.png

Order from OSH Park

Rotary Encoder Breakout Board