# Pimoroni IO Expander Breakout

**Type:** Product page · **SKU:** PIM517 · **Brand:** [Pimoroni](https://core-electronics.com.au/brands/pimoroni-australia) · **GTIN:** 769894015940
**Page:** https://core-electronics.com.au/pimoroni-io-expander-breakout.html ([markdown](https://core-electronics.com.au/pimoroni-io-expander-breakout.html.md))

Add oodles of extra analog-friendly input and output pins to your Raspberry Pi project!

## Pricing

- **Price:** $16.45 (inc GST) — $14.95 AUD, exc GST
- **Quantity discounts:** 10+ $14.35 (exc GST) · 25+ $13.91 (exc GST)

## Availability & dispatch

- In stock, ships same business day if ordered before 2PM (Australia/Sydney).
- We can dispatch 1 today, and up to 100 more in 7–12 days.

## Description

Add oodles of extra analog-friendly input and output pins to your Raspberry Pi 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. It's an easy, affordable way to add an Analog to Digital Converter to a Raspberry Pi, so you can use old skool analog sensors, as well as passive components that use an analog signal (like light dependent resistors). If you'd rather, you can just use these pins as extra digital IO.

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 the fancy solderless [Breakout Garden](https://core-electronics.com.au/pimoroni-breakout-garden-hat-i2c-spi.html), which makes it super easy to use several different breakouts at the same time. Why not couple it with one of the[ teeny display breakouts](https://core-electronics.com.au/1-12-mono-oled-128x128-white-black-breakout.html) to show the results from all those lovely sensors?

**Features**

- [Nuvoton MS51 microcontroller](https://www.nuvoton.com/products/microcontrollers/8bit-8051-mcus/industrial-8051-series/ms51xb9ae/?__locale=en) with inbuilt 12-bit ADC
- I2C interface, with a default address of 0x18
- 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](https://github.com/pimoroni/ioe-python)
- [Datasheet](https://core-electronics.com.au/attachments/localcontent/DS_MS51_16KBFlash_Series_EN_Rev1_12226d2564a.pdf)

**Kit includes**

- IO Expander Breakout
- 1x5 straight male header
- 1x5 right angle female header

This board has been designed 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**
Pimoroni has put together a [Python library](https://github.com/pimoroni/ioe-python) (with a quick and painless one-line-installer) to use with your IO Expander, together with some handy [examples ](https://github.com/pimoroni/ioe-python/tree/master/examples)that show you how to interact with different kinds of devices.

**Notes**

- 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)

## Images

- [Product image 1](https://core-electronics.com.au/media/catalog/product/i/o/ioexpander_1of1_large.jpg)
