expanding I2C to 30 SAA1064 LED drivers

I have been going through many ways of driving 24 7x5 LED displays without multiplexing, and have now settled price and performance wise, on the SAA1064 drivers running at 50% internal multiplexing.

( I know I could have made it 8x5 but I didnt have enough LEDs on hand )

I have tested the brightness at 50%, and can crank up the LED current a bit to compensate. It is still OK in full sunlight ( which it was not using 20% multiplexing )

This is how I see it happening ( I am a bit confused after going through so many examples ) please suggest better ideas !
( I dont know how to do the thumbnails at the bottom of the post ) so heres the drawing :-

Each set of 4 displays will have 5 chips , and each group of 4 chips will have its own I2C feed.

I will have a remote control sending 24 characters, which I will have to store in an array of 120 sequencial columns of LEDs ( B00100101 etc )
I think I have an idea how to do this.

Then for each group of eight I2C pairs from the CD4052 expanders.
(The example of a one chip expander I couldn't understand, and it uses an interrupt which I am already using for the RFM22 ) plus I have been using the 4052 for over 30 years !

So I send 4 bytes ( LED columns ) in turn to each address of the 4 chips in that group,

then move on to the next group, and so on.

In the example from Tronixstuff, John has this in the setup :-

void initDisplay()
// turns on dynamic mode and adjusts segment current to 12mA
  Wire.beginTransmission( 0x70 >> 1;);
  Wire.send(B00000000); // this is the instruction byte. Zero means the next byte is the control byte 
  Wire.send(B01000111); // control byte (dynamic mode on, digits 1+3 on, digits 2+4 on, 12mA segment current

But I will have to call this up every time I want to change the address , and when I want to fade the displays if the light sensor shows low light. ?

Am I on the right track here ?

Am I on the right track here ?

Looks fine to me.

You might want to cut down on the 4052s to just one. The clock can be common for all chips and all you have to do is to switch the data lines.

Of course , that makes sense, it cant get its start signal without the SDA as well as SCL

Thanks Mike

I have put the pull up resistors after the multiplex to avoid the inputs to the drivers floating, does that look right?

Yes that sounds right.


I suppose I had better get another roll of solder for the 3368 LED legs to be soldered :slight_smile: ( there are two of these displays to make )