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.





UNIT MQTT PoE is an Ethernet MQTT communication module, supports PoE power and embedded W5500 Ethernet chip, as well as the UART communication interface (AT command control). The module is also equipped with an integrated RJ45 10 / 100 Mb network port, supports subscription of four topics (topic). With extremely low network latency and high stability, it is designed for industrial automation, security monitoring system, automation measurement, and equipment data on the cloud applications.

The PoE version has integrated PoE power, with 1.2A@5V (6W) load capability.

Product Features

  • Embedded W5500 Ethernet chip
  • RJ45 network port 10/100Mbps
  • PoE power supply: 1.2A@5V(6W)
  • Ethernet MQTT communication
  • Support 4x Topic subscription
  • Low latency
  • Development method.
    • AT command, UART: 9600bps, default
    • Development Platform: UIFlow, Arduino


  • 1x UNIT MQTT
  • 1x HY2.0-4P cable (20cm)


  • Remote data collection/up to the cloud


Specifications Parameters
Module Processor ARM Cortex-M3
Communication interface UART: baud 9600bps 8N1 default
MQTT Support 4x Topic subscription, not support MQTTS
Network port RJ45 adaptive 10/100M network port
Delay Delay `10ms
PoE power supply capability 1.2A@5V(6W) / Voltage DC 37-57V
Working current 190mA
Standby current 130mA
Net weight 27.0g
Gross weight 34.2g
Product size 72 * 26 * 19 mm
Packing size 73 * 35 * 20 mm








AT command set

?Note: Send a carriage return and line feed \r\n` at the end of each command

Setting AT commands

AT+NETMAC=MAC address``

  • Command description: Set the MAC address of the module
  • The MAC address must be in the following format: XX-XX-XX-XX-XX-XX

AT+NETSTATICIP=IP address,subnet mask,gateway``

  • Command description: Set the static IP address of the module (AT+NETSTATICIP=IP address,subnet mask,gateway) ?Note: When the DHCP function is turned on, the static IP setting will not be enabled.brIP address` (text), which means the local IP address, you can use the IP address or domain name`brsubnet mask (text), must be in IP address formatbr``gateway`(text), must be in IP address format


  • Command description: Enable/disable DHCP function 1/0``br1: Enable DHCP functionbr0: Disable DHCP function

AT+MQCLIENTID=client name``

  • Command description: Set MQTT server br``client name``br(text) MQTT client name

AT+MQKEEP=heartbeat duration``

  • Command description: Set the length of the heartbeat time for connecting to the MQTT serverbr``heartbeat time``brThe time interval for automatically sending PINGREQ packets, unit: second, range 5~300

AT+MQSUBSCRIBE=subject serial number,1/0,subject name,quality of service``

  • Command description: Set the topic subscribed to the MQTT server. This module can subscribe 4 topics to the server at the same time. After modifying the subscription topic through this command, the topic will not be subscribed or unsubscribed immediately. It will take effect the next time you connect to MQTT.br Subject Number Numbers 1-4 br``1/01 Open the subscription of this topic, 0 Close the subscription of the changed topic, when the parameter is changed to 0, the latter two parameters must be emptybr``topic name(text)quality of service Must be one of 0, 1, 2

AT+MQSERVER=server address,server port``

  • Command description: Set the address and port number of the MQTT serverbr``server address``br(text), you can use IP address or domain namebr``server port number 0~65535

AT+MQUSERPWD=user name,password``

  • Command description: brset user name and password user name (text) MQTT user namebr``password (text) MQTT login password


  • Command description: brSet whether to directly connect to the server when powering on.br``1/00: Do not directly start the connection when powering on, 1: Start the connection directly according to the configured parameters when powering on


  • Command description: Set to restore factory settings related to MQTTbr

AT+MQPUBLISH=topic,message,quality of service``

  • Command description: Publish MQTT messagebr``subject(text), the subject name of the message to be publishedbr``message(text), the message to be published, the maximum allowed length of this parameter is 1000br Quality of Service QOS, must be 0,1,2, you can choose not to send this parameter, at this time QOS is 0

AT+BAUD=Baud rate``

  • Command description: Set the serial port baud ratebr``baud rate The baud rate can only be the following values/4800/9600/19200/34800/115200/230400


  • Command description: Set the save parameters, After configuring the MQTT parameters, you need to execute the SAVE command, and perform a RESET soft reset, the configuration will take effect


  • Command description: Set the module soft reset, After configuring the MQTT parameters, you need to execute the SAVE command, and perform a RESET soft reset, the configuration will take effect

Query AT commands


  • Command description: Test whether the communication with the module is successful, response: AT

AT+MQSUBSCRIBE=subject serial number?

  • Command description: query the subscribed topic, response: +MQSUBSCRIBE=OK:topic number,on/off,topic name,service quality level``br``topic number can only be 1~4 One of the br``on/off is 1 when the current subscription is on, and 0 means when the subscription is invalid.br``topic name``service level quality can only be 0,1,2, one of which means MQTT service QOS0, QOS1, QOS2 in quality


  • Command description: Query whether to start the connection directly when powering on, response: +MQAUTO=OK:on/off 0: Do not start the connection directly when powering on, 1: Start the connection directly according to the configured parameters when powering on


  • Command description: Query the current MAC address of the module, response: +NETMAC=OK:MAC address The format is: XX-XX-XX-XX-XX-XX


  • Command description: Query the static IP settings of the module, response: +NETSTATICIP=OK:static IP address,subnet mask,gateway


  • Command description: Inquire about enabling/disabling of the DHCP function, response: +NETDHCPEN=OK:start/disable 1: Enable the DHCP function, 0: Disable the DHCP function


  • Command description: View the client name of MQTT, response: +MQCLIENTID=OK:client IP


  • Command description: Query the address and port number of the MQTT server, response: +MQSERVER=OK:server address,server port number



  • Command description: Query the user name and password of the MQTT server that has been set, response: +MQUSERPWD=OK:username,password


  • Command description: Query the length of the heartbeat interval when connecting to the MQTT server, response: +MQKEEP=OK:heartbeat interval


  • Command description: Query the baud rate of the serial port, response: +BAUD=OK:baud rate The default baud rate is 9600


  • Command description: Query the current version number, response: +VERSION=OK:current firmware version number


  • Command description: Query MQTT connection/connection has been disconnectedbrResponse: +MQSTATUS=OK:connection status


  • Command description: Query the current actual IP address of the modulebrResponse: +NETIP=OK:IP address,subnet mask,gateway,DNS server address

AT commands sent actively

//The network is not connected

//MQTT server is not connected
//Successful connection with MQTT server

//Received topic message

Error code returned when the instruction is wrong

//Parameter content error
ERROR:Error Param

//The number of parameters does not meet the requirements
ERROR:Error Param Num

//The length of the parameter is too long, and each parameter field requires less than 128 bytes (the maximum length of the published message is 1000 bytes)
ERROR: Parma is too long

//Failed to connect to the network

//MQTT server communication error
ERROR: MQTT Connect Fail

//The server did not respond when publishing the message (Qos1 and Qos2)
ERROR: MQTT Publish Fail


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