In this short tutorial you will learn how to make an Arduino-powered LED matrix. Unlike several other designs, this one uses a “companion” computer to notify the Arduino which LEDs should be powered.
I have provided the code for the Arduino, as well as some Java code for displaying text on the LED matrix (this includes a custom-made 7×5 character font).
Things to keep in mind:
- With the software provided, a maximum of 7 rows is possible if you want to display text. It would technically be possible to increase this limit to 15, but I’ll leave that to someone else.
- If you want to just display sound values (i. e you want to light up the LEDs consecutively from the bottom), it would be technically be possible to use up to 127 rows.
- I cannot release the code for the audio visualization(sorry!) for various reasons
Step 1: The Materials
For this project, you will need the following materials:
- An Arduino that has as many digital pins as you want rows and columns combined. (eg, If you want to have a 7×5 LED matrix, you need at least 12 digital pins on your arduino). I used an Arduino Mega 2560 as the Mega has 54 digital I/O pins and was the only which allowed me to make a 20 by 7 grid (I needed 27 pins).
- In order to connect your Arduino to the LED matrix, it would be helpful to have female to male breadboard wires
- Enough LED’s for your matrix. (With a 7×5 matrix, you need 35 LEDs). For this project, I used the blue LEDs which can be found here
- The link above also has the resistors you need. You will need as many resistors as you have rows in your LED matrix
- A wooden board for mounting the LEDs. You’ll need some reasonably thin wood for this project. How thick and how big the wood should be depends on how much you want your LEDs to protrude out the front and how far apart you want the LEDs to be spaced. I would recommend a 1 cm spacing between your LEDs(mine were 5mm in diameter). Remember to leave some space on all sides(especially to the left and right of the matrix).
- A companion computer to connect the Arduino to.
- Spray paint for the added effect.
You will also need various tools: drill (+ a selection of drill bits), pliers, clippers(or wire cutters), and a soldering iron(with solder)
Step 2: Cutting/Drilling the Board
(The picture above is of a prototype board, not the final product. Use it as inspiration to come up with other cool LED patterns)
The first thing you need to construct is the board on which the LEDs will be mounted. Here you have several options on how to structure the LED board. You could design you LED board in the classical, grid LED matrix or you could take a more interesting approach by making a circular LED pattern.
In this step you will also have to take into account the spacing of your LEDs. I would recommend having the centers of the LEDs be 1 cm apart from each so that the LEDs(which are 5mm in diameter) will be tightly packed(but not so tightly it is impossible to work with).
The size drill bit you should use depends on the size of the LEDs. I bought a special 5mm drill bit so the LEDs would fit exactly. Take into consideration that if you are going to spray paint the board, this will make the holes slightly smaller.
Step 3: Spray Painting the Board
If you want to make your board a certain color, then now is the time to do that. Before inserting your LEDs, you should consider spray painting your board (as this will not be an option once the LEDs are in place–you don’t want to spray paint the LEDs).
I chose black as the preferred color for my board as I happened to have a black spray paint on hand and thought it would go well with my blue LEDs.
Read more: Arduino LED Matrix