In this project I will document and provide instructions on how I made a 64 x 7 LED matrix that can display custom messages and animations and pre-set messages. It will be made up of 448 red LEDs on a custom PCB and will be controlled by Atmel microcontroller.
The matrix is made up of 64 x 7 LEDs I chose 7 LEDs high as it will mean that it will be able to display all the letters of the alphabet and any symbols.
I chose red LEDs for this matrix as they are cheap and commonly available but you could use any colour LED you like but you may have to add a current limiting resistor to suit your chosen LED. I did not add a current limiting resistor as there were 7 LEDs in parallel meaning I would need a resistance of 20 ohms but I decided no to add them as it would take up space on the PCB and the LEDs should be able to handle a little extra current.
I designed the schematic in Easyeda and connected all of the anodes of the LEDS in rows and all the cathodes to the columns I then connected them to a 80 way IDC connector near the bottom of the PCB as it will make it easier to connect to the controller. After designing the PCBs I realised that 80 way IDC connecters aren't commonly available and when I was able to find them there were quite expensive, so I decided to just solder the ribbon cable directly to the PCB.
After spending many hours placing all the LEDs in the correct place and routing the tracks I came to this PCB design. I had to add some PNP transistors on the 7 rows as I was unable to find PNP transistor arrays. I had to put the PNP transistors on the PCB for the Matrix as I had already gotten the PCBs for the controller manufactured and forgot that I was unable to find any PNP transistor arrays.
The controler is very simple and is based around a Atmel 2560 microcontroller. The Leds are driven by NPN transistor arrays there are 8 transistor arrays for the 64 columns and 1 for the 7 rows. I added a 6 pin header to the design as it will allow 5 buttons to be connected to the controller. The buttons will allow you to change between the different modes and functions of the display, it can also be used as a keyboard to type custom messages.
I was unable to find suitable PNP transistor arrays. I had to put the PNP transistors on the PCB for the Matrix as I had already gotten the PCBs for the controller manufactured. The NPN transistor array for the rows is not necessary and could be replaced with wire links but I decided just to use the NPN array to then drive the PNP transistors on the matrix PCB.
After I received my PCBs I soldered all of the components onto the board. I realised a mistake on the PCB after I got it manufactured and it was that I forgot to add a ICSP header to program the microcontroller. Instead of getting a new PCB manufactured I chose to solder small wires to the pins of the microcontroller. It was tricky but once the wires were soldered in place I was able to successfully program the microcontroller.
To control what the matrix displays it will need a button board. I decided to use 5 buttons connected to the matrix controler using a ribbon cable. The 5 buttons are able to act as a keyboard to type in custom messages and also allow you to change between the pre programmed messages.
Below is the combination of buttons that have to be pressed to do different things. the first 26 button sequences are the alphabet and the other 5 are used for functions.
The clear button will remove anything that is currently being displayed. The Left and Right buttons are used to scroll between the pre-programmed messages. and the Select button is used to select the message you want to display