Raspberry Pi HAT - 32 I/O Port Expander - MCP23017 - I2C - Kit Edition

The Raspberry Pi HAT - 32 I/O Port Expander Kit Edition is a 32 Input/Output digital expansion board designed for use on the Raspberry Pi A+, Raspberry Pi B+, Raspberry Pi 2 Model B, Raspberry Pi 3 Model A, Raspberry Pi 3 Model B, and Raspberry Pi 4 Model B. This is a kit edition, in order to assemble it, you only need a soldering iron and a Tin/Lead solder wire.

The Raspberry Pi HAT - 32 I/O Port Expander Kit Edition  (RPI-32IO-PEBK) is a 32 Input/Output digital expansion board designed for use on the Raspberry Pi A+, Raspberry Pi B+, Raspberry Pi 2 Model B, Raspberry Pi 3 Model A, Raspberry Pi 3 Model B, and Raspberry Pi 4 Model B. The board use two Microchip MCP23017 16-bit I/O expander, allowing you to connect up to 32 digital inputs or outputs to the Raspberry Pi. The RPI-32IO-PEBK is connected to Raspberry Pi using a 20x2 GPIO connector with extended pins that allow you to stack many extension boards in a single Raspberry Pi.

You can select the I2C address using the on-board 3bits switches (ON=0 the pin is grounded, OFF=1 the pin is pull up to 5V). The MCP23017 supports up to 8 different I2C addresses as follow:

0x20  0x21  0x22  0x23  0x24  0x25  0x26  0x27 

Due to there are two MCP23017 per board you are allowed to stack up to four RPI-32IO-PEBK boards on a single Raspberry Pi for a maximum of 128 I/O ports.

The right angle headers allow you to connect the I/Os while the boards are stacked.

The RPI-32IO-PEBK may be powered thru a 5V input polarized male connector (female cable to connect external supply included) or thru the Raspberry Pi GPIO 5V pins.

If you use the first option you can power the Raspberry Pi shorting the "Back PWR" jumper or isolate the Pi and RPI-32IO-PEBK keeping it open. In order to power the RPI-32IO-PEBK thru the Raspberry Pi GPIO 5V pins the "Back PWR" jumper must be shorted.

Use of an external supply is recommended when you connect more than one RPI-32IO-PEBK boards to your Raspberry Pi.

Specifications

Vdd (5V polarized input header without BACK PWR): 4.5V - 5.5V
All digital inputs and outputs: 0 - Vdd
Maximum current on a single I/O Pin (sourced or sunk): 25 mA
Maximum current on each MCP23017 chip: 125 mA

Features

  • 32 Digital Inputs/Outputs
  • Based on the Microchip MCP23017 chip
  • Control via the Raspberry Pi I2C port
  • Selectable I2C addresses thru switches
  • Stackable, up to 4 boards per Raspberry Pi
  • Right angled headers for ease connection when stacked
  • All I/Os are 5V tolerant
  • Built in 3.3V to 5V shifter for Raspberry Pi I2C port protection
  • Powered thru a 5V polarized input header from an external supply
  • Raspberry Pi can be Back Powered or isolated thru a jumper
  • The board can be powered thru the Raspberry Pi GPIO 5V pins
  • Programmable AT24C64 EEPROM for Raspberry Pi HAT compliant
  • Right angled header for 5V tolerant I2C port (SCL and SDA)

Demo Codes and schematics

You can download all of the libraries and schematics from github at:

https://github.com/nationelectronics/

To download the C libraries to your Raspberry Pi type in terminal:

git clone https://github.com/nationelectronics/nationelectronics_C_libraries.git

To download the schematics:

git clone https://github.com/nationelectronics/nationelectronics_schematics.git

Recommendations for the assembly of the board

http://www.nationelectronics.com/content/12-kit

Other purchase options

You can buy this item at Amazon

https://www.amazon.com/dp/B01N27A7TT

Other resources

Electronics Primer: How to Solder Electronic Components

Enabling The I2C Interface On The Raspberry Pi

Interfacing an I2C GPIO expander (MCP23017) to the Raspberry Pi using C++

Interfacing with I2C Devices

Wikipedia I2C (Inter-Integrated Circuit)

MCP230xx GPIO Expander on the Raspberry Pi

How To Use A MCP23017 I2C Port Expander With The Raspberry Pi – Part 1

Microchip MCP23017 DATASHEET