M5StickC plus – an ESP32-Pico based module

In this article we look at the M5StickC Plus from m5stack which is a development module based on the ESP32-PICO.

This is very similar to the The M5StickC – a compact ESP32 based development board but there are a couple of enhancements to the original which make this a better option.

In the image below you can see the front and back of the device and a nice view of the features that are built in.

Lets look at some of the features of the M5StickC Plus


As you can see in the image above this has a very similar feature set to the M5Stick with a couple of enhancements in that it has a larger display, a buzzer and the battery is a higher capacity

ESP32 At the heart of the device is an ESP32 which has a 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi capabilities, dual mode Bluetooth
Flash Memory There is 4MB of flash memory available
Power Input The device requires 5V power
Ports There is 1 USB Type C port ,a GROVE connector and an expansion port
LCD screen The device has a 1.14inch, 135*240 LCD TFT LCD which is controlled by a ST7789v2 chip
Button You have 2 Custom buttons which you can use
LED There is a RED LED on the board
Buzzer There is an on board buzzer
MEMS The MPU-6886 is a 6-axis motion tracking device that combines a 3-axis gyroscope and a 3-axis accelerometer
IR There is an IR transmitter on board
MIC There is a built in microphone which is the SPM1423HM4H-B this is a miniature, high-performance, low power, digital microphone with a single bit PDM output
RTC The M5StickC has a BM8563 for RTC functions
PMU An AXP192 chip is used for the integrated power system management, for single core lithium batteries (lithium ion or lithium polymer) and multi-channel switching power
Battery There is a 3.7v battery which can supply 120 mAh
Antenna There is a 2.4G 3D Antenna built in




The board supports UIFlow, Arduino and MicroPython development environments.

For Arduino development you need to add ESP32 support via the board manager by adding the following ESP32 Boards Manager url to the Additional Boards Manager URLs:


Once all of the required files are downloaded then you need to Navigate to Tools->Board:->Boards Manager and then Search ESP32 in the pop-up window, find it and click Install

Under T Tools->Board:-> ESP32 Arduino you will see M5Stick-C in the list

There are a couple of code samples available from https://github.com/m5stack/M5StickC-Plus

When you power the unit on the factory example will run, pressing the A button will cycle through the various example, here are some screenshots of the examples – there is a MPU-6886 , an IR transmitter , a microphone , an RTC and bluetooth example in the factory installed code.

You can also use UIFlow which is a nice and easy graphical development environment similar to the makecode one which is available for the Microbit.

This is what the gui of UIFlow looks like

You can see that there is an icon for the M5Stick and the com port . Once selected you can drag and drop blocks as desired, the tool can check for updates and also install the driver for the board

This allows you to drag and drop blocks on the screen to create your programs and there is also an option to switch to python code as well.

The M5StickC-Plus can use most of the same programs of M5StickC. Due to hardware differences such as the display which uses a different controller chip, you need to download the M5StickC-Plus library before compiling the program and modify the header file reference in the program as M5StickCPlus.h.


There is a grove style connector and an 8 pin external connector. There are a few modules available for the 8 pin expansion connector.

a PIR expansion board, a speaker and an environmental one which contains a BMM150, BMP280 and a DHT12

You can see the hat fitted to the M5Stick C plus.

You can develop your own and in fact there is a prototyping hat available. In the image at the top of this article you can see the pins that are available via the connector


I have  a couple of links, shipping will vary and prices as well depending where you buy them but I have put in rough prices when I checked out the sources

Vendor Cost
Amazon Com listing $26



A robust little development board with a number of expansion options. This would make it ideal for IoT projects and with easy integration with the Arduino IDE, UiFlow and Micropython its easy to get started with.

The slightly larger screen than the m5Stick C is a real bonus and if you have a choice I would buy this one rather than that simply because of the screen, built in buzzer and improved battery performance

Another good product from M5Stack