pdf-icon

CoreS3

SKU:K128

Description

CoreS3 is the third-generation main controller of the M5Stack development-kit series, based on the ESP32-S3 solution featuring a dual-core Xtensa LX7 processor running at 240 MHz with built-in Wi-Fi. It integrates 16 MB Flash and 8 MB PSRAM. Programs can be downloaded through the Type-C port, and OTG & CDC functions are supported for connecting USB devices and flashing firmware.

The front houses a 2.0-inch capacitive-touch IPS panel protected by high-strength glass. Below the screen is a 0.3 MP GC0308 camera paired with an LTR-553ALS-WA proximity sensor. Power is managed by an AXP2101 PMU and four power-path control circuits, delivering a low-power design. Onboard sensors include a six-axis IMU BMI270 and a magnetometer BMM150. Additional peripherals comprise a TF-card (microSD) slot and a BM8563 RTC, enabling precise time-keeping plus sleep/timed-wake-up functions.

For audio, a 16-bit I2S amplifier AW88298 drives the built-in 1 W speaker, while an ES7210 audio codec provides dual-microphone input. Independent POWER and RESET (RST) buttons are located on the side; long-pressing the RESET button enters download mode via a self-built delay circuit.

The kit ships with a DinBase for DIN-rail, wall-mount or screw mounting. It can be powered by an external DC 12 V (9 ~ 24 V) supply or an internal 500 mAh Li-ion battery. Multiple proto areas on the DinBase ease DIY expansion.

Ideal for IoT development, DIY projects, smart-home control systems and industrial automation control systems.

Tutorial

This tutorial explains how to program and control CoreS3 using Arduino IDE.
This tutorial shows how to control CoreS3 via the UiFlow2 graphical programming platform.
This tutorial describes how to connect CoreS3 to Home Assistant.

Features

  • ESP32-based development, Wi-Fi, 16 MB Flash, 8 MB PSRAM
  • Built-in camera, proximity sensor, speaker, power-indicator LED, RTC, I2S amplifier, dual microphones, capacitive touch screen, power button, reset button, gyroscope
  • TF-card slot
  • High-strength glass panel
  • Supports OTG & CDC functions
  • AXP2101 power management, low-power design
  • Development Platform
    • UiFlow2
    • Arduino IDE
    • ESP-IDF
    • PlatformIO

Includes

  • 1 × CoreS3
  • 1 × DinBase
  • 1 × Hex Key L-Shape 2.5 mm (For M3 Screw)
  • 4 × Screw Buckle
  • 1 × Rail-mount Base Buckle

Applications

  • IoT development
  • DIY project development
  • Smart-home control systems
  • Industrial automation control systems

Specifications

Specification Parameter
SoC ESP32-S3@Xtensa LX7, 16 MB Flash & 8 MB PSRAM, Wi-Fi, USB-OTG
Touch IPS LCD 2.0" @320 x 240 ILI9342C
Camera GC0308 @0.3 MP
Proximity Sensor LTR-553ALS-WA
Power Management AXP2101
Six-axis IMU BMI270
Three-axis Magnetometer BMM150
RTC BM8563
Speaker 16-bit I2S amplifier AW88298 @1 W
Audio Codec ES7210, dual-microphone input
Product Size Whole set (CoreS3+DinBase): 69.0 x 54.0 x 31.5 mm Main unit (CoreS3): 54.0 x 54.0 x 15.5 mm
Product Weight 72.7 g
Package Size 105.6 x 66.0 x 35.3 mm
Gross Weight 101.8 g

Learn

BMM150 Magnetic Interference
Products containing magnets may interfere with the BMM150 magnetic sensor, resulting in abnormal readings. When used with M5 controllers that have magnets, remove the magnets and avoid placing the BMM150 near strong magnetic fields.

Download Mode

Long-press the RESET button for 3 s (green LED on) to enter download mode before flashing firmware.

Power On/Off

  • Power-on: single-click the left POWER button
  • Power-off: long-press the left POWER button for 6 s
  • Reset: single-click the bottom RST button

Power Management

CoreS3 uses the AXP2101 PMU. Configure power input/output according to the diagram below; refer to M5Unified for detailed code examples.

Certifications

  • CE/MIC/FCC/SAR

Schematics

PinMap

LCD Screen

LCD resolution: 320 x 240

ESP32-S3 GPIO37 GPIO36 GPIO3 GPIO35
ILI9342C MOSI SCK CS DC
AW9523B P1_1
ILI9342C RST
AXP2101 DLDO LX1
ILI9342C BL PWR

TF Card

Maximum 16 GB

ESP32-S3 GPIO35 GPIO37 GPIO36 GPIO4
TF Card MISO MOSI SCK CS

Camera & Proximity Sensor LTR-553ALS-WA

ESP32-S3 GPIO12 GPIO11 GPIO45 GPIO46 GPIO38
GC0308 I2C_SYS_SDA I2C_SYS_SCL CAM_PCLK CAM_VSYNC CAM_HREF
LTR-553ALS-WA I2C_SYS_SDA I2C_SYS_SCL
AW9523B P1_0
GC0308 CAM_RST

The LTR-553ALS-WA proximity sensor and GC0308 camera share the same FFC cable and communicate via I2C. Refer to the table above for detailed addresses.

CAP.TOUCH (I2C Addr: 0x38)

ESP32-S3 GPIO12 GPIO11
FT6336U I2C_SYS_SDA I2C_SYS_SCL
AW9523B P0_0 P1_2
FT6336U TOUCH_RST TOUCH_INT

Microphone & Amplifier

ESP32-S3 GPIO12 GPIO11 GPIO34 GPIO33 GPIO13 GPIO14 GPIO0
ES7210 (0x40) I2C_SYS_SDA I2C_SYS_SCL I2S_BCK I2S_WCK I2S_DATO I2S_MCLK
AW88298 (0x36) I2C_SYS_SDA I2C_SYS_SCL I2S_BCK I2S_WCK I2S_DATI
AW9523B P0_2 P1_3
AW88298 AW_RST AW_INT

AXP Power Indicator LED

AXP2101 AXP_CHG_LED
Red LED RTC_VDD

RTC

ESP32-S3 GPIO12 GPIO11
BM8563 I2C_SYS_SDA I2C_SYS_SCL
AXP2101 IRQ
BM8563 AXP_WAKEUP

IMU (3-axis Gyro + 3-axis Accel + 3-axis Magnetometer)

ESP32-S3 GPIO12 GPIO11
BMI270 I2C_SYS_SDA I2C_SYS_SCL

Internal I2C

ESP32-S3 GPIO12 GPIO11
BMI270 I2C_SYS_SDA I2C_SYS_SCL
AXP2101 I2C_SYS_SDA I2C_SYS_SCL
BM8563 I2C_SYS_SDA I2C_SYS_SCL
ES7210 I2C_SYS_SDA I2C_SYS_SCL
AW88298 I2C_SYS_SDA I2C_SYS_SCL

BMM150

BMI270 BMI270_ASDx BMI270_ASCx
BMM150 BMM_SDA BMM_SCL
BMM150 Mounted on BMI270
BMM150 is connected through the BMI270 Sensor Hub auxiliary I2C interface, enabling unified 9-axis sensor data acquisition.

HY2.0-4P

HY2.0-4P Black Red Yellow White
PORT.A GND 5 V G2 G1
PORT.B GND 5 V G9 G8
PORT.C GND 5 V G17 G18

CoreS3 M5-Bus Diagram

FUNC PIN LEFT RIGHT PIN FUNC
GND 1 2 G10 ADC
GND 3 4 G8 PB_IN
GND 5 6 RST EN
MOSI G37 7 8 G5 GPIO
MISO G35 9 10 G9 PB_OUT
SCK G36 11 12 3V3
RXD0 G44 13 14 G43 TXD0
PC_RX G18 15 16 G17 PC_TX
Int SDA G12 17 18 G11 Int SCL
PORT.A SDA G2 19 20 G1 PORT.A SCL
GPIO G6 21 22 G7 GPIO
I2S_DOUT G13 23 24 G0 I2S_LRCK
HVIN (Base DIN) 25 26 G14 I2S_DIN
HVIN (Base DIN) 27 28 5 V
HVIN (Base DIN) 29 30 BAT

Core Series PinMap Comparison

Model Size

module size

Datasheets

Softwares

Quick Start

Arduino

UiFlow2

PlatformIO

[env:m5stack-cores3]
platform = espressif32@6.7.0
board = esp32-s3-devkitc-1
framework = arduino
upload_speed = 1500000
monitor_speed = 115200
build_flags =
    -DESP32S3
    -DBOARD_HAS_PSRAM
    -mfix-esp32-psram-cache-issue
    -DCORE_DEBUG_LEVEL=5
    -DARDUINO_USB_CDC_ON_BOOT=1
    -DARDUINO_USB_MODE=1
lib_deps =
    M5Unified=https://github.com/m5stack/M5Unified

ESP-IDF

Easyloader

Easyloader Download Note
CoreS3 Touch-panel Repair Firmware Easyloader download /
CoreS3 Factory Firmware Easyloader download /

Other

Chip ADDRESS
AW88298 0x36
AW9523 0x58
AXP2101 0x34
BM8563 0x51
BMI270 0x69
BMM150 0x10
ES7210 0x40
FT6336 0x38
GC0308 0x21
LTR553 0x23

Video

  • Get to Know CoreS3

  • How to Program with USB in UiFlow2

  • Flash UIFLow2x to CoreS3