pdf-icon

Core2

SKU:K010

Description

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.

Tutorials & Quick Start

本教程将向你介绍,如何通过 UIFlow 图形化编程平台控制 M5Core2 设备
本教程将向你介绍,如何通过 UIFlow2.0 图形化编程平台控制 M5Core2 设备
本教程将向你介绍,如何通过 Arduino IDE 编程控制 M5Core2 设备

Features

  • ESP32-based, built-in Wi-Fi
  • 16M Flash,8M PSRAM
  • Built-in speaker, power indicator, vibration motor, RTC, I2S amplifier, capacitive touch screen, power button, reset button
  • TF card slot (16G Maximum size)
  • Built-in lithium battery, equipped with power management chip
  • Independent small board built-in 6-axis IMU, PDM microphone
  • M-Bus Socket & Pins
  • Compatible with multi-platform development:

Include

  • 1x M5Stack Core2
  • 1x Type-C USB(20cm)
  • 1x HEX KEY

Applications

  • Internet of things terminal controller
  • Stem education product
  • DIY creation
  • Smart home equipment

Specifications

Resources Parameter
ESP32-D0WDQ6-V3 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi
Flash 16MB
PSRAM 8MB
Input Voltage 5V @ 500mA
Interface TypeC x 1, GROVE(I2C+I/0+UART) x 1
IPS LCD Screen 2.0"@320*240 ILI9342C
Touch Screen FT6336U
Speaker 1W-092
LED Green power indicator light
Button Power button, RST button, Virtual screen button*3
Vibration reminder Vibration motor
MIC SPM1423
I2S Power Amplifier NS4168
6-axis IMU MPU6886
RTC BM8563
PMU AXP192
USB Chip CP2104/CH9102F (two chip versions, there is no difference in function and use)
DC-DC Boost SY7088
TF card slot 16G Max
Lithium Battery 500mAh @ 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)
Net Weight 52g
Gross Weight 76g
Product Size 54 x 54 x 16.5mm
Package Size 75 x 60 x 20mm
Case Material Plastic ( PC )

Learn

Power Management

Power On/Off Operations:
Power On: Press the left power button once.
Power Off: Press and hold the left power button for 6 seconds.
Reset: Press the RST button on the bottom side once.

Precautions

When stacking M5Core2 with M5 modules, you need to remove the Core2 battery bottom. If you want to retain the base's I2S microphone, IMU, and battery functions while stacking other modules, it is recommended to use M5GO Bottom2 . The PCB of Core2 reserves interfaces for the CP2104 chip and lithium battery connection.
The built-in vibration motor of M5Core2 structurally interferes with the M5 Base series bases. To prevent damage to the device, do not stack M5Core2 with M5 Base series functional bases.
Some screens may have touch nonlinearity issues at the edges. You can try using M5Tool to upgrade the screen firmware and resolve this problem.
This product contains a non-replaceable battery.

Certification Information

  • CE/MIC/FCC/RCM
  • IEC62133

Schematics

PinMap

LCD & TF card

LCD :320x240 TF card Maximum size 16GB

ESP32 Chip GPIO38 GPIO23 GPIO18 GPIO5 GPIO15
AXP192 Chip AXP_IO4 AXP_DC3 AXP_LDO2
ILI9342C MISO MOSI SCK CS DC RST BL PWR
ESP32 Chip GPIO38 GPIO23 GPIO18 GPIO4
TF Card MISO MOSI SCK CS

CAP.TOUCH (I2C Addr: 0x38)

ESP32 chip GPIO21 GPIO22 GPIO39
AXP192 AXP_IO4
FT6336U SDA SCL INT RST

Mic & NS4168(Speaker)

ESP32 Chip GPIO12 GPIO0 GPIO2 AXP_IO2 GPIO34
NS4168 BCLK LRCK DATA SPK_EN
Mic CLK DATA

AXP Power Indicator Light

AXP192 AXP_IO1 AXP_LDO3
Green LED Vcc
Vibration motor Vcc

RTC

ESP32 Chip GPIO21 GPIO22
AXP192 AXP_PWR
BM8563 SDA SCL INT

IMU(3-axis gyroscope & 3-axis accelerometer)

ESP32 Chip GPIO21 GPIO22
MPU6886 SDA SCL

USB to serial chip

ESP32 Chip GPIO1 GPIO3
CP2104/CH9102F RXD TXD

Internal I2C connection

ESP32 Chip GPIO21 GPIO22
MPU6886 SDA SCL
AXP192 SDA SCL
BM8563 SDA SCL
FT6336U SDA SCL

M5Core2 M-BUS Schematic diagram

M5Core2 BUS(compared to M5Stack)

M5PORT DEFINE
PORT PIN Note:
PORT-A(Red) 32/33 I2C
PORT-B(Black) 26/36 DAC/AD
PORT-C(Blue) 13/14 UART

ESP32 ADC/DAC

ADC1 ADC2 DAC1 DAC2
8 channels 10 channels 2 channels 2 channels
G32-39 G0/2/4/12-15/25-27 G25 G26

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)
0.219A 0.055A 0.147A

Model Size

module size

Datasheets

Softwares

Arduino

UIFlow

USB Driver

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
CP210x_VCP_Windows CP2104 Download
CP210x_VCP_MacOS CP2104 Download
CP210x_VCP_Linux CP2104 Download
CH9102_VCP_SER_Windows CH9102 Download
CH9102_VCP_SER_MacOS v1.7 CH9102 Download
Port Selection on MacOS
On MacOS, there may be two available ports. When using them, please select the port named wchmodem.

Easyloader

Easyloader Download Note
Core2 Factory FirmWare download /

Others

《ESP32 formats and communication protocols》 一书分了几章介绍了 M5Stack Core2 模块。M5Stack Core2 模块集成了触摸 LCD 屏幕,蓝牙和 Wi-Fi 通信,麦克风和扬声器,以及加速度计和陀螺仪,使 M5Stack Core2 模块非常通用。本书使用通信协议构建项目,从将智能手表连接手机(BLE)到与地球上空环绕的卫星的远程通信(LoRa)以及设备之间的音频信号传输(I2S)。QR 码用于通过互联网控制外部设备,而 ESP-MESH 和 ESP-NOW 协议可在没有互联网连接的情况下实现微控制器之间的通信。

Video

Description:
This case will perform hardware running tests for speakers, wifi, buttons, accelerometer, TF-card(microSD), screen, etc.

Version Change

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
2023.27 Cancel RTC coin cell batteries Does not affect the timing function
2023.10 Lithium battery capacity changed to 500mAh /

FAQ

Q: If the memory card fails to read, you can add the following code in the initialization to increase the host memory card reading ability.

for (auto gpio : (const uint8_t[]){18, 19, 23}) {
   *(volatile uint32_t*)(GPIO_PIN_MUX_REG[gpio]) |= FUN_DRV_M;
   gpio_pulldown_dis((gpio_num_t)gpio);
   gpio_pullup_en((gpio_num_t)gpio);
 }

Q: How to detect the power level of core2?


#include <M5Core2.h>

void setup() {
  M5.begin();
}
void loop() {
  Serial.printf("Bat Voltage:%f\n", M5.Axp.GetBatVoltage());
  delay(500);
}

Q: How do I display pictures on CORE2? (Using C language)

    1. Create a 320*240 pixel jpg image named logo.jpg.
    1. Download the source files , unzip them, open the folder, execute .\conver.ps1 in the terminal, and replace the result in the array of the source file below.
    1. Open the drawImageData_core2_Pure.ino program, and replace the binary result obtained above into the array below.
    1. Upload the program. The result is as shown in the image below:
      module sizemodule sizemodule size