Q1: How to read the firmware that has been burned?

Use esptool to read the flash content of esp and export the bin file. Detailed operation reference

Q2: How to use Arduino's file system to partition and read and write files?

Q3: How to read and write files in the UIFlow file system?

UIFlow is based on mpy firmware and supports many file system operation tools. The following are two commonly used tools:

Q4: Several solutions to download failure of esp32 board in Arduino board management

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

Use the official M5Stack board management address, search for m5stack in the board manager to download:
Q5: What are the differences between different M5 mainframes and camera units?

View product comparison table

Q6: What are the main controllers of M5Stack?

The main controllers of M5Stack can be divided into 3 categories, Core series, Stick series and Atom series, and other series of controllers will be added in the future.

Q7: What is the difference between COM series communication module and other old communication modules

The COM communication module mainly adopts SimCOM module, the main body of the module adopts the public version design, the main communication module can be replaced according to demand, the serial communication physical pin can be configured through the dial switch, the old module module is directly welded and cannot be disassembled, the serial port is physical The pins need to be cut manually and cannot be modified again.

Q8: How far can the M5 camera transmit images to the mobile phone via WIFI?

After testing, using M5Camera indoors can transmit about 20 meters.

Q9: Can you connect to 5G band Wi-Fi

The ESP32 chip does not support Wi-Fi in the 5G frequency band, and can only be connected to 2.4G.


Q1: What is the difference between ESP-IDF, Arduino, UIFlow, and Micropython programming environments

ESP-IDF belongs to the low-level development of Espressif’s proprietary SDK. It requires users to be proficient in C/C++ programming, understand ESP32 internal interface definitions and APIs, and be familiar with GCC, CMAKE and other compilation environments. It is mainly for product-level and consumer-level development. The entry barrier is high, and it is mainly suitable for professional users in a single field. Arduino programming is to encapsulate the interface on the basis of ESP-IDF. Users do not need to care too much about the underlying implementation logic. It is mainly biased towards amateur DIYers and beginners in programming. Users only need to understand basic C/C++ knowledge to get started. There are more open source materials, and the code is more versatile, suitable for beginners to get started. MicroPython is a simplified version of the Python language, mainly used in single-chip microcomputers. The code is interpreted and executed in real time. Compared with C/C++ code writing, MicroPython is easier to understand and suitable for scenarios that do not have strict requirements on running speed. It is suitable for users who are familiar with the Python language. . UIFlow is a visual programming platform launched by M5Stack. It integrates programming modules related to M5Stack products, supports offline and online programming, and supports MicroPython programming language. The threshold for visual operation users is further reduced. Users only need to build program logic and simple settings. The parameter can complete the programming operation.

Q2: Arduino upload is unsuccessful

Confirm that the development board model, baud rate, and serial port configuration are correct, erase the Flash and upload again. If the upload still fails, please contact customer service.

Q3: How to use Burner to burn firmware?

There is a tutorial on how to download the firmware in the tutorial on our official website UIFlowd

Q4: How to use Bluetooth in Arduino, how to use HTTP, how to use SD, how to use WebServer, how to use FreeRTOS, etc.

Please find from the following 320 examples

Q5: V-I don’t want to use UIFlow to receive the data sent by Function. Tell me how to get it.

The functions integrated in UIFlow are for products in the UIFlow system. If you want to obtain data through Arduino or other platform products, please learn about the JSON format analysis of the relevant platform.

Q6: Where to get information to learn

Hardware is only the carrier of implementation. C/C++, Arduino, Python related websites can all be studied, and you can refer to the method of using the hardware of the M5Stack product.

Q7: Picth, Roll, Yaw obtained using MPU6886 are inaccurate

Pitch, Roll, and Yaw are calculated in real time through the acceleration and angular velocity obtained by the IMU, which have a lot to do with the accuracy of the algorithm. The program provided at this stage does not optimize the algorithm.

Q8: Are Core2 and Core sample programs common?

Because the interface pin definition has been changed, the program cannot be used directly, and the corresponding pins need to be modified in the program.

Q9: The key is used in the written program, but after pressing it once, it doesn’t work anymore

To use keys and speakers, you need to add M5.update() after execution to respond again.

Q10: Does M5Stack device support Chinese display?

Support GB2312 code display in Arduino environment, refer to the hzk16 example in Display, it can be displayed directly in UIFlow.

Q11: How to get more API?

The official reference API is limited to the functions of the M5 hardware package. The software application libraries such as WIFI, HTTP, etc. are not included in the scope of provision. You can refer to other ESP32 and Arduino libraries, which are universal in use.


Q1: How to eliminate the speaker noise of M5Core?

Execute the following statement in the Setup() of the Arduino program dacWrite(M5STACKFIRE_SPEAKER_PIN, 0);

Q2: How to solve the problem of automatic triggering of M5Core button A

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

Q3: StickC and Atom's HY2.0-4P interface input digital signal does not respond

When StickC and Atom use the HY2.0-4P interface, the corresponding pins need to be pulled up, otherwise there is no signal output.

Q4: What is the farthest IR emission distance of StickC/StickC Plus?

According to the test, the farthest distance is 80cm

Q5: Can multiple batteries be stacked

Multiple stacks are possible, the total capacity of the batteries in parallel increases, and the voltage remains the same. However, because each battery is not discharged evenly during use, there is a voltage difference between the batteries, which may cause the battery to reverse charge.

Q6: Some StickC HATs have batteries, how to charge the batteries

Just plug the StickC into the HAT and power the StickC to power the HAT battery


Q1: M5stickC Unrecognized port(COM)

UnitV/M5StickV/M5StickC/ATOM master control may not work without drive in some systems. Users can manually. install FTDI driver to fix this problem. Take the win10 environment as an example, download the driver file that matches the operating system, decompress it, and install it through the device manager. (Note: In some system environments, the driver needs to be installed twice for the driver to take effect. The unrecognized device name is usually `M5Stack` or `USB Serial`. Windows recommends using the driver file to install directly in the device manager (custom Update), the executable file installation method may not work properly).

Q2: Although some computers are connected to the main control, they still cannot use Arduino IDE, ESPFlashDownloadTool or M5Burner to burn programs.

Reason and solution: It may be because the power supply current of these serial ports is not large enough, and a capacitor needs to be connected between the RST pin and the GND pin in the main control (the capacitor value is larger than 0.1uF), or when downloading the program , Connect GPIO 0 to GND, so that GPIO 0 can continue to be low enough.

Q3: What are the special GPIO pins of ESP32 that should be paid attention to?

ESP32 has 34 GPIO pins, of which GPIO 34-39 are only used as input and cannot be used as output. The others can be used as both input and output pins.

Q4: M5stickC cannot be turned on

The following operations can restore the device to normal: 1. Short-circuit BAT to GND, and disconnect the short-circuit after 2 seconds. 2. Insert the USB cable. 3. After the screen lights up, the USB continues to charge the device.

Q5: The device cannot load the SD card

Confirm whether the format of the SD card is FAT32, and there can be no partitions.

Q6: Send photos to V-Training but the received email does not contain model files

Check the contents of the email carefully. Training errors will be pointed out in the email. Only the two specified folders are allowed in the sent photos. The minimum number and classification of photos are required. If there are hidden files, the training will fail.

Q7: MD5 file error occurred while burning the program

Firstly check your program carefully to confirm that there is no problem. Secondly, use M5Burner to erase, check whether it can be cleaned successfully, burn FactoryTest again to check whether it can burn, if it works successfully, it means there is no problem, if MD5 file error occurs repeatedly There is a high probability that FLASH has been damaged.

Q8: After the MacOS version is upgraded to the higher version, M5StickC cannot burn the program normally.

After upgrading the MacOS Catalina version on some Mac computers, M5StickC cannot burn programs normally. Solution 1: Use DuPont cable to short-circuit G0 to GND when programming. Solution 2: Use the update tool to update the device's USB driver chip firmware

Q9: Can multiple modules with different functions be stacked at the same time?

M5Stack has designed Hub (for expansion of I2C devices with different addresses) / Pahub (for expansion of I2C devices) / Pbhub (for expansion of IO reading and writing devices without timing requirements). For detailed usage information, please refer to the product documentation

Q10: The battery life of the M5 host

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