M5Atom Matrix - SamuelLarkin/poulailler.IoT GitHub Wiki
SKU:C008-B
Choose the development platform you want to use, view the corresponding tutorial & quick-Start.
ATOM Matrix , which has a size of only 24 * 24mm, is the most compact development board in the M5Stack development kit series. It provides more GPIO pins and is very suitable for handy and miniature embedded device development. The main control adopts the ESP32-PICO-D4 chip, which comes integrated with Wi-Fi and Bluetooth technologies and has 4MB of integrated SPI flash memory. The Atom board provides an Infra-Red LED along with the 5 * 5 RGB LED matrix on the panel, a built-in IMU sensor (MPU6886), and a HY2.0 interface. A general purpose programmable button is provied below the RGB Led matrix to enable users to add input support to their various projects. The on-board USB interface (Type-C) enables rapid program uploading and execution. One M2 screw hole is provided on the back for mounting the board.
Note: When using FastLED lib, the recommended brightness of RGB LED is 20. Please do not set it to a high brightness value to avoid damage to the LED and acrylic screen. (In ATOM lib, we have mapped its appropriate brightness range to 0~100)
- ESP32 PICO-based
- Programmable button
- 5 * 5 RGB LED matrix panel(WS2812C)
- Buitl-in Infra-red LED
- Built-in MPU6886 Inertial Sensor
- Extendable Pins & Holes
- Program Platform:Arduino UIFlow
- 1x ATOM Matrix
- Internet of things terminal controller
- IoT node
- Wearable peripherals
Resources | Parameter |
---|---|
ESP32 | 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, dual mode Bluetooth |
Flash | 4MB |
Power Input | 5V @ 500mA |
Port | TypeC x 1, GROVE(I2C+I/0+UART) x 1 |
PIN Port | G19, G21,G22,G23,G25, G33 |
RGB LED | WS2812C 2020 x 25 |
MEMS | MPU6886 |
IR | Infrared transmission |
Button | Custom button x 1 |
Antenna | 2.4G 3D Antenna |
Operating Temperature | 32°F to 104°F ( 0°C to 40°C ) |
net weight | 3g |
Gross weight | 14g |
Product Size | 24 x 24 x 14 mm |
Package Size | 24 x 24 x 14 mm |
Case Material | Plastic ( PC ) |
EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification. Please install the corresponding driver according to the device type. M5Core host Please click here to view the CP210X driver installation tutorial, M5StickC/V/T/ATOM series can be used without driver)
Windows
Description:
Test whether the RGB LED and keys work normally by using the matrix screen text scroll display and key count function.
RGB Led | G27 |
---|---|
Btn | G39 |
IR | G12 |
SCL | G21 |
SDA | G25 |
- Arduino IDE
- To get the code, please click here
- Before compiling the program, please configure the development board as M5StickC
- UIFlow
- Click here to view UIFlow example
ATOM Matrix and ATOM Lite are ESP32 development board with a size of only 24 * 24mm.It provides more GPIO for user customization which is very suitable for embedded smart home devices and in making smart toys. The main control adopts the ESP32-PICO chip which comes integrated with Wi-Fi and Bluetooth technologies and has a 4MB of integrated SPI flash memory. ATOM board provides an Infra-Red LED, RGB LED, buttons, and a PH2.0 interface. In addition, it can connect to external sensors and actuators through 6 GPIOs. The on-board Type-C USB interface enables rapid program upload and execution. ATOM Matrix have 5 * 5 RGB LED matrix, built-in IMU sensor (MPU6886).
Neo | GPIO27 |
Btn | GPIO39 |
CLK(MPU6886) | GPIO21 |
SDA(MPU6886) | GPIO25 |
IR | GPIO12 |
Btn | GPIO39 |
GROVE interface
ESP32 chip | GPIO32 | GPIO26 | 5V | GND |
PH2.0 interface | SCL | SDA | 5V | GND |
Atom pixel tool
enum | Am_mode{kMoveRight,kMoveLeft,kMoveTop,kMoveButtom} |
void | animation(uint8_t *buffptr, uint8_t amspeed, uint8_t ammode, int64_t amcount = -1) |
void | displaybuff(uint8_t *buffptr, int8_t offsetx = 0, int8_t offsety = 0) |
void | MoveDisPlayBuff(int8_t offsetx = 0, int8_t offsety = 0) |
void | setBrightness(uint8_t brightness) |
void | drawpix(uint8_t xpos, uint8_t ypos, CRGB Color) |
void | drawpix(uint8_t Number, CRGB Color) |
void | fillpix(CRGB Color) |
void | clear() |
Constant | Value | Description |
LED_Display::kMoveRight | 0x01 | Move the image to the right |
LED_Display::kMoveLeft | 0x02 | Move the image to the left |
LED_Display::kMoveTop | 0x04 | Move the image to the top |
LED_Display::kMoveButtom | 0x08 | Move the image to the buttom |
void animation(uint8_t *buffptr, uint8_t amspeed, uint8_t ammode, int64_t amcount = -1)
Start moving animation of an image
parameter list
name | type | range | default | description |
buffptr | uint8_t* | - | - | Image pointer |
amspeed | uint8_t | 0 ~ MAXSIZE of uint8_t | - | Time interval of image movement |
ammode | uint8_t | See also Am_mode | - | Animation mode of image movement |
amcount | int64_t | -1 ~ MAXSIZE of int64_t | -1 | The distance the image moves (pixels) |
return value
null
void displaybuff(uint8_t *buffptr, int8_t offsetx = 0, int8_t offsety = 0)
Display an image
parameter list
name | type | range | default | description |
buffptr | uint8_t* | - | - | Image pointer |
offsetx | uint8_t | -127 ~ 127 | 0 | Horizontal image offset |
offsety | uint8_t | -127 ~ 127 | 0 | Vertical image offset |
return value
null
void MoveDisPlayBuff(int8_t offsetx = 0, int8_t offsety = 0)
Move the image data in the display buff
parameter list
name | type | range | default | description |
offsetx | int8_t | -127 ~ 127 | 0 | Horizontal image offset |
offsety | int8_t | -127 ~ 127 | 0 | Vertical image offset |
return value
null
void setBrightness(uint8_t brightness)
Set the Leds Brightness
Warning: It is not recommended to set the LED brightness to 100. Setting the LED brightness to 100 may cause overheating
parameter list
name | type | range | default | description |
brightness | uint8_t | 0 ~ 100 | - | Brightness of Leds |
return value
null
void drawpix(uint8_t xpos, uint8_t ypos, CRGB Color)
Set the color of a LED in coordinate mode
parameter list
name | type | range | default | description |
xpos | uint8_t | 0 ~ 255 | 0 | coordinate x |
ypos | uint8_t | 0 ~ 255 | 0 | coordinate y |
Color | CRGB | - | - | Color of Led |
return value
null
void drawpix(uint8_t Number, CRGB Color)
Set the color of a LED
parameter list
name | type | range | default | description |
Number | uint8_t | 0 ~ 255 | 0 | number of Led |
Color | CRGB | - | - | Color of Led |
return value
null
void fillpix(CRGB Color)
Set the color of all LEDs
parameter list
name | type | range | default | description |
Color | CRGB | - | - | Color of Leds |
return value
null
void clear()
Close all of LEDs
parameter list
null
return value
null