

The ATOM-QR-CODE (Manufacturer Part ID: K041) is a compact and versatile module developed by M5Stack. It is designed to generate and read QR codes, making it an ideal solution for applications requiring data encoding and quick access to information. This module is widely used in IoT systems, access control, inventory management, and mobile payment systems. Its small form factor and ease of integration make it suitable for both hobbyist and professional projects.








| Parameter | Value |
|---|---|
| Manufacturer | M5Stack |
| Part ID | K041 |
| Operating Voltage | 5V DC |
| Communication Interface | UART (default baud rate: 115200) |
| Dimensions | 24mm x 24mm x 10mm |
| QR Code Support | QR Code Model 1/2, Micro QR |
| Operating Temperature | -10°C to 50°C |
| Power Consumption | < 0.5W |
| Pin Name | Pin Number | Description |
|---|---|---|
| 5V | 1 | Power supply input (5V DC) |
| GND | 2 | Ground |
| TX | 3 | UART Transmit (data output) |
| RX | 4 | UART Receive (data input) |
5V pin to a 5V DC power source and the GND pin to ground.TX and RX pins to establish UART communication with a microcontroller or computer. Ensure the baud rate is set to 115200.TX pin to the connected device.Below is an example of how to use the ATOM-QR-CODE module with an Arduino UNO to read and display QR code data.
| ATOM-QR-CODE Pin | Arduino UNO Pin |
|---|---|
| 5V | 5V |
| GND | GND |
| TX | RX (Pin 0) |
| RX | TX (Pin 1) |
// Example code to read QR code data from the ATOM-QR-CODE module
// and display it on the Serial Monitor.
void setup() {
Serial.begin(115200); // Initialize Serial Monitor at 115200 baud
Serial1.begin(115200); // Initialize UART communication with the module
}
void loop() {
// Check if data is available from the ATOM-QR-CODE module
if (Serial1.available()) {
// Read the data and forward it to the Serial Monitor
while (Serial1.available()) {
char qrData = Serial1.read();
Serial.print(qrData); // Print the received QR code data
}
Serial.println(); // Add a new line after the data
}
}
Serial1 object is used for UART communication. If your Arduino board does not support Serial1, you may need to use a software serial library.No Data Received from the Module
QR Code Not Scanned
Module Not Powering On
5V pin is connected to a stable 5V DC source.Q1: Can the module generate colored QR codes?
A1: No, the ATOM-QR-CODE module generates standard black-and-white QR codes.
Q2: What is the maximum data capacity of the QR codes?
A2: The data capacity depends on the QR code version and error correction level. For most applications, it supports up to 3KB of alphanumeric data.
Q3: Can I use this module with a Raspberry Pi?
A3: Yes, the module can be connected to a Raspberry Pi via UART. Ensure the Raspberry Pi's GPIO pins are configured for 3.3V logic levels.
Q4: Does the module support other barcode formats?
A4: No, the module is specifically designed for QR code generation and scanning. Other barcode formats are not supported.