From Jeremy S. Cook on the Tindie blog:
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!
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!
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:
The KiCad design files are available on GitHub:
I used this KiCad symbol and footprint by Mike Cousins for a Sparkfun rotary encoder:
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:
Here’s a video of the breakout board being used with a Bourns PEC12R-4220F-S0024 and Teensy 3.2:
UPDATE: Check out the new version with pull-up resistors
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.
Here are the rotary encoders that I’ve verified to fit:
The design files are available on GitHub:
The board is shared on OSH Park: