EXT.IO is a GPIO Expander. With simple I2C commands it's possible to extend the GPIO pins for up to 8 extra GPIOs.

The EXT.IO Integrates the PCA9554PW chipset. This 8-bit I/O expander for the two-line bi-directional-bus (I2C) is designed for 2.3-V to 5.5-V VCC • with Open-Drain Active-Low Interrupt Output operation.

It provides general-purpose remote I/O expansion for most microcontroller families via the I2C interface.

I2C address by default is 0x27, unless changed manually.

It’s difficult to foresee the needs of your project from the start. EXT.IO is the perfect solution for expanding the number of IO. It allows you to add new features, logic, timing and sensing to already highly integrated designs.

Product Features

  • Expanded I/O number: 8
  • GROVE interface, support UIFlow and Arduino
  • Two Lego-compatible holes


  • 1x EXT.IO Unit
  • 1x Grove Cable


Resources Parameter
I2C address 0x27
I/O Number of expansions 8
Net weight 5g
Gross weight 16g
Product Size 32*24*11mm
Package Size 67*53*12mm


download EasyLoader

1.EasyLoader is a simple and fast program burner. Every product page in EasyLoader provides a product-related case program. It can be burned to the master through simple steps, and a series of function verification can be performed. .

  1. After downloading the software, double-click to run the application, connect the M5 device to the computer through the data cable, select the port parameters, click "Burn" to start burning. (For M5StickC burning, please Set the baud rate to 750000 or 115200)
  1. Currently EasyLoader is only suitable for Windows operating system, compatible with M5 system adopts ESP32 as the control core host. Before installing for M5Core, you need to install CP210X driver (you do not need to install with M5StickC as controller) Click here to view the driver installation tutorial




With reference to the schematic diagram and the PCA9554PW data sheet, the Unit can modify the I2C address of the device by controlling the level combination of the A0~A2 pins. (The default address is 0x27, please check the datasheet for more information) There are three chip resistance welding positions reserved on the PCB of the Unit, which are A0-A2 (R6-R8), as shown in the following figure.



To get the complete code, please click here


Feature Introduction

Expand IO interface through I2C, read and write level operation.

  • set mode All pins are set to input or output mode

  • set pin mode Set input or output separately

  • digitWrite Port Control pin status, 1 bit per pin

  • digitWrite Pin Individual control of pin status

  • digitRead Pin Read the specified pin status

  • digitRead Port Read all pin states


To get the complete code, please click here

Last updated: 2020-12-11