FIRMWARE BURNING PROBLEM
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.

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.jsonUse 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 M5Stack's controller series?

Core series controllers have screens are our main series; Stick series screens will become smaller, the overall size is much smaller, and cost-effective; Atom series do not have a screen, instead of RGB lights, its price is the most Inexpensive, you can use the crop network terminal to control the equipment;

Q8: 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.

Q9: What is the difference between LoRa and LoRaWAN modules?

LoRa module: use Ra-02 module, use serial communication protocol: SPI, support frequency range 410-525Hz. LoRaWAN module: use RHF76-052 module, built-in LoRaWAN protocol stack, use serial port communication, control the module by sending AT commands It supports communication with a full-duplex LoRaWAN gateway, and supports dual-band 433-470MHz and 868-915MHz. The LoRa module is generally used to form a small local area network, and the LoRaWAN module is generally used to form a large-scale wide-area Internet of Things network data collection (usually with LoRaWAN gateway service), the LoRaWAN module has a built-in LoRaWAN protocol stack, and the user can conveniently control the module by sending AT commands to support communication with the full-duplex LoRaWAN gateway.

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

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

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

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

COMMON PRODUCT PROGRAMMING PROBLEMS
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: ATOM Echo、ATOM Lite、ATOM Matrix Is the procedure universal?

The internal pin definitions of the three hosts are different. Most programs of ATOM Lite and ATOM Matrix are common. ATOM Echo is a smart speaker, and the bottom pins are occupied by I2S. In theory, it cannot share the same program with other hosts.

Q8: Why does my Arduino code compile an error

If it is an official program, it has been compiled and verified before uploading. If an error is reported when the official program is compiled, it may be caused by conflicts caused by library version or board management. You can submit an issue to GitHub or contact customer service. If it is a self-written program, please carefully check the function declaration and class reference for duplicate definition or type mismatch.

Q9: 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.

Q10: 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.

Q11: 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.

Q12: 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.

Q13: How to get more API?

5 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.

COMMON HARDWARE PROBLEMS
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 connect the DC Motor Module to the Lego motor

DC Motor The DC Motor Module supports Lego NXT and EV3 series servo motors, but does not support Lego PF motors. Because Lego servo motors use RJ12 interfaces, they need to use M5Stack special cables for connection.

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

COMMON PRODUCT AFTER-SALES PROBLEMS
Q1: M5stickC Unrecognized port(COM)

M5StickC only supports WIN10&Linux&MAC driver-free, other operating systems require users to install their own drivers. Installation steps: 1. Click the link below to download the driver installation package. 2. Connect the device and open the computer device manager port option. 3. Right-click the unrecognized device to update it manually.

Q2: Some modules cannot be downloaded after stacking with M5Core, such as USB module stacking with M5Core.

Solution: During the download process, manually connect GPIO0 to GND to ensure that it is pulled down for a long time.

Q3: After stacking M5Core on the M5GO base, the M5Core cannot be turned on, and the base battery is fully charged.

It may be that after stacking, the pin BATTERY on the lower left corner of the M5-Bus on the base does not make good contact with the M5Core. This is caused by the deviation of the welding position during production. After the soldering position of the bus header is slightly offset, the BATTERY pin may not be in contact with the M5Core. Solution: Re-solder the M5-Bus bus pin header, and the pin header position must be strictly consistent with the pad position.

Q4: 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.

Q5: 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.

Q6: 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.

Q7: The device cannot load the SD card

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

Q8: 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.

Q9: 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.

Q10: M5Stack BASIC has been in normal use, but suddenly it can’t be turned on, even if USB is connected

Remove the BASIC base and try to boot to start. It is most likely caused by poor contact between the base and M-BUS

Q11: The remote control of BeetleC connected to the mobile phone sometimes fails to respond

Most of them are caused by low battery power. If the battery power is low, the signal quality will be seriously degraded.

Q12: 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

Q13: 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

Q14: 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.

Q15: What is the difference between the main development methods of M5StickV/UnitV series products?

V-Function is a multiple visual recognition function firmware developed by the M5Stack team for V series devices. Based on different functional firmware such as object tracking, movement detection, etc., users can quickly build visual recognition applications and support UIFlow or serial port direct. Data call. Maixpy firmware is based on MicroPython and is 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, suitable for scenarios that do not have strict requirements for running speed, and suitable for users who are familiar with the Python language. K210 dedicated SDK, mainly for low-level development, requires users to be proficient in C/C++ programming, understand ESP32 internal interface definitions and APIs, familiar with GCC, CMAKE and other compilation environments, mainly for product-level and consumer-level development, and has a relatively low entry threshold for basic users High, mainly suitable for professional users in a single field.