M5GO IoT Starter Kit v2.6


Tutorials & Quick Start

Select the development platform you want to use, view the corresponding tutorials to get started.

UIFlow Arduino


The M5GO IoT Starter Kit is a cost effective IoT starter development kit. The kit contains Core Controller M5GO + 6 expansion units with different functions (sensors/actuators/splitters) + . The core controller M5GO adopts Espressif ESP32 chip, equipped with 2 low-power Xtensa® 32-bit LX6 microprocessors, with a main frequency of 240MHz. With 16M FLASH memory for larger program size. Besides its powerful , the MCU also supports WiFi & Bluetooth dual-mode, which can be used to build smart wearable devices, smart home and other applications.

Product Features

  • Based on ESP32 development
  • 16M FLASH
  • Integrated HD IPS display panel with various hardware peripherals
  • Rich resources interface, compatible with M5Stack stacking modules and sensors, Strong expandability
  • The base is compatible with 8mm size LEGO blocks, the structures just so interesting!
  • Microsoft Azure authentication device
  • Compatible with multi-platform development:

M5GO IoT controller

  • Low code development:
    • Supports UIFlow graphical programming platform, scripting-free, cloud push
    • Fully compatible with Arduino, ESP32-IDF and other mainstream development platforms
    • FreeRTOS support, with dual-core and multitasking mechanism, it can perform the tasks efficiently, Program optimization.
  • High integration.
    • 2.0-inch IPS display panel, 6-axis IMU, programmable RGB lights x10, microphone, speaker, custom buttons x3
    • Built-in Li-ion power supply, integrated power management chip, supports TypeC interface and POGO PIN interface power supply
    • Finely tuned RF circuitry for stable and reliable wireless communication
  • Strong expandability.
    • GROVE expansion ports x3 (I2C, GPIO, UART)
    • Easy access to M5Stack hardware and software system, stackable module design, plug-and-play sensor expansion

6x expansion units

  • ENV UNIT III: Temperature, humidity, and atmospheric pressure sensors, with I2C communication interface for rapid acquisition of environmental information.
  • PIR UNIT: Body sensor, passive pyroelectric for human body sensing, digital signal output status.
  • ANGLE UNIT: Knob Potentiometer, analog signal input for music/lighting adjustment
  • IR UNIT: Integrated infrared transmitter, receiver. Free coding, infrared transceiver.
  • RGB UNIT: 3x Programmable RGB LED, support programming to control any color display
  • HUB UNIT: I2C device splitter, expand single I2C bus to 3 channels, can access different I2C address devices

Switch on/off operation:
Power on: Click the left red button
Power off: Quick double click the left red button
USB power: By default, It can not be shutdown when USB power is on.

USB drive

Before using, please go to download page to download the USB driver that matches your operating system, and install it.
Note: M5GO currently has two CP2104/CH9102F A USB chip version, users can install the drivers (CH34x and CP210x) that are compatible with two ICs at the same time to ensure that the device drivers work normally.


  • 1x M5GO
  • 6x Units(ENV III, IR, RGB, PIR, ANGLE, HUB)
  • 4x LEGO Blocks
  • 12x LEGO Connections
  • 4x GROVE cable
  • 1x Type-C USB (20cm)
  • 1x Quick Start Guide


  • STEM Education
  • IoT Controller
  • Smart Home
  • Smart Weather Station


Specifications Parameters
ESP32-D0WDQ6-V3 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, dual mode Bluetooth
Flash 16MB
Input Voltage 5V @ 500mA
Host Interface TypeC x1, POGO PIN x1, I2C x1, GPIO x1, UART x1
IPS Screen 2 inch, 320x240 Colorful TFT LCD, ILI9342C, 853nit max brightness
Keys Custom Keys x 3
Speaker 1W-0928
Microphone Analog BSE3729 Microphone
IMU 6-axis MPU6886
USB Chip CH9102F
LED SK6812 RGB LED x 10
Antenna 2.4G 3D antenna
Battery 500 mAh @ 3.7V
Operating Temperature 0°C to 40°C
Net Weight 56.4g
Gross Weight 228g
Product Dimensions 54 x 54 x 21 mm
Package Size 147 x 90 x 40 mm
Cover Material Plastic ( PC )

M5GO base

Click for details of parameters


EasyLoader is a simple yet fast program burner has a built-in product-related case programs, which can be burned to the master in simple steps to verify function verifications.

Download Windows Version Easyloader

Case Description:
Load the UIFlow firmware, the built-in demo program supports accelerometer, LED BAR, microphone, keypad and some peripheral sensors testing, the firmware can be used for UIFlow graphical programming.

Pin Mapping

LCD screen & TF card

LCD Pixel: 320x240 TF card support up to 16GB


Button & Speaker

Speakers Speaker Pin

GROVE Interface A & IP5306

The power management chip (IP5306) is a custom I2C version, and its I2C address is 0x75. Click here to view the IP5306's register manual.


IP5306 charge/discharge, voltage parameters

Charging Discharging
0.00 ~ 3.40V -> 0% 4.20 ~ 4.07V -> 100%
3.40 ~ 3.61V -> 25% 4.07 ~ 3.81V -> 75%
3.61 ~ 3.88V -> 50% 3.81 ~ 3.55V -> 50%
3.88 ~ 4.12V -> 75% 3.55 ~ 3.33V -> 25%
4.12 ~ / -> 100% 3.33 ~ 0.00V -> 0%

MPU6886 3-axis accelerometer + 3-axis gyroscope

MPU6886 I2C address 0x68


M5GO Base Pins

GROVE Interface B


GROVE Interface C


LED strip & microphone & speaker

hardwareSIG PinMIC Pin Speaker Pin

M5 Port Description

PORT-A(red) G21/22 I2C
PORT-B(black) G26/36 DAC/ADC
PORT-C(blue) G16/17 UART


8 Channel 10 Channel 2 Channel 2 Channel
G32-39 G0/2/4/12-15/25-27 G25 G26



When use the RGB LEDs of GPIO15, we recommend initialize the pins Mode(15, OUTPUT_OPEN_DRAIN); For more info about pin assignment and pin remapping, please refer to ESP32 datasheet



Remote control from OBS and M5GO using mqtt and OBS websock
I used mqtt to control the switching of the scene of OBS moving on PC from other devices.
M5Stack COM. LoRaWAN Using Arduino IDE
M5Stack recently released an updated LoRaWAN module. This tutorial teaches you how to connect it to The Things Network using Arduino IDE.
2 Servos, 1 Grove Port
Control two servos using only one grove port on M5Stack products.
RTC Modules with M5Stack
Out of the M5Stack family only the M5StickC has an inbuilt RTC. Here's how to add one to your other M5Stack devices
DIY Camera with Thermal Printer
A DIY project conduct with a thermal printer and M5Camera.
M5 Mini Hackathon
A inner maker competition of M5Stack.
Remote reading system by M5Stack and K210
This report is a technical report of an example of Internet of things detector for domestic water meter. Copyright belongs to the author
M5 Supermarket
This application will focus on simulating the addition and payment of goods in unmanned supermarkets.

Case program


  • Click here to see the Arduino example
  • About M5Stack
Version Updates
Release Date Product Changes Notes
2018.4 First Release /
2019.6 MPU9250 changed to MPU6886+BMM150 /
2019.7 Change TN screen to IPS screen Please upgrade your M5Stack library to the latest version (v0.2.8 or above) to solve the screen reflection problem.
2019.11 Battery capacity 600mAh changed to 500mAh /
2020.6 Change ENV Unit to ENV II in the package /
2021.8 Upgrade to v2.6: BMM15O magnetometer removed, CP2104 changed to CH9102, structure details optimized, ENV Unit changed to ENV III /