SparkFun
SparkFun 16 Output I/O Expander Breakout - SX1509
Are you low on I/O? No problem! The SX1509 Breakout is a 16-channel GPIO expander with an I2C interface – that means with just two wires, your microcontro...
Are you low on I/O? No problem! The SX1509 Breakout is a 16-channel GPIO expander with an I2C interface – that means with just two wires, your microcontroller can interface with 16 fully configurable digital input/output pins. But the SX1509 can do so much more than just simple digital pin control. It can produce PWM signals, so you can dim LEDs. It can be set to blink or even breathe pins at varying rates. This breakout is similar to a multiplexer or “mux,” in that it allows you to get more IO from less pins. And, with a built-in keypad engine, it can interface with up to 64 buttons set up in an 8x8 matrix.
Two headers at the top and bottom of the breakout board function as the input and control headers to the board. This is where you can supply power to the SX1509, and where your I2C signals – SDA and SCL – will terminate. GPIO and power buses are broken out in every-which direction, and configurable jumpers cover most of the rest of the board.
Since the I/O banks can operate between 1.2V and 3.6V (5.5V tolerant) independent of both the core and each other, this device can also work as a level-shifter. The SX1509 breakout makes it easy to prototype so you can add more I/O onto your Arduino or I/O limited controller. We’ve even spun up an Arduino Library to get you started!
Features:
- Enable Direct Level Shifting Between I/O Banks and Host Controller
- 5.5V Tolerant I/Os, Up to 15mA Output Sink on All I/Os
- Integrated LED Driver with Intensity Control
- On-Chip Keypad Scanning Engine Supports Up to 8x8 Matrix (64 Keys)
- 16 Channels of True Bi-directional Style I/O
- 400kHz I2C Compatible Slave Interface
Documents:
- Schematic
- Eagle Files
- Hookup Guide
- Datasheet
- GitHub (Design Files)
- GitHub (Library)
Jargon buster
Plain-language definitions for the technical terms used above.
- breakout
- A breakout is a small circuit board that makes a tiny or hard-to-solder component easier to connect to with standard pins. It matters because this OLED module can be wired into a microcontroller project without needing to solder directly to the display’s fine contacts.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- Headers
- Rows of metal pins used to plug a module into a breadboard or connect it with jumper wires. Pre-soldered headers make the module easier to use straight away without needing to solder the pins yourself.
- LED driver
- An LED driver is a control chip or circuit that supplies and switches power to LEDs. For a display board, it reduces the number of microcontroller pins needed and handles tasks like lighting the right segments and adjusting brightness.
- microcontroller
- A microcontroller is a small computer on a chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
- multiplexer
- A multiplexer is a chip or board that lets one controller switch between several devices that would otherwise conflict on the same bus. It matters here because multiple modules with the same I2C address cannot normally share one I2C bus without extra hardware.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
Find this product in
SX1509 Breakout Schematic
Schematic · 112.6 KB · Click any page to view full size
SX1509 Datasheet
Datasheet · 727.4 KB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 665.9 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Related Tutorials
Free guides on learn.littlebird.com.au