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.
M5Core2 is the second generation core device in the M5Stack development kit series, which further enhances the functions of the original generation of cores.
The MCU is an ESP32 model D0WDQ6-V3 and has dual core Xtensa® 32-bit 240Mhz LX6 processors that can be controlled separately. Wi-Fi are supported as standard and it includes an on board 16MB Flash and 8MB PSRAM, USB TYPE-C interface for charging, downloading of programs and serial communication, a 2.0-inch integrated capacitive touch screen, and a built-in vibration motor.
M5Core2 also features a built-in RTC module which can provide accurate timing. The power supply is managed by an AXP192 power management chip, which can effectively control the power consumption of the base and a built-in green LED power indicator helps to notify the user of battery level. The battery capacity has been upgraded to 390mAh, which can power the core for much longer than the previous model.
The M5Core2 retains the TF-card(microSD) slot and speakers. However, in order to ensure higher quality sound output, the I2S digital audio interface power amplifier chip is used to effectively prevent signal distortion. There are independent power and reset buttons on the left side and bottom of the base.
The 3 icons on the front of the screen are capacitive buttons which are programmable. There is a small expansion board on the back of the base with a 6-axis IMU sensor and microphone. The development platform and programming language supported by M5Stack Core2: Arduino, UIFlow (using Blockly, MicroPython language) No matter what level of your development and programming skills, M5Stack will help You gradually turn your ideas into reality.
Power on: One click the power button on the left
Power off: Long press the left power button for 6 seconds
Reset: Click the RST button on the bottom side
Before using, please go to
to download the USB driver that matches your operating system, and install it.
Note: Core2 currently has two CP2104/CH9102F A USB chip version, users can install the drivers (
CP210x) that are compatible with two ICs at the same time to ensure that the device drivers work normally.
To stack M5Core2 with M5 modules, you need to remove/eliminate the battery bottom of Core2; If you wish to keep I2S Mic, IMU and Battery functions, a M5GO Bottom2 is required.**The CP2104 chip interface is reserved on the PCB of CORE2 to interface with the lithium battery.
The vibration sensor of M5Core2 and M5 Base series are incompatible in mechanical design. Please do not stack them together.
|ESP32-D0WDQ6-V3||240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, Bluetooth|
|Input Voltage||5V @ 500mA|
|Interface||TypeC x 1, GROVE(I2C+I/0+UART) x 1|
|IPS LCD Screen||2.0"@320*240 ILI9342C|
|LED||Green power indicator light|
|Button||Power button, RST button, Virtual screen button*3|
|Vibration reminder||Vibration motor|
|I2S Power Amplifier||NS4168|
|USB Chip||CP2104/CH9102F (two chip versions, there is no difference in function and use)|
|TF card slot||16G Max|
|Lithium Battery||390mAh @ 3.7V|
|Antenna||2.4G 3D antenna|
|Operating temperature||0°C to 60°C|
|Base screw specifications||Hexagon socket countersunk head M3|
|Internal PCB board reserved interface||Battery interface (specification: 1.25mm-2P)
USB line interface (specification: 1.25mm-4P)
|Product Size||54 x 54 x 16mm|
|Package Size||75 x 60 x 20mm|
|Case Material||Plastic ( PC )|
Click the link below to download the driver that matches the operating system. There are currently two driver chip versions, CP210X (for
CP2104 version)/CP34X (for
CH9102 version) driver compressed package. After decompressing the compressed package, select the installation package corresponding to the number of operating systems to install. (If you are not sure of the USB chip used by your device, you can install both drivers at the same time. During the installation process of
CH9102_VCP_SER_MacOS v1.7, an error may occur, but the installation is actually completed, just ignore it.) When using it, if If the program cannot be downloaded normally (the prompt is overtime or Failed to write to target RAM), you can try to reinstall the device driver.
|Driver name||Applicable driver chip||Download link|
EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification.
This case will perform hardware running tests for speakers, wifi, buttons, accelerometer, TF-card(microSD), screen, etc.
LCD & TF card
LCD :320x240 TF card Maximum size 16GB
CAP.TOUCH (I2C Addr: 0x38)
Mic & NS4168(Speaker)
AXP Power Indicator Light
IMU(3-axis gyroscope & 3-axis accelerometer)
USB to serial chip
Internal I2C connection
|8 channels||10 channels||2 channels||2 channels|
For more information about Pin assignment and Pin Remapping, Please refer to ESP32 Datasheet
Charging current measured value
|charging current||Fully charged current(Power OFF)||Fully charged current(Power ON）|
|Release Date||Product Change||Note:|
|2020.6||Initial public release<||/|
|2021.7||USB Chip changed from CP2104 to CH9102F||The actual delivery has two chip versions, CP2104/CH9102F, and there is no difference in function and use|
Execute the following statement in Setup() of the Arduino program
When M5Core2 is stacked with other M5 modules, you need to remove the battery base of Core2, which does not support module stacking.
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
Add the header file #include <driver/adc.h> and the function adc_power_acquire(); in the Arduino program
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.
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)
ESP32 module currently does not support WiFi in 5G band, only 2.4G.
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
Click the link below to view the product comparison table
Rotate the lens to adjust the focal length within a certain range
FACE II BOTTOM NOT CORE2 COMPATIBLE
Use esptool to read the flash content of esp32 and export the bin file. Refer to the detailed operation
Restart the Arduino IDE, the computer uses the mobile AP mobile network to download.
Refer to the Github link below, use arduino-esp32fs-plugin for file upload
Check if the COM of the corresponding device is selected and if the M5Burner is the latest version
UIFlow users can switch the Label font to Unicode, Arduino users can use the Chinese font library provided in the M5GFX driver library
Confirm whether the SD card format is FAT32, and no partitions exist.
You can refer to the following link for other ESP32 users to share the case program
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.
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.)
Refer to the UIFlow documentation of the corresponding device to check whether the device has entered the USB programming mode.
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)
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