The Seeed Studio 6x10 RGB MATRIX for XIAO is a compact and versatile RGB LED matrix display designed specifically for the Seeed Studio XIAO microcontroller series. It features a 6x10 grid of individually addressable RGB LEDs, allowing users to create vibrant visual effects, animations, and dynamic displays. Its small form factor makes it ideal for portable and space-constrained projects.
The 6x10 RGB MATRIX connects directly to the Seeed Studio XIAO microcontroller via a 7-pin header. Below is the pin configuration:
Pin | Name | Description |
---|---|---|
1 | VCC | Power supply input (3.3V or 5V) |
2 | GND | Ground connection |
3 | DOUT | Data output for chaining additional LED matrices |
4 | DIN | Data input for controlling the LED matrix |
5 | NC | Not connected |
6 | NC | Not connected |
7 | GND | Additional ground connection for stability |
Connect the Matrix to the XIAO Microcontroller:
Power the Circuit:
Program the XIAO:
Adafruit_NeoPixel
library to control the WS2812B LEDs.Write and Upload Code:
#include <Adafruit_NeoPixel.h>
// Define the number of LEDs in the matrix
#define NUM_LEDS 60
// Define the data pin connected to the RGB MATRIX
#define DATA_PIN 3
// Create a NeoPixel object
Adafruit_NeoPixel matrix = Adafruit_NeoPixel(NUM_LEDS, DATA_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
// Initialize the NeoPixel library
matrix.begin();
matrix.show(); // Turn off all LEDs initially
}
void loop() {
// Example: Create a rainbow animation
rainbowCycle(10); // Adjust the speed of the animation
}
// Function to display a rainbow animation
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
for (j = 0; j < 256 * 5; j++) { // 5 cycles of all colors
for (i = 0; i < matrix.numPixels(); i++) {
// Generate rainbow colors across the matrix
matrix.setPixelColor(i, Wheel(((i * 256 / matrix.numPixels()) + j) & 255));
}
matrix.show(); // Update the display
delay(wait);
}
}
// Helper function to generate rainbow colors
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if (WheelPos < 85) {
return matrix.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else if (WheelPos < 170) {
WheelPos -= 85;
return matrix.Color(0, WheelPos * 3, 255 - WheelPos * 3);
} else {
WheelPos -= 170;
return matrix.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
}
No LEDs Light Up:
Adafruit_NeoPixel
library is installed and included in your code.Incorrect Colors or Flickering:
Matrix Overheats:
Code Upload Fails:
Can I chain multiple RGB MATRIX modules?
Yes, connect the DOUT
pin of the first module to the DIN
pin of the next module.
What is the maximum brightness of the LEDs? The maximum brightness is achieved when all three color channels (red, green, blue) are set to 255. However, this increases power consumption significantly.
Is the RGB MATRIX compatible with other microcontrollers? Yes, it can be used with other microcontrollers that support the WS2812B protocol, such as Arduino, ESP32, and Raspberry Pi.
How do I clean the RGB MATRIX? Use a soft, dry cloth to clean the surface. Avoid using liquids or abrasive materials.