* All questions and comments are approved by a system administrator before re-posting to our FAQ product sections.
MCP23017-E/SP I/O Expander 28-Pin
The MCP23017-E/SP I/O Expander 28-Pin device provides 16-bit, general-purpose, parallel I/O expansion for I2C bus applications. This device includes high-current drive capability, low supply current and individual I/O configuration. I/O expanders provide a simple solution when additional I/Os are needed for ACPI, power switches, sensors, pushbuttons, LEDs and so on. The MCP23017 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the I/O configuration bits. The data for each input or output is kept in the corresponding input or output register.
The way that you hook the chip up to your breadboard will depend on the package you use (8-pin MCP23008 or 16-pin MCP23017). The pinouts are quite different between the two chips, so check the datasheet carefully first.
Since these io expander chips use i2c to communicate, you can theoretically power them from 5V while still connecting the i2c data lines to a 3.3V device like the pi. That’s because the Pi has two i2c resistors that pull up SDA/SCL to 3.3V. Just make sure not to connect any resistors to SDA/SCL to 5V and you can power the chip from 5V (and have 5V input/output on the MCP chip). It’s also fine of course to power the MCP chip from 3.3V but the 5V line on the Pi has the more current capability so you might find it’s better to go that way.
BUT if your Pi power supply drifts a little higher than 5V, it might stop being able to register the 3.3V signal. So we recommend starting with 3.3V, and if you need 5V GPIO signalling on the MCP expander, try swapping the red wire to 5.0V
You can compare the two pinouts below to figure out how the 8-pin package should be hooked up depending on the pin names:
You’re free to hook anything you want up to the 8 or 16 GPIO pins, but LEDs are used here since most people have one or two lying around and it’s an easy way to verify the pin outputs. Be sure to connect a resistor in series to GND, though, to prevent the LED from burning out (if you don’t know what value or the details of your LED try something large like 1K to start with).
Here’s a quick video of the setup I was using during testing and development. An MCP23017 is used here, running out to a mixed-signal oscilloscope with an 8-channel logic analyzer (ergo the white clip-ons on all the GPIO pins).
Extra GPIO for your Raspberry Pi – Hardware setup
400 Tie Point Solderless Breadboard
Weight | 0.008 kg |
---|---|
Dimensions | 4 × 1.5 × 1.5 cm |
SKU | Product | Type | Download/View |
---|---|---|---|
TS-C017 | MCP23017-E/SP I/O Expander 28-Pin - MCP23017 | Datasheet | Download |
Tempero Systems offers many custom IoT electronic design services to help tailor our product to your exact needs. Whether you are looking for custom firmware, circuit board modifications, metal enclosures, or industrial color printing, we can help you with a wide variety of design services.
Please login or register to ask a question. Thanks
* All questions and comments are approved by a system administrator before re-posting to our FAQ product sections.