EasyLoader (beta)

Current Product Don't Have Test Firmware

Note: pls, use PC chrome/edge browser, if can't connect, refresh the webpage.

1. Click connect button

2. After connected successfully, pick a firmware

3. Click the burn button

4. After burning successfully, Unplug the device and restart.

0%

STAMP IO

SKU:S002

Description

STAMP IO is an IO expansion board based on STM32F030 main controller, using I2C communication interface, providing 8 IO expansion. Each IO supports independent configuration of digital input/output, ADC, SERVO control, RGB LED control modes. Suitable for multi-channel digital/analog signal acquisition, and lighting/servo control applications.

Product Features

  • 8-channel input and output expansion.
    • Digital input/output
    • ADC input
    • SERVO control (PWM)
    • RGB LED control
  • I2C communication interface:
    • Supports configuration of I2C address
  • Multiple soldering options
    • Three types soldering options are available (SMT, DIP, Jumper wire),
    • With high-temperature resistant plastic enclosure, Peak temperature = 230℃

Included

  • 1x STAMP IO
  • 1x HY2.0-4P female connector (red)
  • 1x Hex key 1.5mm

Applications

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

Applications

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

Specifications

Specification Parameters
MCU STM32F030
I2C Address 0x45(default)
Number of IO expansions 8
IO Support Mode Digital I/O, ADC, SERVO control, RGB LED control
IO Support Input/Output Levels 3.3V
Net Weight 2.5g
Gross Weight 4.3g
Product Size 15*4.7*16mm
Package Size 93*138mm

Schematics

The housing support reflow soldering

Example

Arduino

Firmware

Communication protocols

MODE CONFING

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

FAQ

Q1: How do I remove the speaker floor noise when the M5Core is on or running?

Execute the following statement in Setup() of the Arduino program

Q2: How does M5Core2 stack modules?

When M5Core2 is stacked with other M5 modules, you need to remove the battery base of Core2, which does not support module stacking.

Q3: A timeout error is displayed when uploading the program to the device

Reason and solution: The power supply current of the port is insufficient, which can cause the device to not enter the download mode normally. You can try to connect a capacitor (>0.1uF) between the RST pin and the GND pin, or when uploading the program, set the G0 Short-circuit to GND, so that G0 can be set to a low level state normally

Q4: How to solve the phenomenon of automatic signal triggering of M5Core button A

Add the header file #include <driver/adc.h> and the function adc_power_acquire(); in the Arduino program

Q5: M5 device battery life

The battery life of the controller is affected by various factors such as battery capacity, operating status, and load, so there is no fixed value. Reducing the load and adopting a sleep strategy can effectively increase the battery life.

Q6: Can multiple modules with batteries be stacked at the same time?

Support multiple stacks, the total capacity of the batteries in parallel increases, and the voltage remains unchanged. However, since the discharge of each battery is not balanced during use, there is a voltage difference between the batteries, which may cause the battery to charge backwards. .(will lose part of the battery capacity)

Q7: M5 master supports WiFi connection to 5G frequency band

ESP32 module currently does not support WiFi in 5G band, only 2.4G.

Q8: The RS485 device cannot communicate normally/data is garbled. Packet loss, etc.

Confirm whether the TX/RX pin on the TTL side of the pin is correct, try to add two 120Ω terminal resistors at the beginning and end of the device line to reduce signal reflection interference

Q9: The difference between different masters and camera products

Click the link below to view the product comparison table

Q10: M5 camera image blur, how to adjust the focal length

Rotate the lens to adjust the focal length within a certain range

Q11: The control RGB LED pin of FACE II BOTTOM conflicts with the I2S DOUT pin of CORE2

FACE II BOTTOM NOT CORE2 COMPATIBLE

Q1: How to read the programmed firmware?

Use esptool to read the flash content of esp32 and export the bin file. Refer to the detailed operation

Q2: Several solutions for esp32 board download failure in Arduino IDE board management

Restart the Arduino IDE, the computer uses the mobile AP mobile network to download.

Method 3: Download the resource package provided by M5Stack for direct installation, and extract the contents to the board management path of Arduino, such as (C:\Users\Sean\AppData\Local\Arduino15\packages), https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/packages/m5stack_v2.0.0.zip
Q3: Arduino SPIFFS file upload operation

Refer to the Github link below, use arduino-esp32fs-plugin for file upload

Q4: When M5Burner burns firmware, an error pop-up window or exception occurs

Check if the COM of the corresponding device is selected and if the M5Burner is the latest version

Q5: Does the M5 master device support multi-language display (Chinese, English, Japanese, Russian, etc.)?

UIFlow users can switch the Label font to Unicode, Arduino users can use the Chinese font library provided in the M5GFX driver library

Q6: The program cannot load the SD card normally

Confirm whether the SD card format is FAT32, and no partitions exist.

Q7: How to use Bluetooth, HTTP, SD, WebServer, FreeRTOS and other features in Arduino IDE

You can refer to the following link for other ESP32 users to share the case program

Q8: How to download programs for STAMP C3U

STAMP C3U enters program download mode operation: 1. Long press the center button (G9) of STAMP C3U when the power is off. 2. Connect to the computer, after the port is successfully identified, program burning.

Q9: How STAMP C3U defines UART0 output mode

By default, USB CDC is not enabled, the serial port output started by C3U will be output through the default pins (G20, G21) of UART0. If you want to output through USB, please use the IDE to output Its USB CDC option is enabled. (Arduino users can enable it through Tools->USB CDC on Boot-Enabled. For IDF users, please refer to the ESP IDF official documentation.)

Q10: Unable to connect to UIFlow Desktop IDE

Refer to the UIFlow documentation of the corresponding device to check whether the device has entered the USB programming mode.

Q11: NBIoT devices cannot connect to the network normally

Make sure that the NBIoT used is not locked. Frequent device replacement or after activating the IoT card, using traffic in different places may cause the card to be locked. If the above situation occurs, please contact the IoT card supplier. If you are using the IoT card matching M5, please contact M5 after-sales through e-commerce or email. (provide the ICCID of the IoT card)

COMMON

Q1: Consultation for after-sales problems of products

Describe the problems encountered in detail. Screenshots of the programs involved or files can be added as attachments and sent to M5Stack's official after-sales email

Q2: Code Resources, Cases, User Communication