M5Core2

SKU:K010

教程&快速上手

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

描述

M5Core2 是M5Stack开发套件系列中第二代主机,在原有一代主机基础上对功能进一步加强,硬件功能更加齐全。其核心主控Core2配备了ESP32-D0WDQ6-V3,具有两个可以单独控制的 Xtensa® 32-bit LX6 处理器,主频高达240Mhz,支持WiFi功能,板载16MB Flash8MB PSRAM,可通过TYPE-C接口下载程序,强劲的配置满足复杂应用的资源开销。正面搭载一块2.0寸一体化电容式触摸屏,为用户带来更流畅的人机交互体验。

机身内置震动马达,可提供触觉回馈和震动提醒功能。内建的RTC模块可提供精准计时功能。电源部分搭载AXP192电源管理芯片可有效控制机身功耗,内置绿色电源指示灯。同时机身内配备了TF-card(microSD)卡槽与扬声器,为了保证获得更高质量的声音效果,采用I2S数字音频接口的功放芯片,能有效防止信号失真。在机身的左侧和底部配有独立的电源按键与重启(RST)按键,屏幕正面的3个圆点属于触摸屏的一部分,可通过编写程序设置热区映射为3个虚拟按键。机身背部的扩展小板集成6轴IMU传感器与麦克风。

电源管理

开关机操作:
开机:单击左侧电源键
关机:长按6秒左侧电源键
复位: 单击底侧RST按键

拓展模块/兼容

M5Core2与M5模块进行堆叠的时候,您需要拆卸Core2的电池底部;如果需要保持底座的I2S麦克风,IMU和电池功能并同时堆叠其他模块,则建议使用 M5GO Bottom2 CORE2的PCB板上预留了CP2104芯片的接口,与锂电池接口。

M5Core2自带的震动马达与M5 Base系列底座在结构上存在干涉,为防止损坏设备, 请勿将M5Core2与M5 Base系列功能底座堆叠使用。

部分屏幕边缘会存在触摸非线性的问题, 你可以尝试使用 M5Tool 来升级屏幕固件解决此问题。

本产品包含不可更换的电池。

产品特性

包含

  • 1x M5Stack Core2

  • 1x Type-C USB(20cm)

  • 1x 内六角扳手

    应用

  • 物联网控制器

  • STEM教育

  • DIY作品

  • 智能家居设备

规格参数

主控资源 参数
ESP32-D0WDQ6-V3 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi
Flash 16MB
PSRAM 8MB
输入电压 5V @ 500mA
主机接口 TypeC x 1, GROVE(I2C+I/0+UART) x 1
LED 绿色电源指示灯
按键 电源键、RST键、屏幕虚拟按键*3
震动提醒 震动马达
IPS LCD屏幕 2.0"@320*240 ILI9342C
电容式触摸屏IC FT6336U
扬声器功放 NS4168
麦克风 SPM1423
I2S功放 NS4168
IMU MPU6886
RTC BM8563
PMU AXP192
USB芯片 CP2104/CH9102F (两个芯片版本, 功能与使用上并无差异)
DC-DC升压 SY7088
TF卡槽 支持最大16G
锂电池 500mAh @ 3.7V
天线 2.4G 3D天线
工作温度 0°C to 60°C
底座螺丝规格 内六角沉头M3
内部PCB板预留接口 电池接口(规格:1.25mm-2P)USB线路接口(规格:1.25mm-4P)
净重 52g
产品尺寸 54 x 54 x 16.5mm
包装尺寸 75 x 60 x 20mm
外壳材质 Plastic ( PC )

驱动安装

点击下方连接下载匹配操作系统的驱动程序。目前存在两种驱动芯片版本,CP210X(适用于CP2104版本)/CP34X(适用于CH9102版本)驱动程序压缩包.在解压压缩包后,选择对应操作系统位数的安装包进行安装。(若您不确定您的设备所使用的USB芯片, 可同时安装两种驱动。CH9102_VCP_SER_MacOS v1.7在安装过程中,可能出现报错,但实际上已经完成安装,忽略即可。) 在使用时,若出现无法正常下载程序(提示超时或者是Failed to write to target RAM)的情况,可尝试重新安装设备驱动。

驱动名称 适用驱动芯片 下载链接
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

EasyLoader

EasyLoader是一个简洁快速的程序烧录器,其内置了一个产品相关的案例程序,通过简单步骤将其烧录至主控,即可进行一系列的功能验证.

Download Windows Version Easyloader

案例描述:
该案例将执行喇叭,wifi,按键,加速计,TF-card(microSD),屏幕等硬件运行测试.

管脚映射

LCD 屏幕 & TF Card

LCD 像素:320x240 TF 卡最大支持 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

麦克风 & NS4168功放

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

AXP电源指示灯 & 震动马达

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轴陀螺仪+3轴加速计)

ESP32 Chip GPIO21 GPIO22
MPU6886 SDA SCL

USB转串口下载

ESP32 Chip GPIO1 GPIO3
CP2104/CH9102F RXD TXD

内部I2C连接

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

M5Core2 M-BUS示意图

M5Core2 BUS(与 M5Stack 对比)

M5Core2 端口说明

PORT PIN 备注:
PORT-A(红色) G32/33 I2C
PORT-B(黑色) G26/36 DAC/ADC
PORT-C(蓝色) G13/14 UART

ESP32 ADC/DAC可映射引脚

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

有关引脚分配和引脚重新映射的更多信息,请参考 ESP32 datasheet

充电电流测量值

充电电流 充满后电流(关机) 充满电(开机)
0.219A 0.055A 0.147A

原理图

尺寸图

module size

相关链接

案例程序

Arduino

教程

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

项目案例

Health monitoring using the M5Stack Mini Heart Rate Unit and Non-Contact Infrared Thermometer Unit and the Waylay IO IoT platform.
I made one-wheel balancing robot. This robot can be operated remotely from a smartphone using Blynk.
Modern times make modern solutions possible. Therefore, the step to a digital snow globe is not that far.
Developing a simple remote for my openhab, I have got the app but do not want to unlock my phone, open the app to do stuff

版本变更

上市日期 产品变动 备注:
2020.6 首次发售 /
2021.7 CP2104替换为CH9102F 实际发货有CP2104/CH9102F两个芯片版本, 功能与使用上并无差异
2023.2 取消RTC纽扣电池 不影响定时功能
2023.10 锂电池容量更改为500mAh /

FAQ

问: 内存卡读取失败的话,可以在初始化添加下列代码,增加主机内存卡读取能力。

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);
 }

问:如何判断core2的电量大小呢?


#include <M5Core2.h>

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

问:如何在CORE2上显示图片?(使用C语言)

  • 1.创建一个320*240像素的jpg图像,命名为logo.jpg
  • 2. 下载源文件 解压之后,在文件夹里面打开中断,输入.\conver.ps1,将结果替换到下面的源文件的数组中。
  • 3.打开drawImageData_core2_Pure.ino程序,将上面得到的二进制结果替换到下面的数组中。
  • 4.上传程序结果如下图:
    module sizemodule sizemodule size