Files
2021-03-16 19:51:27 +08:00

44 KiB
Raw Permalink Blame History

Common product purchase problems
Q1: What is the difference between different M5 mainframes and camera units?

Q3: Where is the official information release platform? How to get first-hand news?

The official information release platforms are Official website news page Youtubu FaceBook Instagram Twitter
Q4: 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. Other series of controllers will be added in the future.
Q5: 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; you can see it on the official websitedetails contrast
Q6: 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 as required, and the physical pins of serial communication can be configured through the dial switch. The old module module is directly welded and cannot be disassembled. The pins need to be cut manually and cannot be modified again.
Q7: I dont know how to program, can I use M5Stack products for applications?

If you dont understand programming, you can use UIFlow to program, but children should have basic programming thinking. The pin definition of M5Stack products should be known.(For example, which pins of ESP32 use ADC will cause WiFi to fail, and which pins can only be input but not output) The data processing flow should be clear. If you want to perform functions outside the scope of personal cognition, it is recommended to learn relevant knowledge by yourself (such as my To save the image as a JPEG picture, at least you have to know the JPEG file data format).
Q8: I want to do IoT applications, I dont know which communication module to choose

Determine your project requirements, which IoT platform to use, what protocols need to be supported by AT, data throughput, signal coverage, network speed requirements, project cost, post-maintenance costs, etc. If you understand clearly these questions will naturally have answers .
Q9: What is the difference between LoRa and LoRaWAN modules?

LoRa module: using Ra-02 module, using serial communication protocol: SPI, supporting frequency range 410-525Hz.
LoRaWAN module: Adopt RHF76-052 module, built-in LoRaWAN protocol stack, use serial communication, control module by sending AT command, support communication with full-duplex LoRaWAN gateway, support dual-band 433-470MHz and 868-915MHz.
The LoRa module is generally used to build a small local area network, the LoRaWAN module is generally used to build a large wide area Internet of Things network data collection (usually used with LoRaWAN gateway services), the LoRaWAN module has a built-in LoRaWAN protocol stack, and users can easily control by sending AT commands The module supports communication with a full-duplex LoRaWAN gateway.
Q10: I just got the host, how to use it

If you have been in touch with Arduino before and understand the C/C++ language, please follow the steps below to configure. If you have not touched Arduino at all, please move toUIFlow or checkUIFlow book
Q11: How far can the M5 camera transmit images to the phone via WIFI?

After testing, using M5Camera indoors can transmit about 20 meters.
Q12: Can you connect to Wi-Fi in the 5G band?

The ESP32 chip does not support WiFi in the 5G band, and can only be connected to 2.4G.
Common product programming problems
Q13: ESP-IDF、Arduino、UIFlow、Micropython, What is the difference between several programming environments

ESP-IDF belongs to the low-level development of Espressifs 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, 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, mainly for amateur DIY enthusiasts, programming beginners, users only need to understand basic C/C++ knowledge to get started. There are more open source materials, and the code is universal, suitable for beginners.

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 the code writing of C/C++, MicroPython is easier to understand, suitable for scenarios that do not have strict requirements on running speed, and 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 Parameters can complete the programming operation.

Q14: How to build an Arduino environment?

Q15: What is the official github website?

We will update the latest libraries or examples here as soon as possible github
Q16: Where to download the official routine?

This is our main routine focusgithub,Which lists the main peripheral routines, please refer to
Q17: How to build an ESP-IDF environment

Q18: 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.
Q19: How to use Burner to burn firmware?

There is a tutorial on how to download the firmware in the Tutorial of our official website UIFlow
Q20: ESP-IDF API

Q21:How to compile and burn firmware for ESP-IDF

Use the'make flash' command directly in ESP-IDF or compile and burn in Eclipse IDE. If you burn the compiled bin file directly, you can use ESP Tools to burn according to the file memory address
M5Stack IDF component
M5StickC IDF component
Q22: 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 examplesTECHTUTORIALSX
Q23: I dont want to use UIFlow to receive the data sent by V-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.
Q24: 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 use of M5Stack product's own hardware.docs and example
Q25: Are ATOM Echo, ATOM Lite, and ATOM Matrix programs common?

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. Theoretically, it cannot share the same program with other hosts.
Q26: Why does my Arduino code compile an error

If it is an official program, it has been compiled and verified before uploading. If the official program used is compiled with an error, it may be caused by conflicts caused by library version or board management. You can submit an issue on GitHub or contact customer service. If it is a self-written program, please carefully check the function declaration and class reference for duplicate definitions or type mismatch.
Q27: I dont want to use UIFlow to receive the data sent by V-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.
Q28: Picth, Roll, Yaw obtained using MPU6886 are not accurate

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.
Q29: The project in this video is very interesting, can you give the source code

All the material sources come from the users. Some users use it to teach in class, some users use it to produce peripheral products, and some users use it to publish tutorials. What you see is not that users will provide code for free, and the code that can be provided is all It can be found by searching and filtering in GitHub. Some items are already provided in M5Burner and can be burned directly.
Q14: Are Core2 and Core sample programs common?

As the interface pin definition has been changed, the program cannot be used directly, and the corresponding pins need to be modified in the program.
Q30: The key is used in the written program, but it doesnt work after pressing it once

Use buttons and speakers need to add M5.update() after execution
            
              M5.update();
            
         
Q31: 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.
Q32: How to get more API?

The official reference API provided by M5 is limited to the functions of the M5 hardware package. 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.
Q33: How to use and modify the third-party firmware in Burner?

In addition to providing UiFlow firmware, our Burner will also search for some interesting firmware on github. Most of these firmwares can be made without or with little hardware dependency, and can be provided for everyone to download and entertain. If you want to download the modified content yourself, you can click the github LOGO next to the firmware version to jump to the corresponding github homepage, where you can download
Common hardware problems
Q34: How many I2C can M5Stack use at the same time?

There are two I2C buses inside ESP32, each I2C bus theoretically supports up to 127 external devices, of which the host already occupies an I2C bus, so there is another I2C bus for users to customize.
Q35: How to eliminate the speaker noise of M5Core?

Execute the following statements in the Setup() of the Arduino program
            
              dacWrite(M5STACKFIRE_SPEAKER_PIN, 0);
            
         
Q36: Is Core2 compatible with other modules

The depth of Core2's M-Bus terminal is different from standard Cores. For modules which odered AFTER Core2 release are all compatible; For those earlier than the date (Sep 1st, 2020), need to consult with us before applying.
Q37: DC Motor Module How to connect Lego 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 be connected with a special M5Stack cable.
Q38: StickC and Atom 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.
Q39: What is the farthest IR emission distance of StickC / StickC Plus

According to the test, the farthest distance is 80cm
Q40: Why does Atom GPS Kit GPS only have TX but not RX

Atom pins are limited. In order to be compatible with the use of Atom Matrix, GPIO21/25 pins are not connected, and RX is usually rarely used to configure GPS. If there are special needs, the GPS module can be configured separately, if only used on AtomLite , Users can fly RX to GPIO21/25 pins by themselves.
Q41: How to use the 3 dots at the bottom of the Core2 screen

The dots at the bottom of the screen are just laser patterns. The reason is the same as the three buttons at the bottom of the Android phone screen. It is a part of the touch screen. You only need to set the touch hot zone to map to virtual buttons. Any position on the entire screen can be mapped to For virtual keys, refer to the Touch example in Core2 Example for specific use.
Q42: How to light up the LED Bar of the FACE II base

The LED Bar of the FACE II base is used in the same way as the M5GO base. The pin is GPIO15. Please refer to the M5Stack Fire program.
Q43: Does RS485 have to connect 4 wires when using it?

RS485 only needs to be connected to 3 (GND, TX, RX), and the 12/24V pin only provides power for the M5Stack device, eliminating the need for USB power supply wiring. If you connect non-M5Stack devices, please confirm the device voltage to prevent burnout. Generally, it is recommended to connect only 3 wires.
Q44: Can multiple batteries be stacked

Multiple stacks can be used. 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 be reversed, and it will be reduced after long-term use Battery life, so long-term stacking is not recommended.
Q45: Some products use STM32 chips, can you program it?

The product has calibrated the burning test point, and the user can program it by himself. The STM32 firmware does not initialize. Self-programming means that the user has given up the warranty. Therefore, it is not recommended that the user program by himself.
Q46: 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
Q47: ESP32 has several serial ports

ESP32 has a total of 3 hardware serial ports. By initializing the serial port (RX/TX), the designated GPIO pins can be mapped to serial pins. One of the hardware serial ports (GPIO1/GPIO3) has been occupied by the USB interface (UART0), and the remaining two It is available for users to connect serial peripherals. UART1 is set as (GPIO16/GPIO17) by default by the system. UART2 is not specified in the system, and users can map it freely.
UIFlow FAQ
Q48: How to use UIFlow?

Using tutorial about UIFlow is organized on our official website, and we are still B station publishes related video tutorials
Q49: How to add pictures in UIFlow?

Our UIFlow currently supports pictures in jpg format, and we will add png pictures in subsequent updates. We can provide software that converts the format or jpg picture making software to get a picture (below 50KB) that you want to display. When our controller is connected to the network and connected to the server, then by running the manage icon on the left, click to add a picture and select the jpg picture, and then wait for upload to the controller. Drag to the screen through the Image in the left column and click on it to select the image we uploaded.
Q50: What is the difference between UIFlow's Micropython and the official mainline Micropython

UIFlow is a secondary package based on the mainline Micropython and integrates a large number of official M5Stack libraries. UIFlow is easier to understand in use, and it is also compatible with most of the mainline API writing.
Q51: How does UIFlow build its own block?

The beta version of our UIFlow has a function for players to build their own modules. When we first started using it, we need to click User Manual to read the manual carefully. Then open Create *.m5b file to make the module, and click Download to download it, and then click Open *.m5b to use
Q52: How does Core enter wifi mode quickly?

Press and hold the middle button when booting to quickly enter the wifi mode
Q53: Where will the files run by UIFlow be saved?

The micropython file running and saved under UIFlow will be saved in temp.py of the controller. The difference is that the running file is run directly without switching modes, while the downloaded file is changed to App mode and restarted. Our App mode is also to run the temp.py file at boot. The offline m5f file will be saved in the download location of your browser
Q54: Does UIFlow support multi-threading?

For UIFlow, it is based on multi-threading. In order to prevent users from using multi-threading in principle to prevent UIFlow from working properly in principle, the multi-threading part is not open to users. Users who want to DIY can usemicropython official multi-threaded document written by yourself
Q55:

Due to the technical problem of graphical conversion to micropython, so far our variables are global variables, so the names of variables cannot be duplicated, and there may be adjustments in the future
Q56: I used UiFlow to write the Core2 drawing board program. Why did the drawing trace disappear after releasing the hand?

Core2 has used LVGL and normal GUI drawing so far. Your drawing may use normal GUI API, but touch uses LVGL API, so LVGL touch triggers redraw and will overwrite the previous drawing traces. Use * *Advanced**->**Additional code** Add the code "lv.obj.set_click(lv.scr_act(), False)" in the module to close the redraw event
Common product after-sales problems
Q57: M5stickC cannot recognize the 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.

Driver download connection
Q58:

Some modules cannot be downloaded after stacking with M5Core, such as USB module stacking with M5Core
It may be that after stacking, the pin GPIO0 on the M5-Bus bus is not in good contact with the M5Core. In this case, when downloading the program, GPIO0 should always remain low, but because the contact is not good, GPIO0 cannot always remain low, so the download fails. Solution: During the download process, manually connect GPIO0 to GND to ensure that it is pulled down for a long time.
Q59: After stacking M5Core on the M5GO base, the M5Core cannot be turned on. 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 contact M5Core easily. Solution: re-solder the M5-Bus bus pin header, the pin header position must be strictly consistent with the pad position。
Q60: 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。
Q61: What are the special GPIO pins of ESP32 that need attention?

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.
Q62: Why is the Stick with MPU9250 burned with the factory firmware, press button A, the result shows "No", that is, "9250 does not exist"

Restart this Stick to display it. Because the code to read the MPU9250 is placed in the setup() function of the factory program, it is only executed once at boot, so reboot and let Stick detect the MPU9250 again.
Q63: M5stickC Can not boot

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.
Q64: M5StickV Cannot load SD card

First of all, confirm whether the format of the SD card is FAT32, and partitions are not allowed. Some large-capacity SD cards are usually formatted as NTFS. The compatibility of the SD card is tested as follows.
SD card compatibility list
Q65: 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.
V-Training detailed tutorial
Q66: 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 and check whether it can be cleaned successfully. Burn FactoryTest again to check whether it can be burned. If the operation is successful, there is no problem. If MD5 file error occurs repeatedly There is a high probability that FLASH has been damaged.
Q67: M5Stack BASIC has been in normal use, but suddenly it cant be turned on, even if USB is connected

Remove the BASIC base and try to boot it up. It is most likely caused by poor contact between the base and M-BUS
Q68: BeetleC connected to mobile phone remote control sometimes fails to respond

Most of it is caused by low battery power. If the battery power is low, the signal quality will be seriously degraded.
Q69: How to change GPS settings

Generally speaking, GPS can use the replacement settings. If you have special needs to change the settings, you can use a TTL to USB converter to directly connect to the GPS via U-Blox Center for configuration, specific software instructions, refer to U-Blox official website U-center user guide.
Q70: When using HAT-Thermal, the screen display has image ripple interference

The old 100Nf capacitor can not provide enough decoupling capacity for MLx90640, it can be solved by adding a 10Uf (106) capacitor.
Solution: Parallel capacitors (10uF 10V 0603) at the position shown in the figure.
Q71: After upgrading the MacOS version 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.
Solution1: When programming, use DuPont cable to short-circuit G0 to GND. Solution2: Use the update tool to update the device USB driver chip firmware
Q72: Can multiple modules with different functions be stacked at the same time?

When stacking multiple modules with different functions at the same time, you need to pay attention to whether there is a pin conflict on the MBUS, and the I2C that shares a pin needs to check whether there is an address conflict
Q73: How to expand multiple Unit devices for the same Grove port

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

Product docs

Q74: M5Core Standby time

The battery life of the controller is affected by many factors such as battery capacity, operating status, and load, so there will be no fixed value. Reducing the load and adopting the sleep strategy can effectively increase the battery life.
Q75: 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 (object tracking, motion detection, etc.), users can quickly build visual recognition applications, supporting UIFlow or serial ports 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 on 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.
Q76: 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

esptool github

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

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

UIFlow is based on mpy firmware and supports many file system operation tools. Here are two more commonly used tools

AMPY

uPyloader

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

Github manual installation, refer to esp32-arduino warehouse README

Board management offline installation

Use the official M5Stack board management address, search for m5stack in the board manager to downloadhttps://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

<script> $(".faq-item .faq-title").toggleClass('open'); $(document).ready(function() { $(".faq-item .faq-title").on('click', function() { $(this).toggleClass('open'); }); }); </script>