Add oodles of extra analog-friendly input and output pins to your Raspberry Pi (or Raspberry Pi Pico) project!
This breakout uses a clever Nuvoton MS51 microcontroller and some I2C magic to give you a whopping 14 additional input/output pins to connect things up to. Eight of the pins are hooked up to an Analog to Digital Converter so you can easily use old skool analog sensors with your Raspberry Pi, as well as passive components that use an analog signal (like light dependent resistors).
Six of the pins can be used as (up to 16-bit) PWM outputs - great for controlling devices that require a simulated analog output, like servos or non-addressable LEDs.
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 super easy to use several different breakouts at the same time. Why not couple it with one of of our teeny display breakouts to show the results from all those lovely sensors?
What's new? ✨
Breakouts made after August 2023 have the long side of the pin headers pointing out of the back of the breakout instead of the front - this is so we can do one sided assembly, which makes our production team happy.
- Nuvoton MS51 microcontroller with inbuilt 12-bit ADC (datasheet)
- I2C interface, with a default address of 0x18
- Max I2C speed 400kHz
- 3.3V or 5V compatible
- Reverse polarity protection (input side only)
- Raspberry Pi-compatible pinout (pins 1, 3, 5, 7, 9)
- Compatible with all models of Raspberry Pi (Python library)
- Compatible with Raspberry Pi Pico (C++/MicroPython libraries).
Technical Reference Manual
- IO Expander Breakout
- 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).
You can also use this breakout with Raspberry Pi Pico and other RP2040 boards, using C++ or Pirate brand MicroPython.
- The default I2C address is 0x18, but it's possible to change this in software if you'd like to use multiple IO Expanders, 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: 26x24.5x12mm (LxWxH)
IO Expander Breakout
Shop with confidence – we've been serving the hobbyist electronics, Maker, and retro gaming communities since 2012.
- Satisfaction or refund guarantee
- Worldwide shipping via mail or courier
- 52,000+ customer reviews
- Secure website and payments