Simple matrix 4x4 - Something wrong in the circuit?

I wanted to make a bigger matrix, but before byuing all the items that I think I need, I started with a smaller one.
Here's my little hardware project:

That's easy:
I write a number on the serial/parallel converter (74595) to switch on the equivalent number on the row decided by the number (2 bit in the example) on the BCD/Decimal decoder.

So, if I make a simple loop (with a delay inside) from 1 to 4 that writes:
Serial/Parallel: 1
BCD/Dec:0

Serial/Parallel: 2
BCD/Dec:1

Serial/Parallel: 3
BCD/Dec:2

Serial/Parallel: 4
BCD/Dec:3

I see blinking on the matrix something like that:
xooo
oxoo
xxoo
ooox

If I remove the delay, seems that all the right leds are switched on at the same time, BUT some leds that should be off are almost on!!! Why? :frowning:

What's wrong? Thanks

What's wrong?

You forgot:-
[https://www.youtube.com/watch?v=tdQL_7osGzc](https://www.youtube.com/watch?v=tdQL_7osGzc\)

Try reading this:-
http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html

BUT some leds that should be off are almost on!!! Why?

because that sequence is wrong, you are assuming you can change two things at the same time - you can't.
Use this sequence:-

Serial/Parallel: 0
BCD/Dec:0
Serial/Parallel: 1

Serial/Parallel: 0
BCD/Dec:1
Serial/Parallel: 2

Serial/Parallel: 0
BCD/Dec:2
Serial/Parallel: 3

Serial/Parallel: 0
BCD/Dec:3
Serial/Parallel: 4

in other words make sure the LEDs are off before you change the pull down value, then set the LEDs on.

Grumpy_Mike:
You forgot:-
[https://www.youtube.com/watch?v=tdQL_7osGzc](https://www.youtube.com/watch?v=tdQL_7osGzc\)

LOL!
Sorry, I thought that the problem was the circuit part! I'll try tonight :slight_smile: Thank you

And when you want to do this seriously, buy some MAX7219s.