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.
Specification | 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 |
M5Core(PORT A) | GPIO22 | GPIO21 | 5V | GND |
---|---|---|---|---|
EXT.IO2 Unit | SCL | SDA | 5V | GND |
Init:
Read:
Write:
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 |
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 |
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 |
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 |