RGB Encoder Breakout

by Pimoroni

Add a colourful light-up dial and spin your Raspberry Pi project right round!

This I2C breakout uses its clever Nuvoton microcontroller to let you easily incorporate a digital rotary encoder into your project. It's possible to directly control the RGB LED inside the encoder - meaning it's great for using as an input device which can also show you a colour coded visual status (like a LED lighting controller, or a synth wave generator). The encoder has a smooth but satisfyingly clicky action.

Encoders have a unlimited range of motion and are good for dials that need to spin round continuously - if you'd prefer one that has a start and an end, check out our RGB Potentiometer Breakout

You can attach it to your Pi's GPIO directly or via a breadboard with the included headers, but it's also compatible with our fancy solderless Breakout Garden, which makes it easy to use several different breakouts at the same time.

Features

Kit includes

  • RGB Encoder Breakout (pre-assembled)
  • 1x5 straight male header
  • 1x5 right angle female header

We've designed this breakout board so that you can solder on the piece of right angle female header and pop it straight onto the bottom left 5 pins on your Raspberry Pi's GPIO header (pins 1, 3, 5, 7, 9).

Software

RGB Encoder Breakout uses the same Python library as our IO Expander Breakout - this example shows you how to read the encoder and control the lights.

You can also use this breakout with Raspberry Pi Pico and other RP2040 boards, using C++ or Pirate brand MicroPython.

Chris has kindly added support for the Potentiometer and Encoder breakouts to his Arduino port of our IO Expander library.

Notes

  • The default I2C address is 0x0F, but it's possible to change this in software if you'd like to use multiple RGB Encoder Breakouts, or avoid conflicts with other I2C devices. The new address will be saved in flash memory, so will persist if unpowered.
  • This board uses a Nuvoton MCU with our custom firmware but if you're brave and hackerly, you can substitute your own firmware to change the way this board works and have a super cheap and capable microcontroller (though this is not for the faint of heart!)
  • Dimensions: approx 25x22x28mm (LxWxH)