EXT.IO2

SKU:U011-B

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.

Product 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

Included

  • 1x EXT.IO2 UNIT
  • 1x HY2.0-4P cable

Applications

  • IO Expansion
  • Servo Control
  • Multiple lighting control
  • Multiple analog signal acquisition

Specifications

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

Pin Mapping

M5Core(PORT A) GPIO22 GPIO21 5V GND
EXT.IO2 Unit SCL SDA 5V GND

Schematics

Protocol

Example

Arduino

UIFlow example

  • Digital Input

  • Analog Input

  • Digital Output

  • Servo Control

  • RGB LED

UIFlow

Init:

  • Init Device

  • set config mode pin

Read:

  • get config mode

  • read digital input

  • read ADC 8bit

  • read ADC 12bit

  • read servo angle

  • read servo pulse

  • read RGB LED

  • read status

Write:

  • write digital output

  • write servo angle

  • write servo pulse

  • write RGB LED

  • write I2C Address

Firmware

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