LED Matrix board

Published on January 11th, 2015 by John Sullivan in Electronics

This was a small project that I did in the summer of 2013, right after my freshman year of college. Unfortunately my laptop with all of the design files and arduino code was stolen from my car. So until I rewrite that code, I won’t be able to take any new pictures.

This project started with an LED Matrix that I bought from these guys (they don’t sell the exact one that I bought anymore). The LED Matrix was 8x8 dots and each dot had a red and blue LED. This essential made it a 16x8 display, with a total of 24 pins. With this many pins, I couldn’t drive the matrix straight from my arduino (which would have been hacky anyways). So I decided to make a custom PCB that would sit directly on the pins, within the footprint of the matrix itself. I chose some shift registers and multiplexers from here to do the driving. They weren’t meant for driving LEDS, but I didnt need things to be very bright, and I didn’t actually know what I was doing. So I designed the small board using Altium at work and had it printed for ~30$ in China. Altium is great because it was very intuitive and had libraries of tons of chips. I used it for 2 boards for work, and 1 of my own, and I found that I actually liked to make my own symbols and footprints anyways, though. That way you’re sure that its correct to the datasheet. I also learned a trick that you can print out your pcb with a 1 to 1 scale on paper. Then if you have your parts already, you can ensure that they all actually fit their pads and the board fits in your enclosure.

The board that I made allowed me to drive the whole matrix with just 5 pins from my arduino. It can also be daisy chained to another board to control two matrices at the same time. After a good amount of time writing arduino code, I got it working. The frame rate was pretty decent, but there were some downsides. It took me a long time to figure this out, but for some reason, each row could only display blue or red at one time, with the blue trumping red. This must have been due to the common-anode configuration of the device, but proved to be quite a problem for me. To show both red and blue at seemingly at the same time, I would switch between a blue frame and a red frame at a high speed. This worked, but dropped the frame rate to a noticeable amount. In order to get this matrix working really well, I need to change over to a faster development board.

In the end, my board worked. I was able to drive all the LEDs in the matrix from just 5 pins on my arduino and I learned a lot in the process.

Here’s a picture of it working while it was still on a breadboard:

John Sullivan
Hey There!
What is This?