The M5Stack Core2 is a next-generation development platform from M5Stack, designed to provide an all-in-one solution for IoT (Internet of Things) projects, robotics, and embedded systems development. Here’s an in-depth look at its features, capabilities, and potential applications:

Hardware Features
- Microcontroller:
- At its core, the M5Stack Core2 uses the ESP32-D0WDQ6 with a dual-core Tensilica LX6 microprocessor running at up to 240MHz. This chip provides Wi-Fi and Bluetooth capabilities.
- Display:
- A 2.0″ IPS LCD touchscreen with a resolution of 320×240 pixels, offering vibrant colors, sharp text, and responsive touch input.
- Memory:
- 4MB PSRAM: For high-speed data processing and storage.
- 8MB Flash: For firmware storage and data retention.
- Connectivity:
- Wi-Fi: For internet connectivity, OTA updates, and IoT communication.
- Bluetooth 4.2: For short-range wireless communication with other devices.
- Sensors and Actuators:
- 6-Axis IMU (Inertial Measurement Unit): Includes an accelerometer and gyroscope for motion sensing.
- Microphone: For audio input.
- Speaker: For audio output, enhancing interaction and feedback.
- Buttons and Controls:
- Side Buttons: Two programmable buttons for user input.
- Joystick: A miniature joystick for navigation and control.
- Power Management:
- Built-in 390mAh Battery: With a Type-C port for charging and programming.
- RTC (Real-Time Clock): For timekeeping, allowing for scheduled operations and sleep modes.
- Expansion Options:
- Grove Ports: Two Grove connectors for easy integration with M5Stack’s Grove ecosystem, allowing for the connection of various sensors and actuators.
- HY2.0-4P Header: For additional I2C, UART, or GPIO expansion.
- Other Features:
- MicroSD Card Slot: For expanded storage and data logging.
- Vibration Motor: For haptic feedback.
Development and Programming
- Development Platforms:
- Arduino IDE: With specific libraries like M5Stack for programming the Core2.
- MicroPython: Offers an alternative programming environment for those preferring Python.
- UIFlow: M5Stack’s visual programming environment for drag-and-drop coding.
- Software Features:
- M5Stack Library: Provides easy-to-use functions for controlling hardware components and interacting with sensors.
- UIFlow: Simplifies development with a block-based programming interface.
Applications
The M5Stack Core2 is versatile and can be used in:
- IoT Projects: Ideal for building IoT devices that require a display, connectivity, and interaction capabilities.
- Wearable Devices: Its compact size and built-in battery make it suitable for wearable tech projects.
- Robotics: The IMU and joystick can be used for controlling robots or as part of a robotic system.
- Prototyping: Its all-in-one design makes it perfect for quick prototyping of electronic ideas.
- Education: As an educational tool to teach electronics, programming, and IoT concepts.
- Home Automation: For building custom control panels or interfaces for smart home devices.
Benefits
- All-in-One Design: Combines display, microcontroller, sensors, and connectivity in a single unit, reducing the need for multiple components.
- Versatility: Suitable for a wide range of applications from simple to complex IoT projects.
- Ease of Use: The Grove system and pre-installed firmware make it accessible for beginners, while still offering depth for advanced users.
- Compact and Portable: Its small size allows for easy integration into various projects or as a standalone device.
- Community and Ecosystem: Supported by a large community, with plenty of tutorials, examples, and support available.
Usage and Development
- Setup:
- Install the necessary drivers and libraries in your chosen development environment (Arduino IDE, MicroPython, or UIFlow).
- Connect the Core2 via USB-C for programming and power.
- Programming:
- Write code to interact with the onboard sensors, display, and peripherals using the appropriate libraries or frameworks.
- Expansion:
- Add Grove modules or external devices via the available interfaces to extend functionality.
- Deployment:
- Use the Core2 in your project, either standalone or integrated with other M5Stack modules or external hardware.
M5Core2 is the second generation core device in the M5Stack iot development kit series, which further enhances the functions of the original generation of cores.
The MCU is an ESP32 kits 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 Management
Operations:
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
USB drive
Before using, please go to download page 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 (CH9102
and CP210x
) that are compatible with two ICs at the same time to ensure that the device drivers work normally.
Extensions
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.
Some of the screen edges will have touch non-linearity problem, you can try to use M5Tool to upgrade the screen firmware to solve this problem.
Product Features
- ESP32-based, built-in Bluetooth/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
Specification
Resources | Parameter |
---|---|
ESP32-D0WDQ6-V3 | 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, Bluetooth |
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 | 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) |
Net Weight | 52g |
Gross Weight | 70g |
Product Size | 54 x 54 x 16mm |
Package Size | 75 x 60 x 20mm |
Case Material | Plastic ( PC ) |
Conclusion
The M5Stack Core2 is a powerful, all-in-one development board that combines ease of use with extensive capabilities. Its integration of multiple functionalities in a single, compact device makes it an excellent choice for developers looking to quickly prototype and develop IoT, robotics, or embedded systems projects. Whether you’re a hobbyist, educator, or professional developer, the Core2 offers a robust platform to bring your ideas to life with its touch display, connectivity options, and rich set of sensors and actuators.