pdf-icon

Arduino Quick Start

Atom LED Display

The M5Atom library will initialize the LED Display in the M5.begin function (disabled by default). Refer to the example below to enable or disable it.
cpp
1 2 3 4 5 6 7 8 9 10 11
#include "M5Atom.h"
void setup() {
// SerialEnable: true, I2CEnable: false, DisplayEnable: true
M5.begin(true, false, true);
delay(50);
M5.dis.drawpix(0, 0x00ff00);
}
void loop() {
}

drawpix

Description:

Lights up an LED at a specified location with a specified RGB color (Number: 0~24) (Atom-Lite has only one light)

Lights up the LED at the (x,y) coordinates with a specified RGB color

Syntax:

void drawpix(uint8_t xpos, uint8_t ypos, CRGB Color);
void drawpix(uint8_t Number, CRGB Color);
Parameter Type Description
xpos uint8_t x-coordinate (0~5)
ypos uint8_t y-coordinate (0~5)
Number uint8_t Light up the *th light (0~24)
Color CRGB Color of the light

Example:

cpp
1 2 3 4 5 6 7 8 9 10
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true); // Initialize M5Atom
delay(50); // Delay 50ms
M5.dis.drawpix(0, 0xBBFFFF); // Light up the first LED with RGB color 0xBBFFFF
//M5.dis.drawpix(0,0, 0xBBFFFF); // Light up the LED at (0,0) with RGB color 0xBBFFFF
}
void loop(){
}

fillpix

Description:

Fills the entire LED matrix with a specified RGB color

Syntax:

void fillpix(CRGB Color);

Example:

cpp
1 2 3 4 5 6 7 8
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true); // Initialize M5Atom
}
void loop(){
M5.dis.fillpix(0xffffff); // Light up the entire LED matrix with RGB color 0xffffff
}

clear

Description:

Turns off all lit LEDs

Syntax:

void clear();

Example:

cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true); // Initialize M5Stack
delay(50); // Delay 50ms
M5.dis.drawpix(0, 0xBBFFFF);
//M5.dis.drawpix(0,0, 0xBBFFFF);
}
void loop(){
M5.update(); // Read the button press state
if (M5.Btn.wasPressed()){
M5.dis.clear(); // Turn off all lit LEDs
}
}

setBrightness

Description:

Sets the brightness of the lit LEDs

Syntax:

void setBrightness(uint8_t brightness);

Example:

cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include "M5Atom.h"
void setup(){
M5.begin(true, false, true); // Initialize M5Atom
}
void loop(){
M5.dis.fillpix(0xffffff); // Light up the entire LED matrix with RGB color 0xffffff
M5.dis.setBrightness(10); // Set the brightness of the lit LEDs
delay(1000);
M5.dis.fillpix(0xFFFF00);
M5.dis.setBrightness(100);
delay(1000);
}

setWidthHeight

Description:

Sets the width and height of the pattern

Syntax:

void setWidthHeight(uint16_t xColumns, uint16_t yRows);

run()

Description:

Starts the LED display

Syntax:

void run();
Note:
1.If you do not want to use M5.begin() to initialize the LED and want to use animation(), please call this function before using

animation()

Example:

cpp
1 2 3 4 5 6 7 8 9
#include <M5Atom.h>
void setup() {
M5.Lcd.begin(); // Initialize Atom LED matrix
M5.Lcd.run();
}
void loop() {
}

animation

Description:

Moves a pattern at a specified speed in a specified direction

Syntax:

void animation(uint8_t *buffptr, uint8_t amspeed, uint8_t ammode, int64_t amcount);
Parameter Type Description
buffptr uint8_t * The pattern
amspeed uint8_t Moving speed (0~255)
ammode uint8_t Moving direction
amcount int64_t Number of steps

Moving Directions:

Constant Value Description
kMoveRight 0x01 Move the image right
kMoveLeft 0x02 Move the image left
kMoveTop 0x04 Move the image up
kMoveButtom 0x08 Move the image down

Example:

cpp
1 2 3 4 5 6 7 8 9 10 11 12 13
#include "M5Atom.h"
extern const unsigned char AtomImageData[375 + 2]; // External reference to an array storing the image (click below on image.c to download and store in the same directory as .ino)
void setup(){
M5.begin(true, false, true); // Clear the serial buffer, set the serial baud rate to 115200; initialize the LED matrix
delay(50);
}
void loop(){
// Move a pattern AtomImageData at a specified speed 200 in the direction kMoveLeft for 25 steps
M5.dis.animation((uint8_t *)AtomImageData, 200, LED_DisPlay::kMoveLeft, 25);
delay(5250);
}

animationrunning

Description:

Gets whether the pattern is moving

Syntax:

boolean animationrunning();

Return Value:

Value Function
true Moving
false Still

displaybuff

Functionality:

Moves the displayed content in a certain direction

Function Prototype:

void displaybuff(uint8_t *buffptr, int8_t offsetx = 0, int8_t offsety = 0);
Parameter Type Description
buffptr uint8_t * The array storing the pattern
offsetx int8_t Number of cells to move in the x direction
offsety int8_t Number of cells to move in the y direction
Note:
1.x>0 moves right, y>0 moves down

Example:

cpp
1 2 3 4 5 6 7 8 9 10 11 12
#include "M5Atom.h"
extern const unsigned char AtomImageData[375 + 2];//For the array, click above on image.c to download
void setup(){
M5.begin(true, false, true);
delay(50);
}
void loop(){
M5.dis.displaybuff((uint8_t *)AtomImageData,-2, 0); // Move the pattern 2 cells to the left
delay(100);
}
On This Page