EasyLoader (beta)

Current Product Don't Have Test Firmware

Note: pls, use PC chrome/edge browser, if can't connect, refresh the webpage.

1. Click connect button

2. After connected successfully, pick a firmware

3. Click the burn button

4. After burning successfully, Unplug the device and restart.


ATOM Printer



ATOM Printer offers the best value in a desktop DIY thermal printer, includes an ESP32-Pico based IoT controller ATOM Lite, and a 58mm thermal printer to meet your multiple printing requirements. Supports text, graphics, barcode, QR code printing. The ATOM Printer has geekery kraft packaging design, built-in firmware boasts two modes of AP Connect Print + MQTT Notifications Print . You can enrich your creation, fun and practical with ATOM Lite IoT controller.

Note: This kit excludes the power adapter. A DC 12V / 2.5A power adapter (5.5mm jack) is recommended.

Product Features

  • ATOM Lite: ESP32-Pico-D4 4MB Flash IoT controller
  • Sleek, Geekery kraft packaging design
  • Supports for text/graphics/BarCode/QRCode
  • Communication interface: UART
  • Fast printing, high resolution
  • How to use:
    • AP hotspot connection, web-controlled printing
    • Printing content sent via MQTT (Topic is device Mac address)
    • Serial command control (UART 9600bps 8N1)
    • Development platform: Arduino, UIFlow


  • 1x ATOM LITE
  • 1x ATOM Printer
  • 1x thermal paper roll
  • 1x sticky thermal paper roll


  • Can be widely used in printing taxi bill, parking bill, express delivery invoice, restaurant order and so on.


Specifications Parameters
Printing method Thermal printing
Supported text and graphics Text, graphics, characters, BarCode(Codebar, code93, code39, code128, ENA13, ITF25, UPC-A, UPC-E), QRCode
Supply voltage DC 12V
Working current 2.5A
Print color Monochrome
Print speed/resolution 60mm/s 203dpi 8 dots/mm up to 384 dots per line
Printing width 58mm
Service life Printing distance 50km
Paper Cut By Hands
Max. Diameter of Paper Roll 58mm±0.05mm (width) 0.05~0.1mm (thickness), maximum diameter ≤40mm
Printing speed 60mm/s
Connectivity Technology USB/RS232/TTL (ATOM is connected to TTL interface by default UART 9600bps 8N1)
Net weight 285g
Gross weight 321g
Product size 151 * 79 * 66mm
Package size 158 * 82 * 70mm


ATOM G23 G33 G19


After powering the ATOM Printer, the indicator on the ATOM main control will show the current state and mode of the device. Click the middle button on the ATOM to switch between different modes (AP/MQTT).


firmware burning

Click here to go to the download page to download M5Burner , click Erase to erase flash first, and then click Burn to start burning firmware.

AP Mode

Indicator light:

  • 1.When No equipment is connected, the indicator light is Green fast flashing.
  • 2.When there is device access, the indicator light is steady green.


  • 1.When switching to the AP mode, the device will start the AP hotspot ATOM_PRINTER_XXXX, and the user can use a mobile phone or computer to directly connect to the AP (without password).
  • 2.After the connection is successful, the connected device will automatically pop up the configuration page. You can directly enter the content on this page to print text, two-dimensional code, and one-dimensional code content.
  • 3.At the bottom of the page is the WiFi configuration option, through which you can configure the device to connect to the specified WiFi and switch to work in MQTT mode.

MQTT mode

Indicator light:

  • 1.When WiFi connection failed, the indicator light is Red flashing quickly.
  • 2.When the WiFi&MQTT server is not connected, the indicator light is blue fast flashing.
  • 3.When the WiFi&MQTT server has been successfully connected, the indicator light is steady blue.


  • 1.Before switching to MQTT mode, you need to configure WiFi information for the device through the configuration page of AP mode. After completing the configuration, the device will automatically restart and enter MQTT mode.
  • 2.If there are multiple times of WiFi connection failure, you can press the middle button of ATOM to switch to AP mode and reconfigure WiFi information.
  • 3.After successfully connecting to the MQTT server, ATOM Printer will automatically print out the subscribed Topic information (Topic is the Mac address of the device).
  • 4.Users can connect to mqtt through [UIFlow](https://flow.m5stack.com/) or other tools (such as [EMQ MQTT Tools](http://tools.emqx.io/)). m5stack.com (port 1883). Distribute Topic content corresponding to ATOM Printer device to realize remote printing.



Common commands

NO Function command
1 Init 0x1B,0x40
2 Set Print Position X mm 0x1B,0x24,(X * 8)&0x00ff,((X * 8)>>8)&0x00ff
3 Set Left Margin X mm 0x1D,0X4C,(X * 8)&0xff,((X * 8)>>8)&0x00ff
4 Set Line Space X mm 0x1B,0x33,(X *8)
5 Set Baud Rate: X 0x1B,0x23,0x23,0x53,0x42,0x44,0x52,X
6 Set Character Size:X,Y 0x1D,0x21,((X&0x0f)<<4)
7 Set Bold:on/off 0x1B,0X47,0x01/0x00
8 Set Underline:on/off 0x1B,0x2D,0x01/0x00


NO Function command
1 Print X at Y mm 0x1B,0x24,(Y * 8)&0x00ff,((Y * 8)>>8)&0x00ff,X
2 Set Print Position X mm 0x1D,0x28,0x6B,0x03,0x00,0x31,0x45,X (L:0x48/M:0x49/Q:0x50/H:0x51)


NO Function command
1 Set QRCode Adjust Level X 0x1D,0x28,0x6B,0x03,0x00,0x31,0x45,X (L:0x48/M:0x49/Q:0x50/H:0x51)
2 Set QRCode Buffer Length:L Buffer:X 0x1D,0x28,0x6B,(L+3)&0x00ff,((L+3)>>8)&0x00ff,0x31,0x50,0x30,X,0x00
3 Print QRCode 0x1D,0x28,0x6B,0x03,0x00,0x31,0x51,0x30,0x00


NO Function command
1 Barcode Sw:on/off 0x1D,0x45,0x43,0x01/0x00
2 Set HRI Position 0x1D,0x48,hide:0x00/above:0x01/below:0x02/both:0x03
3 Print BarCode
Type:T Length:L Buffer:X
Type: UPC-A=0x41/UPC-E=0x42/JAN13(EAN13)=0x43/JAN8(EAN8)=0x44/CODE39=0x45/ITF=0x46/CODABAR=0x47/CODE93=0x48/CODE128=0x49


NO Function command
1 Print BMP Width:W Hight:H Data:X 0x1D,0X76,0X30,(W/8)&0x00ff,((W/8)>>8)&0x00ff,H&0x00ff,(H>>8)&0x00ff,X


Q1: How do I remove the speaker floor noise when the M5Core is on or running?

Execute the following statement in Setup() of the Arduino program

Q2: How does M5Core2 stack modules?

When M5Core2 is stacked with other M5 modules, you need to remove the battery base of Core2, which does not support module stacking.

Q3: A timeout error is displayed when uploading the program to the device

Reason and solution: The power supply current of the port is insufficient, which can cause the device to not enter the download mode normally. You can try to connect a capacitor (>0.1uF) between the RST pin and the GND pin, or when uploading the program, set the G0 Short-circuit to GND, so that G0 can be set to a low level state normally

Q4: How to solve the phenomenon of automatic signal triggering of M5Core button A

Add the header file #include <driver/adc.h> and the function adc_power_acquire(); in the Arduino program

Q5: M5 device battery life

The battery life of the controller is affected by various factors such as battery capacity, operating status, and load, so there is no fixed value. Reducing the load and adopting a sleep strategy can effectively increase the battery life.

Q6: Can multiple modules with batteries be stacked at the same time?

Support multiple stacks, the total capacity of the batteries in parallel increases, and the voltage remains unchanged. However, since the discharge of each battery is not balanced during use, there is a voltage difference between the batteries, which may cause the battery to charge backwards. .(will lose part of the battery capacity)

Q7: M5 master supports WiFi connection to 5G frequency band

ESP32 module currently does not support WiFi in 5G band, only 2.4G.

Q8: The RS485 device cannot communicate normally/data is garbled. Packet loss, etc.

Confirm whether the TX/RX pin on the TTL side of the pin is correct, try to add two 120Ω terminal resistors at the beginning and end of the device line to reduce signal reflection interference

Q9: The difference between different masters and camera products

Click the link below to view the product comparison table

Q10: M5 camera image blur, how to adjust the focal length

Rotate the lens to adjust the focal length within a certain range

Q11: The control RGB LED pin of FACE II BOTTOM conflicts with the I2S DOUT pin of CORE2


Q1: How to read the programmed firmware?

Use esptool to read the flash content of esp32 and export the bin file. Refer to the detailed operation

Q2: Several solutions for esp32 board download failure in Arduino IDE board management

Restart the Arduino IDE, the computer uses the mobile AP mobile network to download.

Method 3: Download the resource package provided by M5Stack for direct installation, and extract the contents to the board management path of Arduino, such as (C:\Users\Sean\AppData\Local\Arduino15\packages), https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/packages/m5stack_v2.0.0.zip
Q3: Arduino SPIFFS file upload operation

Refer to the Github link below, use arduino-esp32fs-plugin for file upload

Q4: When M5Burner burns firmware, an error pop-up window or exception occurs

Check if the COM of the corresponding device is selected and if the M5Burner is the latest version

Q5: Does the M5 master device support multi-language display (Chinese, English, Japanese, Russian, etc.)?

UIFlow users can switch the Label font to Unicode, Arduino users can use the Chinese font library provided in the M5GFX driver library

Q6: The program cannot load the SD card normally

Confirm whether the SD card format is FAT32, and no partitions exist.

Q7: How to use Bluetooth, HTTP, SD, WebServer, FreeRTOS and other features in Arduino IDE

You can refer to the following link for other ESP32 users to share the case program

Q8: How to download programs for STAMP C3U

STAMP C3U enters program download mode operation: 1. Long press the center button (G9) of STAMP C3U when the power is off. 2. Connect to the computer, after the port is successfully identified, program burning.

Q9: How STAMP C3U defines UART0 output mode

By default, USB CDC is not enabled, the serial port output started by C3U will be output through the default pins (G20, G21) of UART0. If you want to output through USB, please use the IDE to output Its USB CDC option is enabled. (Arduino users can enable it through Tools->USB CDC on Boot-Enabled. For IDF users, please refer to the ESP IDF official documentation.)

Q10: Unable to connect to UIFlow Desktop IDE

Refer to the UIFlow documentation of the corresponding device to check whether the device has entered the USB programming mode.

Q11: NBIoT devices cannot connect to the network normally

Make sure that the NBIoT used is not locked. Frequent device replacement or after activating the IoT card, using traffic in different places may cause the card to be locked. If the above situation occurs, please contact the IoT card supplier. If you are using the IoT card matching M5, please contact M5 after-sales through e-commerce or email. (provide the ICCID of the IoT card)


Q1: Consultation for after-sales problems of products

Describe the problems encountered in detail. Screenshots of the programs involved or files can be added as attachments and sent to M5Stack's official after-sales email

Q2: Code Resources, Cases, User Communication