M5Atom Lite: A Tiny ESP32 Powerhouse for Your Projects
The M5Atom Lite is a compact, feature-rich development board based on the ESP32 microcontroller, perfect for IoT and embedded projects.
The M5Atom Lite is a miniature development board from M5Stack, designed for rapid prototyping and educational purposes. It's part of the M5Stack ecosystem, known for its modularity and ease of use. This board packs a powerful ESP32 microcontroller into a tiny, breadboard-friendly form factor, making it ideal for projects where space is limited or for quickly testing ideas without complex wiring.
At its heart, the M5Atom Lite features the Espressif ESP32-PICO-D4 module. This module integrates a dual-core Tensilica LX6 microprocessor, Wi-Fi, and Bluetooth connectivity, along with a significant amount of SRAM and flash memory, all within a compact system-in-package (SiP). The ESP32 is renowned for its versatility, low power consumption, and robust performance, making it a popular choice for a wide range of embedded applications, from smart home devices to industrial control.
The M5Atom Lite distinguishes itself with its integrated components, including a small dot-matrix display, a programmable button, and an infrared emitter, all accessible via simple pin connections. This built-in functionality reduces the need for external components, accelerating development. It's particularly well-suited for makers who want to experiment with IoT, create wearable devices, or build compact sensor nodes, offering a balance of processing power, connectivity, and ease of use.
Released around 2020, the M5Atom Lite builds upon the success of earlier ESP32-based boards by focusing on extreme miniaturization and integrated peripherals. It targets makers, students, and embedded engineers who need a powerful yet accessible platform for learning and developing with the ESP32. Its small size and comprehensive feature set make it a compelling option for projects that demand both functionality and a minimal footprint.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | ESP32-PICO-D4 module (based on ESP32-D0WDQ6) |
| Architecture | Dual-core Tensilica LX6 |
| Clock speed | Up to 240 MHz |
| Flash / Storage | 4 MB (integrated in PICO-D4 module) |
| RAM / SRAM | 520 KB SRAM |
| Operating voltage | 3.3V |
| Digital I/O pins | 10 (exposed) |
| Analog / ADC | 3 (shared with GPIO) |
| PWM | Up to 16 channels |
| Connectivity | Wi-Fi 802.11 b/n/g, Bluetooth v4.2 BR/EDR and BLE |
| USB | USB Type-C (for power and programming) |
| Power input | USB Type-C (5V), VIN pin (3.7V LiPo battery) |
| Dimensions | 24 x 24 x 9 mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| GND | Ground |
| 3V3 | 3.3V Power Output |
| VIN | Battery Input (3.7V LiPo) |
| GPIO0 | Boot/Program button input, GPIO |
| GPIO2 | Built-in Dot Matrix Display (SPI) |
| GPIO4 | Built-in Dot Matrix Display (SPI) |
| GPIO5 | Built-in Dot Matrix Display (SPI) |
| GPIO12 | Built-in Dot Matrix Display (SPI) |
| GPIO13 | Built-in Dot Matrix Display (SPI) |
| GPIO14 | Built-in Dot Matrix Display (SPI) |
| GPIO15 | Built-in Dot Matrix Display (SPI) |
| GPIO18 | Built-in Dot Matrix Display (SPI) |
| GPIO19 | Built-in Dot Matrix Display (SPI) |
| GPIO21 | I2C SDA |
| GPIO22 | I2C SCL |
| GPIO23 | UART RX / GPIO |
| GPIO25 | ADC1_CH8 / GPIO |
| GPIO26 | ADC1_CH9 / GPIO |
| GPIO27 | ADC1_CH7 / GPIO |
| GPIO32 | GPIO |
| GPIO33 | GPIO |
| GPIO34 | Input only ADC1_CH6 / GPIO |
| GPIO35 | Input only ADC1_CH4 / GPIO |
| GPIO36 | Input only ADC1_CH0 / GPIO |
| GPIO39 | Input only ADC1_CH3 / GPIO |
| Built-in Button | Connected to GPIO0 |
| Built-in IR LED | Connected to GPIO14 |
| Built-in Dot Matrix Display | Uses multiple GPIOs, SPI interface |
Wiring & circuit basics
Powering the M5Atom Lite is straightforward. It can be powered via its USB Type-C port using a 5V power supply, such as a USB wall adapter or a computer's USB port. The board includes an onboard 3.3V voltage regulator, so you can safely connect 5V to the USB port. For battery-powered applications, a 3.7V LiPo battery can be connected to the VIN pin. Ensure the battery is rated for the typical current draw of the ESP32, which can peak during Wi-Fi transmissions.
All GPIO pins on the M5Atom Lite operate at 3.3V logic levels. This is crucial when interfacing with external components. Connecting a 5V device directly to a 3.3V GPIO pin can damage the ESP32. Conversely, connecting a 3.3V device to a 5V system might result in unreliable communication. Always use level shifters if you need to interface with 5V logic devices. For example, to safely connect a 5V sensor, you would use a bi-directional logic level converter on the data lines.
A common beginner project is to control an LED. Connect the anode (longer leg) of an LED to a digital GPIO pin, such as GPIO27. Connect the cathode (shorter leg) of the LED through a current-limiting resistor (typically 220-470 ohms) to a GND pin. This resistor protects both the LED and the ESP32 from excessive current. When you set GPIO27 HIGH (3.3V), current flows through the resistor and LED, turning it on. Setting GPIO27 LOW (0V) turns the LED off.
Programming & getting started
The M5Atom Lite is highly versatile in its programming environments. It fully supports the Arduino IDE, making it accessible for those familiar with the Arduino ecosystem. You'll need to add the ESP32 board support package to your Arduino IDE. For MicroPython and CircuitPython, dedicated firmware can be flashed, offering a Pythonic approach to embedded development. For advanced users and commercial applications, the Espressif IoT Development Framework (ESP-IDF) provides the most control and optimization. PlatformIO is another excellent choice, offering a robust IDE and build system for managing multiple projects and libraries.
To upload your first program using the Arduino IDE: 1. Install the Arduino IDE. 2. Go to File > Preferences and add `https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json` to the Additional Boards Manager URLs. 3. Go to Tools > Board > Boards Manager, search for 'esp32' and install it. 4. Select the correct board (e.g., 'ESP32 Dev Module' or a specific M5Stack board if available) and the correct COM port. 5. Write your code (e.g., a simple Blink sketch), connect the M5Atom Lite via USB, and click the Upload button.