MakerLab
ESP32M5Atom Lite

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.

M5Atom Lite

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 / SoCESP32-PICO-D4 module (based on ESP32-D0WDQ6)
ArchitectureDual-core Tensilica LX6
Clock speedUp to 240 MHz
Flash / Storage4 MB (integrated in PICO-D4 module)
RAM / SRAM520 KB SRAM
Operating voltage3.3V
Digital I/O pins10 (exposed)
Analog / ADC3 (shared with GPIO)
PWMUp to 16 channels
ConnectivityWi-Fi 802.11 b/n/g, Bluetooth v4.2 BR/EDR and BLE
USBUSB Type-C (for power and programming)
Power inputUSB Type-C (5V), VIN pin (3.7V LiPo battery)
Dimensions24 x 24 x 9 mm

Pinout & pin functions

PinFunction
GNDGround
3V33.3V Power Output
VINBattery Input (3.7V LiPo)
GPIO0Boot/Program button input, GPIO
GPIO2Built-in Dot Matrix Display (SPI)
GPIO4Built-in Dot Matrix Display (SPI)
GPIO5Built-in Dot Matrix Display (SPI)
GPIO12Built-in Dot Matrix Display (SPI)
GPIO13Built-in Dot Matrix Display (SPI)
GPIO14Built-in Dot Matrix Display (SPI)
GPIO15Built-in Dot Matrix Display (SPI)
GPIO18Built-in Dot Matrix Display (SPI)
GPIO19Built-in Dot Matrix Display (SPI)
GPIO21I2C SDA
GPIO22I2C SCL
GPIO23UART RX / GPIO
GPIO25ADC1_CH8 / GPIO
GPIO26ADC1_CH9 / GPIO
GPIO27ADC1_CH7 / GPIO
GPIO32GPIO
GPIO33GPIO
GPIO34Input only ADC1_CH6 / GPIO
GPIO35Input only ADC1_CH4 / GPIO
GPIO36Input only ADC1_CH0 / GPIO
GPIO39Input only ADC1_CH3 / GPIO
Built-in ButtonConnected to GPIO0
Built-in IR LEDConnected to GPIO14
Built-in Dot Matrix DisplayUses 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.

Project ideas

Miniature Weather StationDisplaying temperature and humidity from a connected I2C sensor (e.g., BME280 on GPIO21/22) on the built-in dot matrix display. Learns about I2C communication, sensor interfacing, and display control.
Smart Home RemoteUsing the built-in button and IR LED to control a TV or other IR-enabled devices. Learns about GPIO input, IR transmission protocols, and remote control concepts.
Wearable Notification DeviceReceiving notifications via Wi-Fi (e.g., from a web server or MQTT) and displaying simple alerts on the dot matrix display. Learns about Wi-Fi connectivity, network protocols, and basic UI design.
Gesture Control InputUsing an accelerometer or gyroscope (connected via I2C) to detect gestures and send commands over Wi-Fi or Bluetooth. Learns about motion sensing, I2C communication, and wireless control.
IoT Data LoggerReading data from multiple sensors (e.g., analog light sensor on GPIO34, digital temperature sensor) and logging it to an SD card (requires an external module) or sending it to a cloud service via Wi-Fi. Learns about data acquisition, storage, and cloud integration.
Bluetooth Low Energy (BLE) BeaconBroadcasting custom data at regular intervals using BLE. Learns about BLE advertising, custom data payloads, and low-power wireless communication.

Buying tips & gotchas

When purchasing the M5Atom Lite, be aware that there are many M5Stack products. Ensure you are buying the 'Lite' version if you specifically need the minimal feature set without a microphone or speaker. Clones may exist, so buy from reputable distributors. Accessories like Grove connectors, battery expansion boards, and waterproof cases can significantly enhance your projects. Always use a good quality USB-C cable for reliable power and programming. Double-check pin definitions in your chosen programming environment, as some libraries might abstract them differently.