Picture of LED Dot Matrix Display
In this project, you shall again use two sets of shift registers. These will be connected to the rows and
columns of the dot matrix display. You will then show a simple object, or sprite, on the display and
animate it. The main aim of this project is to show you how a dot matrix display works and introduce the
concept of multiplexing because this is an invaluable skill to have.

Step 1: Things Required

Picture of Things Required
for this project you will require -:

1. 1  LED matrix
2. 8  resistors 1k ohm
3. 8 557 transistors
4. 1 ULN2803 IC
5  Arduino
6. 2 74HC595 shift register
7. 2 Bread board
8. Connecting Wires
Electo4fun1 year ago

Good Job :D.

I did this but instead of the letters lighting up the entire matrix lights up and the letters don't.

Ah I fixed it... In the code you must remove the '~'.

Thanks for reply. can u please tell in brief. i am confuse to remove the '~'.

MarioK110 months ago

Oh man, your article is sooo nice but in my opinion your Sourcecode could have had some more comments or plausible variable names :P Specially if you try to port this to an other language / platform... Im trying to find some solution for my special Industrial Dot Matrix Display (TIP: There they added the seperate Column Transistors to the last shift register so you can control everything over the serial shift) ... But thanks anyway !

Thanks for the schematic and code. In that code only 2 time text message display. but i want to display text message for a long time until another serial moniter send next text message. So please help me. my id is dinfrnpal@gmail.com

Am I able to use s8050 d331 transistors from Texas Instruments? I got them from a kit and I'm wondering if they will substitute nicely or not?

zeeroo1 year ago
The picture shows TO-92 NPN transistor but the parts list says 557 wich is PNP
looking at the schematics it should be PNP transistor
right ?
zeeroo zeeroo1 year ago
sorry i meant should be NPN not PNP
petros91 year ago
How much time do the LED lamps need to turn ON? What is the refresh rate?
How much time is it needed to scan a column/row and also to switch from one column/row to another?

Thanks in advance
msemtd petros91 year ago
I haven't read the authors' Arduino code by the way, but I would recommend performing the refresh of each row in a timer interrupt (have a look on the Arduino playground for help on using timer interrupts).

You want to choose a refresh rate that looks smooth to the human eye so something over 50 updates (of the entire display) per second – i.e. 50Hz. Let's say we chose to refresh one row per millisecond. That equates to 1000 row updates per second or 1000/8 full display updates per second on this 8 row display. That is a 125Hz refresh rate.

We could easily halve this rate to a nice smooth 62.5Hz by updating a row every 2 milliseconds (for a 16 pixel high display at 62.5Hz the 1ms is ideal). The duration for which the LEDs are left on during that 2ms row-scan time will dictate how bright the display is!

The Arduino will take a little time to clock the data for each row into the shift register(s). For longer pixel displays the shift registers are chained together and more bits need to be shifted in. Thankfully the 74HC595 has a latch so the data can be clocked in for the next row while the previous row is being displayed on the LEDs!

Smartly coded timer interrupts will allow the Arduino to do other jobs whilst maintaining a solid refresh rate. I will post up some code when I've had a chance to try this out on an Arduino. BTW: on of my jobs is to write firmware for scrolling LED matrix displays :D
layal_12 years ago
Can I do this project but without Arduino ?
if you found this project without using Arduino . could you please help me ??
I have some questions about the parts list, I've been looking at an 8x8 led rgb display on ebay for $6.95 and I'm wondering if the resistor is ULN2803 IC like you said or is it ULN2803A IC like what I've been seeing online. Also, I think you should change the register to resistor in the parts list.
Sorry, I meant to say transistor! :P
ProBodger3 years ago
kapil gupta (author)  ProBodger3 years ago
Thanks buddy !!