Some electronics projects are useful. Others are fun because you can watch them come alive the moment you power them up. LED matrix displays are both.
A matrix is a grid of LEDs. Instead of switching one LED at a time, you control every dot in the grid, so the same hardware can show scrolling text, icons, clocks, scoreboards, timers, weather symbols, notifications and simple games. Nothing else this cheap gives a beginner project that much visible output.
This guide covers what an LED matrix display is, how it works, how to program one, and twelve projects you can build with an Arduino-compatible board, an ESP32 or a Raspberry Pi.
12 LED matrix display projects you can build
1. Scrolling text message board
The classic first project. Short messages, reminders, names, classroom notes or alerts, moving one column at a time across the grid. It teaches you the two things every other project on this list depends on: how to write a character into a buffer, and how to shift that buffer on a timer.
Good for:
- Arduino beginners
- classrooms
- makerspaces
- desk signs
Any Arduino-compatible board will drive it. If you want to build the board itself first, the make-your-own kit has you solder an ATmega328 board from bare components and then program it over USB.
2. Digital clock
The most practical matrix project there is. Show hours and minutes, add seconds, or animate the digits as they roll over.
Reading time from millis() drifts by minutes per day and resets to zero on every power cut. An RTC module fixes both. The PCF85063A keeps time on a backup cell, so the clock is still correct after a week unplugged, and it talks I2C over two wires.
3. Weather icon display
An 8x8 grid will not fit a forecast, but it fits a symbol. Sun, cloud, rain, snow, storm. Pull the current conditions from a weather API over Wi-Fi and draw the matching icon.
If you want the full picture, temperature, humidity, wind and several days at once, that is a job for a bigger display with more resolution and lower power draw.
4. Reaction game
Light a random pixel, start a timer, wait for the button, then show the time in milliseconds. Add a second button and you have two players.
It is a good STEM class project because the code is short and the result is competitive. The pre-built reaction kit does the same thing with discrete LEDs if you would rather solder than program first.
5. Mini scoreboard
Scores for tabletop games, classroom quizzes, sports practice or maker competitions. The basic version needs two buttons, one per team. From there you can add a reset, a match timer and a winning animation.
6. Pixel art frame
Each LED becomes one pixel of a tiny artwork: animated icons, game characters, logos, flags or a mood light. RGB matrices are the fun ones here, and you can build your own grid from addressable LEDs if you want a specific size or shape.
A matrix glows, which suits animation but not a quiet picture on a wall. For static artwork, quotes or anything you want to look like paper, e-paper holds the image with no power at all.
7. Music visualizer
Feed the matrix from a microphone or a line input and let the columns react to the sound. A bar visualizer needs an FFT, but a beat indicator or a simple level meter needs nothing more than an analogue read and a moving average.
Pair it with a sound source you built yourself and the whole signal chain is yours.
8. Classroom timer
Countdowns for activities, quizzes, group work or breaks. Matrices work well here because they are bright enough to read from the back of the room, and a flashing last-ten-seconds animation needs one line of code.
For an information board that stays up all day rather than counting down, a large e-paper panel is easier on the eyes and on the power budget.
9. Pomodoro display
Twenty-five minutes of work, five minutes of break, shown as a bar that empties across the grid. Add start, pause and reset buttons and it becomes a desk device you will actually use.
10. Smart home status sign
Short statuses at a glance: door open, alarm on, garage closed, washing done. This one needs a network, so use an ESP32-based board that can subscribe to MQTT or talk to Home Assistant directly.
NULA Mini has Wi-Fi 6, Bluetooth 5 and Thread on a board roughly the size of a stamp, so it fits behind the matrix instead of next to it.
A sign shows one thing at a time. If you want the whole house on one screen, sensors, states and a floor plan, use e-paper.
11. Stock, crypto, or data ticker
Scrolling text is what a matrix does best, so a ticker is a natural fit. Prices, weather alerts, server status, sports scores, build results, any short feed.
Once you are parsing JSON from several APIs and want to change the code without reflashing, a Raspberry Pi is the easier machine to work on.
12. Raspberry Pi dashboard display
A Pi can drive a full HUB75 panel, which gets you 32x64 pixels or more instead of 8x8. That is enough for system status, notifications, uptime, IP address or live project data.
Useful for:
- home servers
- makerspaces
- workshops
- coding clubs
- local dashboards
Budget the power separately. A 32x64 panel at full white brightness can pull around 4 A at 5 V, which is more than the Pi's own supply will give you.
How does an LED matrix display work?
LEDs in a matrix are wired in rows and columns. An 8x8 grid has 64 LEDs but only 16 connections, because every LED in a row shares one wire and every LED in a column shares another. That is the whole trick, and it is also the reason you cannot simply switch them all on independently.
Instead, the controller lights one row at a time and moves through all of them fast enough that your eye never sees the gap. This is called multiplexing. At a few hundred refreshes per second the grid looks like a solid image.
- The microcontroller sends display data to the driver.
- The driver selects one row and sets the state of every column in it.
- That row lights for a fraction of a millisecond, then the next row takes over.
- Repeated fast enough, the grid reads as stable text, icons or animation.
Driver chips do this work for you. A MAX7219 handles an 8x8 block over SPI and chains with other MAX7219s, so four of them give you a 32x8 scrolling sign on three wires. Addressable RGB matrices are different: each LED has its own controller, so you send one long data stream and no multiplexing happens at all.
Two things catch people out. Big panels need their own power supply, not the 5 V pin on your board. And RGB panels need a fast enough microcontroller to keep the refresh going, which is why HUB75 panels are usually driven by an ESP32 or a Pi rather than an ATmega328.
LED matrix display vs dot matrix display
These terms overlap, and product listings use them loosely.
| Term | Meaning |
|---|---|
| LED matrix display | A grid of LEDs used to show text, icons, patterns or animations |
| Dot matrix display | A broader term for any display built from a grid of dots |
| LED dot matrix display | A dot matrix display where each dot is an LED |
| LED matrix panel | A larger module, usually HUB75, used for signs and bigger displays |
| Flexible LED matrix panel | A bendable panel that mounts on a curved surface |
In practice, an LED matrix display is one kind of dot matrix display. If a listing says dot matrix and shows a grid of red LEDs, it is the same part.
LED matrix vs LCD vs OLED vs e-paper
| Display type | Best for | Not ideal for |
|---|---|---|
| LED matrix | Bright signs, animations, clocks, timers, scoreboards, simple games | Detailed text, low-power static dashboards |
| LCD | Menus, simple interfaces, live values | Paper-like dashboards, very low-power wall displays |
| OLED | Sharp compact screens, icons, high contrast | Large always-on dashboards |
| E-paper | Calendars, dashboards, signs, weather displays, low-power information screens | Video, fast animation, constant motion |
The split is movement against stillness. If your project needs bright scrolling text or animation, use a matrix. If it needs calm information that updates a few times a day and stays readable with the power off, use e-paper.
Inkplate covers that second case as a finished platform rather than a bare panel. Each one is an e-paper display with an ESP32, battery management, a Qwiic connector and a library with working examples, in sizes from 2.13 inches to 13.
If e-paper is new to you, start with what an e-paper display actually is, and our roundup of e-paper display projects goes through fifteen builds.
How to program an LED matrix display
Start small. One pixel, then a line, then a number, then scrolling text. Skipping to animation is how people end up with a blank grid and no idea which layer is wrong.
- Pick the board. Arduino-compatible for simple monochrome grids, ESP32 for anything connected, Raspberry Pi for large panels.
-
Install the library that matches your driver.
MD_MAX72XXandMD_Parolafor MAX7219 blocks,FastLEDorAdafruit_NeoMatrixfor WS2812 grids,ESP32-HUB75-MatrixPanel-I2S-DMAfor HUB75 panels. - Declare the size and the wiring. Number of modules, rows and columns, and the pins. Get this wrong and the text appears mirrored or split across blocks.
-
Light one pixel.
setPoint(0, 0, true)or the equivalent. If it lands in the wrong corner, your row and column order is swapped. - Draw a character, then a string. This confirms the font and the buffer are right.
-
Scroll it. Shift the buffer on a timer instead of using
delay(), so the board can still read buttons and sensors while the text moves. - Then animate. Frames are just arrays of pixel states drawn in sequence.
Brightness is worth setting early. Most libraries default high, and a matrix at full brightness is uncomfortable to look at indoors and pulls far more current than you expect.
Arduino, ESP32, or Raspberry Pi: which should you use?
| Board | Best for |
|---|---|
| Arduino-compatible board | Simple matrix projects, clocks, timers, games, learning to code |
| ESP32 | Wi-Fi signs, smart home displays, API tickers, HUB75 panels |
| Raspberry Pi | Large panels, dashboards, scripts, web data, anything with real processing |
For most of the projects on this list, an ATmega328 board is enough. Add Wi-Fi only when the project actually needs data from somewhere else, and move to a Pi only when you need a full operating system.
Arduino vs Raspberry Pi vs ESP32 lays out the trade-offs in more detail if you are still deciding.
Why Soldered is a good place to start building display projects
A matrix project needs three things: something to drive it, something to keep time or fetch data, and eventually a second display for the information that should stay visible.
Soldered covers all three. Solder kits get you from a bag of parts to a working device, and our guide to the best soldering kits for beginners covers what to look for. NULA boards add Wi-Fi, Thread and low-power operation when a project outgrows a basic microcontroller. Raspberry Pi handles the panels and the dashboards. Inkplate covers the always-on screens, and there is a separate guide to e-paper displays for Home Assistant dashboards if that is your setup.
Frequently asked questions
What is an LED matrix display?
An LED matrix display is a grid of LEDs arranged in rows and columns. Each LED works as one pixel, so the grid can show text, numbers, icons, patterns and simple animations.
How does an LED matrix display work?
The controller lights one row at a time and cycles through all the rows hundreds of times a second. Your eye blends the rows into a stable image. This is called multiplexing, and it is why 64 LEDs need only 16 connections.
How do you program an LED matrix display?
Install the library for your driver chip, declare the matrix size and pins, then light a single pixel to confirm the wiring. Move on to characters, scrolling text and animation from there. Arduino, ESP32 and Raspberry Pi all have mature libraries.
What can you build with an LED matrix display?
Scrolling signs, digital clocks, scoreboards, timers, reaction games, pixel art frames, music visualizers, smart home status signs, data tickers and Raspberry Pi dashboards.
What is the difference between LED matrix and dot matrix display?
A dot matrix display is any display made from a grid of dots. An LED matrix display is a dot matrix display where each dot is an LED.
Is an LED matrix display good for beginners?
Yes. You see the result of every line of code immediately, which makes debugging much easier than with a sensor project. It also teaches outputs, timing, display libraries and animation logic in one go.
Should I use an LED matrix or an e-paper display?
Use a matrix if the project needs brightness, scrolling text, animation or games. Use e-paper if it needs low power, sharp readability and information that stays visible between updates, like calendars, dashboards and sensor displays.
Can I use an LED matrix display with Arduino?
Yes. Monochrome 8x8 blocks with a MAX7219 driver work well on any Arduino-compatible board over SPI. Clocks, counters, scrolling signs and reaction games all fit comfortably.
Can I use an LED matrix display with ESP32?
Yes, and it is the better choice for anything connected. Wi-Fi signs, smart home status displays, API tickers and notification boards. The ESP32 is also fast enough to drive HUB75 RGB panels, which an ATmega328 is not.
Can I use an LED matrix display with Raspberry Pi?
Yes. A Pi suits larger panels and anything that needs APIs, scripts, network data or a dashboard. Give the panel its own 5 V supply rather than powering it from the Pi.
How much power does an LED matrix display need?
A single 8x8 module is fine on your board's 5 V pin. A 32x64 HUB75 panel can draw around 4 A at 5 V with every pixel white, so it needs a separate supply. Lowering the brightness setting cuts that figure sharply.