pdf-icon

M5Stack

Overview of M5Stack Hardware Products & Software Support

As a leading provider of IoT solutions, M5Stack builds a modular platform for IoT and rapid prototyping, integrating user-friendly hardware, graphical software, and customized services to help developers and enterprises quickly turn ideas into innovative products in scenarios such as IIoT, smart retail, smart home, AI applications, and STEM education.

Entry Link Description
Product Page Information pages for each product, including product images, features, packaging contents, specifications,
schematics, pin mapping, interfaces, dimensions, chip datasheets, development platform support, product videos, etc.
UiFlow Dev Introduction and tutorials for the UiFlow1 and UiFlow2 graphical development platforms,
including simple development examples for each supported product and function.
Arduino Dev Tutorials for installing Arduino IDE, board manager, and library manager,
simple development examples for supported main controllers and peripherals,
API documentation for M5Unified and M5GFX libraries.
Extended Applications Tutorials for integrating with 3rd-party platforms (e.g., OpenAI, Xiaozhi, Home Assistant, The Things Network, Meshtastic),
and dedicated tutorials for some products (e.g., camera firmware usage, factory reset, DIP switch settings).

Hardware Product System

M5Stack provides a rich variety of hardware products, covering a wide range of needs from main controllers to sensors / actuators, from beginner-level to advanced applications.

Controller Products

Controller Form Features
Core Series - Integrated screen, buttons, speaker, microphone, battery, and expansion interfaces.
- Main products include Core (Basic, Gray, Fire), Tough, Core2, CoreS3, Tab5, etc.
Stick Series - Designed for wearable and portable applications, slim and compact.
- Main products include StickC Plus, StickC Plus2, etc.
Atom Series - Ultra-compact size, suitable for embedded applications, IoT nodes, and portable projects.
- Main products include Atom Lite, Atom Echo, AtomS3, AtomS3U, AtomS3R, AtomS3R Cam, etc.
Stamp Series - Stamp-sized, minimal-form controllers, usually embedded in functional bases to form complete usable products.
- Examples include Dial, Cardputer, Air Quality, DinMeter, VAMeter, etc.
Paper Series - Uses E-Ink displays, low power consumption, suitable for scenarios requiring persistent information display.
- Main products include CoreInk, Paper, PaperS3, etc.
Others - Other non-standard form main controllers.
- Examples include LLM630 Compute Kit, Station, NanoC6, etc.

Peripheral Products

Peripheral Form Features
Unit Series - Includes a wide variety of sensors, actuators, interface expansions, motor drivers, HMI components (displays, lights, buttons, knobs), audio / video / cameras, and communication units.
- Can be easily connected to various controllers via HY2.0-4P Grove interface (see below).
Stack Series - Includes various sensors, actuators, interface expansions, motor drivers, HMI components (keypads, buttons, knobs), audio / video, communication, batteries, LLM modules.
- Categorized into Module, Module13.2, Base, and Faces, stackable via M5-Bus (see below) with Core series controllers.
Stick Series - Includes various sensors, actuators, interface expansions, motor drivers, HMI components (buttons, knobs), audio, communication, batteries.
- Easily connectable to Stick series controllers via pin headers.
- Called "Hat" series because the mounting resembles putting a hat on the controller.
Atom Series - Includes various sensors, actuators, interface expansions, motor drivers, audio / video, communication, batteries.
- Easily connectable to Atom controllers via pin headers.
- Those with built-in Atom controllers are called Atom Kits; those with data transmission features are Atom DTUs; those without controllers are Atomic Bases.
Stamp Series - Similar in form to Stamp controllers, can be used for PCB mounting or embedded in other products to expand hardware functionality.
Interest Kits - Interest kits using M5Stack main controllers, such as drones and robotic cars.
Accessories - Includes cables, servos, interface adapters, camera modules, structural parts (for fixing / connecting / mounting), downloaders, consumables / replacements, repair kits, and other accessories needed for controllers and peripherals.

Connection Overview

Software Dev Support

M5Stack's product ecosystem is not only rich and user-friendly in hardware but also provides a variety of software support options to suit developers with different backgrounds and skill levels.

M5Burner

M5Burner is a firmware platform for M5Stack products. It integrates functions such as firmware burning, exporting, publishing, sharing, and serial monitoring. The software provides official regularly updated product UserDemos (factory firmware), UiFlow firmware, and many interesting user-uploaded programs that can be easily and quickly flashed to devices.

Graphical Programming

  • Developed by M5Stack based on MicroPython and Blockly
  • Drag-and-drop programming in a graphical interface, greatly lowering the learning curve
  • Real-time code updates, no need to compile before running or debugging
  • Suitable for education, beginners, or rapid prototyping
  • Tutorials: UiFlow1, UiFlow2
  • Tools: UiFlow1, UiFlow2

Code Programming

  • Supports multiple languages, frameworks, and IDEs including Arduino, PlatformIO, ESP-IDF, and MicroPython
  • Widely used embedded development tools with mature ecosystems
  • Rich examples and strong community support, suitable for most developers
  • Suitable for complex projects, offering powerful debugging tools and flexible configurations

Board Manager and Driver Libraries

Item Links Description
Board Manager - Arduino IDE Board Manager Guide A dedicated board manager for M5Stack that allows easy installation and management of various board definitions to ensure compatibility and convenience.
M5Unified - M5Unified - GitHub
- M5Unified Docs
- Migration Guide
Unified driver library for all controllers, abstracting hardware differences and providing a consistent interface for simplified cross-device development. Recommended over older libraries.
M5GFX - M5GFX - GitHub
- M5GFX Docs
Graphics library designed to work with M5Unified.
Drivers for Each Controller —— Such as M5Stack, M5StickC, etc. As noted, migration to M5Unified is recommended.
M5UnitUnified - M5UnitUnified - GitHub Unified driver library for the Unit series peripherals. Currently in alpha stage.
Drivers for Each Peripheral —— Such as M5Unit-ENV, M5Unit-UHF-RFID, M5Unit-Roller, etc.
uiflow-micropython - uiflow-micropython - GitHub Underlying driver library for UiFlow; can also be used for pure MicroPython development.
lv_m5_emulator - lv_m5_emulator - GitHub M5Stack LVGL device emulator running on PC via PlatformIO, supports LVGL V8 and V9.
M5_Hardware - M5_Hardware - GitHub Structural and PCB files for some products.

Interface Protocols

To facilitate development, we provide standardized interfaces and protocol support for M5Stack devices.

HY2.0-4P Grove Interface

A modular and universal interface that allows rapid connection to various sensors and actuators without soldering, enabling quick hardware debugging. It includes a reverse-polarity protection design.

Interface Type Black Red Yellow White Standard Protocol
PORT.A GND 5V SDA SCL I2C
PORT.B GND 5V IO1 IO2 GPIO
PORT.C GND 5V TX RX UART
Others GND 5V General General General

M5-Bus

A stackable bus interface used by Core series controllers and the Module, Module13.2, and Base series peripherals. It consists of 2 rows of 15-pin 2.54 mm pitch headers.

UART (Universal Asynchronous Receiver-Transmitter)

A classic and widely used serial communication protocol for data transfer, serial monitoring, and debugging between devices. Common pins are TX and RX. Note: TX on one device should connect to RX on the other, and vice versa.

I2C (Inter-Integrated Circuit)

A two-wire communication protocol that is simple and widely used for sensors and display modules. Common pins are SDA and SCL.

SPI (Serial Peripheral Interface)

A high-speed serial communication interface often used to connect displays, memory devices, and advanced peripherals. Common pins are SS, SCLK, MOSI, and MISO.

Dev Helper Tools

EzData

EzData is a cloud-based IoT data storage service provided by M5Stack. Different devices can use a unique token to insert or retrieve data from a storage queue, enabling data sharing.

EasyLoader

The EasyLoader Packer tool allows you to package your code into an executable .exe file. This enables others to load your program directly into their devices without needing tools like the Arduino IDE. The generator is web-based so supports Windows, macOS, and Linux; the generated .exe is Windows-only.

Data Query & Comparison

I2C Addresses

Lists the I2C addresses of components in various controllers and peripherals, including fixed, programmable, and switchable addresses.

Product Spec Comparison

Comparison of hardware specifications across product series to assist in model selection.

Stack Screw Lengths

Required screw lengths when stacking different Core, Module, Module13.2, and Base components.

On This Page