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.





ATOM DTU NB is a programmable data transmission unit (DTU) that integrates NB-IoT communication functions. The built-in SIM7020G module covers most of the Cat-NB frequency bands and integrates the SMA external antenna interface to improve the communication quality and signal stability of the device. Unlike the DTU, which generally only has the function of data transparent transmission, the ATOM DTU series adopts a more open architecture design. The controller ATOM LITE can modify the program at will according to the actual business, and the whole machine reserves a variety of interfaces (RS485, I2C, custom interface) for users to expand, which is convenient for the rapid access of sensors and actuators. The self-contained guide rail clamping structure is perfectly embedded in various industrial control sites. ATOM DTU NB is very suitable for various low-latency, low-throughput application scenarios (such as remote control, asset tracking, remote monitoring, remote medical treatment, shared bicycles, etc.).

Product Features

  • SIM7020G/Global version/Multi-band support

  • RS485 communication interface (with 12V input interface, internal integrated DCDC step-down 5V)

  • Modbus Master/slave

  • Strong signal access capability

  • AT command control

  • SIM card type: MicroSIM

  • External antenna: SMA antenna interface

  • Grove expansion interface:

    • I2C x1
    • Custom x1
  • Serial communication: UART 115200bps

  • Self-contained rail clamping

  • Cat-NB frequency band:

    • B1/B2/B3/B4/B5/B8/ B12/B13/B17/B18/B19/ B20/B25/B26/B28/ B66/B70/B71/B85
  • Data transmission (kbps):

    • 126(DL)/150(UL)
  • Network protocol:



  • 1x ATOM LITE
  • 1x ATOM DTU NB
  • 1x SMA antenna
  • 1x SMA red cap
  • 1x M2 hexagon wrench
  • 1x M2x16 screw
  • 1x 3.96-4P terminal


  • Smart meter
  • Remote monitoring
  • Shared bicycles


  • RoHS/REACH/RCM/Telstra/CE(RED)/GCF/ATEX/TIM/Deutsche Telekom/Vodafone/FCC/PTCRB/T-Mobile/IC

Operator certification

  • Telstra*/Vodafone/Deutsche Telekom


Resources Parameter
Module SIM7020G
Support Cat-NB frequency band B1/B2/B3/B4/B5/B8/ B12/B13/B17/B18/B19/ B20/B25/B26/B28/ B66/B70/B71/B85
communication UART 115200bps
Net weight 32g
Gross weight 40g
Product Size 64 * 24 * 29mm
Package Size 91 * 42 * 24.5mm

Pin mapping

  • SIMCOM7020G
  • RS485
  • I2C





Before using UIFlow programming, you need to burn the UIFlow firmware for the ATOM master, click here to view the quick start tutorial .

Module initialization


  • Initialize the DTU device, this operation will initialize the device serial port and RS485 communication interface.

Power down module

  • Power down the module

Reset module

  • Reset the module, and block the program running until the module reset is complete.

Set command echo mode

  • Set command echo, set whether the communication module will reply a repeated command after receiving the command. True/False

Check module status

  • Check module status

Check single quality

  • Check signal quality

Check network registration

  • Check network registration

Check GPRS network registration

  • Check GPRS network registration

Enable PDP context

  • Enable PDP (Packet Data Protocol)


CoAP connect ip port

  • Establish CoAP connection

CoAP GET url security

  • Use the Get method to make resource requests

CoAP POST url payload content format security

  • Use POST method for resource request

CoAP PUT url payload content format security

  • Use PUT method for resource request

CoAP destruction

  • Release CoAP connection


MQTT connect server port client id username password keep alive

  • Configure MQTT client information and start the connection.

MQTT disconnect

  • Disconnect MQTT connection

MQTT subscribe topic QoS

  • Subscribe to the topic and configure the QoS level, return value: True (subscription success)/False (subscription failure)

MQTT subscribe callback topic msg

  • Subscription message callback function, when a new subscription message is received, this function will be automatically called and the topic name and data content will be passed

MQTT unsubscribe topic

  • Unsubscribe from a topic

MQTT publish topic payload Qos

  • Publish subject content and configure QoS level

MQTT check connection

  • Check connection status

MQTT poll downlink message

  • Statistics downlink information


RS485 write a line

  • Write a row of data to the RS485 bus

RS485 write

  • Write data to RS485 bus

RS485 write raw data create list with

  • Write raw data in the form of a list, the default input is decimal, if you need to input hexadecimal data, you need to add 0x prefix, such as 0xff.

RS485 read all

  • Read all data in the serial port buffer

RS485 read characters

  • Read N Byte

RS485 read line

  • Read a line of data in the serial port buffer

Remain cache

  • Judge whether there is data in the serial port buffer area, the return value is the number of data (Byte).

Modbus RTU

Read coils slave address starting address coil qty

  • Read slave coil register data

Read discrete inputs slave address starting address input qty

  • Read the discrete input register data of the slave

Read holding registers slave address starting address register qty signed

  • Read slave holding register data

Read input registers slave address starting address register qty signed

  • Read input register data

Write single coil slave address output address output value

  • Write a single coil

Write single register slave address register address register value signed

  • Write a single holding register

Write multiple coils slave address starting address output value

  • Write multiple coils

Write multiple register slave address starting address register value signed

  • Write multiple holding registers


Connect to the MQTT server to implement message subscription and publishing. When a new subscription message is received, the callback function will be called and the topic name and data content will be passed, and the output result will be printed to the USB serial port.



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


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)


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