OSHPARK
  • About Us
  • Services
  • Support
  • Sharing
  • Log in
  • Sign up
  • OSHPARK
  • About Us
  • Services
  • Support
  • Sharing
  • Log in

GPIO Expander - Arduino Shield

author: bwshockley
Top
Bottom

2 layer board of 2.25 x 2.10 inches (57.2 x 53.4 mm)
Uploaded: September 25, 2015
Shared: September 25, 2015
Total Price: $23.60

GPIO Expander - Arduino Shield

16 Channel general purpose IO expander for Arduino Uno R3 boards. Provides higher current (500mA) and voltages (50V) per pin than Arduino. Voltage via Vin from Arduino or separate DCC jack - up to 50V and 500mA per pin. This uses the i2c interface, which is shared, so does not utilize any of the dedicated I/O pins of the Arduino. Each board is addressable via jumpers for up to 8 expanders on one Arduino plus possibly additional i2C devices depending on the addresses.

BOM:

1x MCP23017 - Microchip MCP23017-E/SP - Mouser Part

2x ULN2803A - STMicroelectronics - Mouser Part

1x CUI Inc PJ-202A - Sparkfun PRT-00119 (Optional - Only needed if you plan to NOT use Vin from Arduino Uno)

Optional Shield Stacking Headers - Useful to stack shield with other shield - not that all pins are transferred up to next shield.

1x - Shield Stacking Headers Kit - Adafruit

Optional male pins for jumpers for board - since the spacing is standard .1 inch (2.54mm) there are many options.

2x 2x5 90deg Header - suggested 90 deg headers for outputs if stacking shields - Mouser Part

4x Jumpers - Mouser Part

1x 1x12 Header - Break into 4x 1x3 for A0, A1, A2, Power Selectors Mouser Part

Arduino Library

Use the Adafruit MCP23017 library for this i2c connector.

Source Files

Eagle .brd and .sch files on github

GPIO Expander - Arduino Shield

16 Channel general purpose IO expander for Arduino Uno R3 boards. Provides higher current (500mA) and voltages (50V) per pin than Arduino. Voltage via Vin from Arduino or separate DCC jack - up to 50V and 500mA per pin. This uses the i2c interface, which is shared, so does not utilize any of the dedicated I/O pins of the Arduino. Each board is addressable via jumpers for up to 8 expanders on one Arduino plus possibly additional i2C devices depending on the addresses.

BOM:

1x MCP23017 - Microchip MCP23017-E/SP - Mouser Part

2x ULN2803A - STMicroelectronics - Mouser Part

1x CUI Inc PJ-202A - Sparkfun PRT-00119 (Optional - Only needed if you plan to NOT use Vin from Arduino Uno)

Optional Shield Stacking Headers - Useful to stack shield with other shield - not that all pins are transferred up to next shield.

1x - Shield Stacking Headers Kit - Adafruit

Optional male pins for jumpers for board - since the spacing is standard .1 inch (2.54mm) there are many options.

2x 2x5 90deg Header - suggested 90 deg headers for outputs if stacking shields - Mouser Part

4x Jumpers - Mouser Part

1x 1x12 Header - Break into 4x 1x3 for A0, A1, A2, Power Selectors Mouser Part

Arduino Library

Use the Adafruit MCP23017 library for this i2c connector.

Source Files

Eagle .brd and .sch files on github

Top
Bottom
  • Actions

      Ordering shared project

      Hey there! Before ordering, make sure you have all the info you need to complete and use this design. This usually means a component list, and sometimes additional information such as assembly notes, source code, or usage guides.
      Since this is a project designed by a community member, it may contain design errors that prevent it from working as intended. OSH Park cannot place any guarantees about the functionality or correctness of the design.
      Order Board
    • Order Board
    • Download
    • Permalink
    • Embed link
Embeddable link to order this shared Project
  • COMPANY
  • About Us
  • Blog
  • Shop
  • SERVICES
  • Upload Your File
  • Prototypes
  • HELP
  • Support
  • If you can't find what you're looking for, please contact us at [email protected]
  • CONNECT
  • Shared Projects
  • Log in / Sign up
Whaleshark white
Follow us
© Copyright 2025 OSH Park, LLC | Privacy