M5Stack is an ESP32 development system

Even if you are only remotely interested in microcontrollers chances are that you have heard about the ESP32, the heart and brains of the M5Stack. This extremely powerful yet low-cost chip includes Wi-Fi and Bluetooth and has quickly become popular over the past year or so. Programming it is easy as the familiar Arduino IDE can be used.

M5Stack insides
Inside the M5Stack.

A different approach

Today’s microcontroller development boards are mostly small boards with pin headers that plug into a breadboard or onto some other board. The M5Stack that we examine in this article takes a different approach as projects developed on it can be finished products at the same time. This is possible because the dev board is already built into a nice-looking enclosure with a graphical display, pushbuttons, microSD card slot, USB-C, loudspeaker, and extension connectors.

The main module consists of a 13-mm (0.51”) high plastic square box with 5.4-mm (2.13”) sides. Turning the module upside-down reveals the circuit board. It is not as dense as you might expect. The ESP32 and its accompanying 4 MB flash memory chip are hidden by a metal cover; the other ICs are for power, USB, and audio. The SPI display (ILI9341-based) is connected through a flat cable soldered to the backside of the PCB.

M5Stack GPS module
Add localisation to your stack with the GPS module.

Stacking modules

If the stuff mounted on the main module is all you need, then you can close the module with a bottom plate. The basic bottom plate has extension connectors on it that allow access to all sorts of I/O pins of the ESP32. It also hides a tiny LiPo battery. However, other modules are available featuring functions like LoRa, GSM or GPS. The use of custom circuitry is possible too thanks to the proto module.