M5Stack · ESP32 · 1.14" · 135×240
M5Stack M5StickC Plus2 1.14" specifications
The M5StickC Plus2 is M5Stack's all-in-one stick computer: a 1.14-inch 135×240 TFT (ST7789V2) on a 48 × 24 mm body with a built-in 200 mAh battery, so it runs untethered out of the box.
It is powered by an ESP32-PICO-V3-02 with 8 MB of flash and 2 MB of quad PSRAM. On board are an MPU6886 IMU, a BM8563 RTC, an SPM1423 microphone, a passive buzzer, an IR emitter and three buttons, one of which doubles as the power button.
A Grove port and the top HAT header connect M5Stack's sensor Units and HATs. Power is kept on by the HOLD pin (GPIO 4), which the firmware has to set at start-up when running from the battery. LCD Ultra Pro supports the stick in portrait and landscape.
- Screen
- 1.14" · 135×240
- Chip
- ESP32
- Memory
- 8 MB flash, 2 MB PSRAM
- Input
- no touch
Key features
- 1.14-inch TFT, 135×240, ST7789V2
- ESP32-PICO-V3-02: 8 MB flash, 2 MB PSRAM
- Built-in 200 mAh battery
- MPU6886 IMU, BM8563 RTC, microphone
- Buzzer, IR emitter, three buttons
- Grove port and HAT header
Specifications
| Manufacturer | M5Stack |
|---|---|
| Screen size | 1.14" |
| Resolution | 135×240 px |
| Colour depth | 16-bit |
| Display controller | ST7789V2 (SPI) |
| Display interface | SPI |
| Touch | None — 2 physical button(s) instead |
| Microcontroller | ESP32 |
| Module | ESP32-PICO-V3-02 |
| CPU clock | 240 MHz |
| Internal SRAM | 520 KB |
| PSRAM | 2 MB |
| Flash | 8 MB |
| Wi-Fi | Yes |
| Bluetooth | Yes |
| IMU | MPU6886 6-axis |
| RTC | BM8563 |
| Microphone | SPM1423 |
| Audio | Passive buzzer |
| IR | IR emitter (shares GPIO 19 with the red LED) |
| Battery | 200 mAh @ 3.7 V, power hold on GPIO 4 |
| Buttons | A, B, C (C = power/reset) |
| Expansion | Grove HY2.0-4P, HAT header |
| Dimensions | 48.0 × 24.0 × 13.5 mm, 16.7 g |
| Development platforms (manufacturer) | UiFlow1, UiFlow2, Arduino IDE, ESP-IDF, PlatformIO |
GPIO pinout
The GPIOs the board itself uses — display, touch and on-board peripherals — as published in the manufacturer’s documentation.
| GPIO | Function |
|---|---|
| GPIO 2 | Passive buzzer |
| GPIO 4 | POWER_HOLD (must stay HIGH) |
| GPIO 5 | TFT_CS |
| GPIO 12 | TFT_RST |
| GPIO 13 | TFT_SCLK |
| GPIO 14 | TFT_DC |
| GPIO 15 | TFT_MOSI |
| GPIO 19 | Red LED / IR emitter (shared) |
| GPIO 21 | I2C_SDA (IMU MPU6886 + RTC BM8563) |
| GPIO 22 | I2C_SCL (IMU MPU6886 + RTC BM8563) |
| GPIO 27 | Backlight (TFT_BL) |
| GPIO 35 | BUTTON_C (power / wake, input-only) |
| GPIO 37 | BUTTON_A (input-only) |
| GPIO 38 | BAT_ADC (battery voltage) |
| GPIO 39 | BUTTON_B (input-only) |
Source: docs.m5stack.com, github.com. Always check against your board revision before wiring.
Free GPIOs and connectors
These GPIOs are not used by the display, touch or on-board peripherals, so you can wire your own sensors, buttons or relays to them.
| Pin | Capabilities | Note |
|---|---|---|
| GPIO 0 | GPIO, PWM, BOOT | On the top HAT header — boot strapping pin |
| GPIO 25 | GPIO, PWM, DAC | On the top HAT header — shares one header pin with GPIO 36: use only one of them |
| GPIO 26 | GPIO, PWM, DAC | On the top HAT header — ADC2, no analog input while WiFi is on |
| GPIO 32 | GPIO, PWM, ADC | Grove port (HY2.0-4P, yellow) |
| GPIO 33 | GPIO, PWM, ADC | Grove port (HY2.0-4P, white) |
| GPIO 36 | GPIO, ADC | On the top HAT header — input-only, shares one header pin with GPIO 25 |
- Grove port — GPIO 32, 33
HY2.0-4P (PORT.CUSTOM) — also a good I2C port for sensors
- Top HAT header — GPIO 0, 26, 25, 36
GPIO 25 and GPIO 36 are on the same header pin — use only one of them (36 is input-only)
Good to know before you start
- GPIO 25 and GPIO 36 share one HAT header pin — use only one of them; GPIO 36 is input-only.
- GPIO 26 is ADC2 and cannot read analog values while Wi-Fi is on.
- GPIO 0 on the HAT header is a boot strapping pin.
- The Grove port (GPIO 32/33) is a good I2C port for sensors.
What it is good for
- •Wearable and portable gadgets
- •Remote controls with IR
- •Data loggers with RTC timestamps
- •Motion and gesture controllers
LVGL support in LCD Ultra Pro
| Driver status | Matched to the manufacturer’s official demo, compile-tested |
|---|---|
| Arduino export | Complete LVGL 8.4 project with the display driver |
| USB Live preview | No |
| Orientations | 0°, 90° |
| Brightness control | Hardware backlight dimming |
Pick this board in the editor and the canvas matches its exact resolution and shape. Build the interface with widgets, add events without code, try it in Live Preview, then export it as a ready-to-compile Arduino project. See the documentation for the workflow.
Frequently asked questions
What is new in the M5StickC Plus2?
It uses an ESP32-PICO-V3-02 with 8 MB flash and 2 MB PSRAM, has a built-in 200 mAh battery and a HOLD pin (GPIO 4) for power control.
What resolution is the M5StickC Plus2 display?
135×240 pixels on a 1.14-inch TFT with an ST7789V2 controller.
How long does it run on its battery?
It has a 200 mAh battery; runtime depends on display brightness and Wi-Fi use.
Which sensors are built in?
An MPU6886 IMU, a BM8563 real-time clock and an SPM1423 microphone.
Sources
Specifications cross-checked against the manufacturer’s documentation (last checked 2026-10-27):
Last updated: