M5Stack Extend I/O 2 Unit


Description

EXT.IO2 is an IO extended unit, based on STM32F030 main controller, using I2C communication interface and providing 8 IO expansion. Each IO supports independent configuration of digital I/O, ADC, SERVO control, RGB LED control modes. Supports configuration of device I2C address, which means that users can mount multiple EXT.IO2 UNITs on the same I2C BUS to extend more IO resources. Suitable for multiple digital/analog signal acquisition, with lighting/servo control applications.

Features

  • 8-channel input and output expansion.

    • Digital I/O

    • ADC input

    • SERVO control (PWM)

    • RGB LED control

  • I2C communication interface:

    • Supports configuration of I2C address

Applications

  • IO Expansion

  • Servo Control

  • Multiple lighting control

  • Multiple analog signal acquisition

Specifications

Specifications
Parameters

MCU

STM32F030

I2C Address

0x45(default)

Number of IO extensions

8

IO interface PIN spacing

2.54mm

IOSupport Mode

Digital input/output, ADC, SERVO control, RGB LED control

IO Input/Output Level Support

3.3V

Net Weight

5g

Gross Weight

13g

Product Size

32*24*11mm

Package Size

93*138mm

Pin Mapping

M5Core(PORT A)
GPIO22
GPIO21
5V
GND

EXT.IO2 Unit

SCL

SDA

5V

GND

Schematics

Protocol

Communication protocols

MODE CONFIG

REG
DESC
LEN
R/W

0x00

MODE_CH_1

1 BYTE

R/W

0x01

MODE_CH_2

1 BYTE

R/W

0x02

MODE_CH_3

1 BYTE

R/W

0x03

MODE_CH_4

1 BYTE

R/W

0x04

MODE_CH_5

1 BYTE

R/W

0x05

MODE_CH_6

1 BYTE

R/W

0x06

MODE_CH_7

1 BYTE

R/W

0x07

MODE_CH_8

1 BYTE

R/W

  • Value:

DIGITAL_INPUT_MODE=0 
DIGITAL_OUTPUT_MODE=1 
ADC_INPUT_MODE=2
SERVO_CTL_MODE=3 
RGB_LED_MODE=4
 

DIGITAL INPUT/OUTPUT

REG
DESC
LEN
R/W

0x10

OUTPUT_CTL_REG_CH_1

1 BYTE

W

0x11

OUTPUT_CTL_REG_CH_2

1 BYTE

W

0x12

OUTPUT_CTL_REG_CH_3

1 BYTE

W

0x13

OUTPUT_CTL_REG_CH_4

1 BYTE

W

0x14

OUTPUT_CTL_REG_CH_5

1 BYTE

W

0x15

OUTPUT_CTL_REG_CH_6

1 BYTE

W

0x16

OUTPUT_CTL_REG_CH_7

1 BYTE

W

0x17

OUTPUT_CTL_REG_CH_8

1 BYTE

W

0x20

DIGITAL_INPUT_REG_CH_1

1 BYTE

R

0x21

DIGITAL_INPUT_REG_CH_2

1 BYTE

R

0x22

DIGITAL_INPUT_REG_CH_3

1 BYTE

R

0x23

DIGITAL_INPUT_REG_CH_4

1 BYTE

R

0x24

DIGITAL_INPUT_REG_CH_5

1 BYTE

R

0x25

DIGITAL_INPUT_REG_CH_6

1 BYTE

R

0x26

DIGITAL_INPUT_REG_CH_7

1 BYTE

R

0x27

DIGITAL_INPUT_REG_CH_8

1 BYTE

R

  • Value:

HIGH:1 / LOW:0
 

8B ANALOG INPUT

REG
DESC
LEN
R/W

0x30

ANALOG_INPUT_8B_REG_CH_1 Value: 0-255

1 BYTE

R

0x31

ANALOG_INPUT_8B_REG_CH_2 Value: 0-255

1 BYTE

R

0x32

ANALOG_INPUT_8B_REG_CH_3 Value: 0-255

1 BYTE

R

0x33

ANALOG_INPUT_8B_REG_CH_4 Value: 0-255

1 BYTE

R

0x34

ANALOG_INPUT_8B_REG_CH_5 Value: 0-255

1 BYTE

R

0x35

ANALOG_INPUT_8B_REG_CH_6 Value: 0-255

1 BYTE

R

0x36

ANALOG_INPUT_8B_REG_CH_7 Value: 0-255

1 BYTE

R

0x37

ANALOG_INPUT_8B_REG_CH_8 Value: 0-255

1 BYTE

R

12B ANALOG INPUT

REG
DESC
LEN
R/W

0x40

ANALOG_INPUT_12B_REG_CH_1 Value: 0-4095

2 BYTE

R

0x42

ANALOG_INPUT_12B_REG_CH_2 Value: 0-4095

2 BYTE

R

0x44

ANALOG_INPUT_12B_REG_CH_3 Value: 0-4095

2 BYTE

R

0x46

ANALOG_INPUT_12B_REG_CH_4 Value: 0-4095

2 BYTE

R

0x48

ANALOG_INPUT_12B_REG_CH_5 Value: 0-4095

2 BYTE

R

0x4A

ANALOG_INPUT_12B_REG_CH_6 Value: 0-4095

2 BYTE

R

0x4C

ANALOG_INPUT_12B_REG_CH_7 Value: 0-4095

2 BYTE

R

0x4E

ANALOG_INPUT_12B_REG_CH_8 Value: 0-4095

2 BYTE

R

SERVO ANGLE CTL

REG
DESC
LEN
R/W

0x50

SERVO_ANGLE_8B_REG_CH_1 Value: 0-180deg

1 BYTE

R/W

0x51

SERVO_ANGLE_8B_REG_CH_2 Value: 0-180deg

1 BYTE

R/W

0x52

SERVO_ANGLE_8B_REG_CH_3 Value: 0-180deg

1 BYTE

R/W

0x53

SERVO_ANGLE_8B_REG_CH_4 Value: 0-180deg

1 BYTE

R/W

0x54

SERVO_ANGLE_8B_REG_CH_5 Value: 0-180deg

1 BYTE

R/W

0x55

SERVO_ANGLE_8B_REG_CH_6 Value: 0-180deg

1 BYTE

R/W

0x56

SERVO_ANGLE_8B_REG_CH_7 Value: 0-180deg

1 BYTE

R/W

0x57

SERVO_ANGLE_8B_REG_CH_8 Value: 0-180deg

1 BYTE

R/W

SERVO PULSE CTL

REG
DESC
LEN
R/W

0x60

SERVO_PULSE_16B_REG_CH_1 Value: 500-2500us

2 BYTE

R/W

0x62

SERVO_PULSE_16B_REG_CH_2 Value: 500-2500us

2 BYTE

R/W

0x64

SERVO_PULSE_16B_REG_CH_3 Value: 500-2500us

2 BYTE

R/W

0x66

SERVO_PULSE_16B_REG_CH_4 Value: 500-2500us

2 BYTE

R/W

0x68

SERVO_PULSE_16B_REG_CH_5 Value: 500-2500us

2 BYTE

R/W

0x6A

SERVO_PULSE_16B_REG_CH_6 Value: 500-2500us

2 BYTE

R/W

0x6C

SERVO_PULSE_16B_REG_CH_7 Value: 500-2500us

2 BYTE

R/W

0x6E

SERVO_PULSE_16B_REG_CH_8 Value: 500-2500us

2 BYTE

R/W

RGB LED CTL

REG
DESC
LEN
R/W

0x70

RGB_24B_REG_CH_1:RGB 888

3 BYTE

R/W

0x73

RGB_24B_REG_CH_2:RGB 888

3 BYTE

R/W

0x76

RGB_24B_REG_CH_3:RGB 888

3 BYTE

R/W

0x79

RGB_24B_REG_CH_4:RGB 888

3 BYTE

R/W

0x7C

RGB_24B_REG_CH_5:RGB 888

3 BYTE

R/W

0x7F

RGB_24B_REG_CH_6:RGB 888

3 BYTE

R/W

0x82

RGB_24B_REG_CH_7:RGB 888

3 BYTE

R/W

0x85

RGB_24B_REG_CH_8:RGB 888

3 BYTE

R/W

Note: Do not write to the I2C address configuration register repeatedly at high frequency.

CONFIG

REG
DESC
LEN
R/W

0xFE

FW VERSION

1 BYTE

R

0xFF

I2C ADDR CONFIG (warn: Repeated writing may cause partition damage)

1 BYTE

R/W

Model Size

Compatible

Last updated