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!
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 8 ratings:
1 of 2 found this helpful:
Might be nice for hard wiring, but the same length board could be had much better pin-outs for breadboard. Could have been narrower also.
Does everything I expect and very helpful for adding more digital Input and output to a controller that requires more.
This little breakout can seem intimidating because of how versatile it is. It is actually surprisingly easy to use. This has been the perfect addition to my ESP8266 projects. Just make sure you keep your breadboard and circuit boards in mind when soldering headers. For such a small breakout, this is a powerhouse of options. Build quality is exactly what you would expect from Sparkfun; spectacular. You won't be disappointed.
Works great. Library installed and worked perfectly the first time. Easy to use.
The pins are clearly labeled and the tutorial explains everything with nice pictures.
I was skeptical of this at first, thinking it may be overly complicated. I am happy to say my concerns were unfounded. Download the library and make minor changes to your code and everything works great!
Compact for embedding - very flexible i/o configurations open up many possibilities. Well designed. I only wish the i2c addressing was greater 4,5 even 6 bit.
Turn 16 switches into just 4 I2C wires? Yes please!
I own a ton of these to make custom keypads (12 key switches) and they are awesome! Coding is easy.