Using the MAX7219 to Drive Higher Current

Hi Folks,

I've got a Maxim7219 controlling an 8x8 grid of LEDs. But I'm not able to get the LEDs bright enough.

Rather than powering the LEDs directly with the 7219's output-current, I'd like to implement the transistor circuit described here:

I think I'm able to use the Arduino's 5V supply voltage to light my LEDs, so I'm aiming to use the 'Figure 1' circuit for the DIG pins.

Can anyone help me determine which microchips to use for these transistors? I am quite new to working with transistors and am confused.

If I read this correctly, it looks like I need to use two different chips: An array of FETs on the DIG pins, and an array of NPNs on the SEG pins.

Some of the chips I've been looking at include:

But I'm really not qualified to tell these chips apart or understand precisely what they do.

Any guidance would be greatly appreciated!!

(I've also heard it suggested that this Maxim circuit may not be the best way to do this. If anyone knows a simpler circuit that would work, then please share!)

=Tim=

I'd suggest you have a look into TLC5940:

• Drive Capability (Constant-Current Sink)
– 0 mA to 60 mA (VCC < 3.6 V)
– 0 mA to 120 mA (VCC > 3.6 V)

I'd suggest you have a look into TLC5940:

I've already built my circuit and software around the 7219. It's too late to switch to a whole new LED driver chip.

It's a pity, in this case there is no option as to solder bunch of transistors and resistors, exactly as
it shown in Max application notes. Some chips, like Darlington array ULN2003 will help, but nevertheless.

BTW, is it really big difference to drive LEDs with 60 mA instead of 40?

8 transistors is not so many to have to solder, if it comes to that.

Should the ULN2003 be used on the DIG side or the COL side? What transistor components should be used on the opposite side? Just ordinary IRF504s?

Could a UDN2981 substitute for the ULN2003 ok? I have a few of those available already.

And youre right, the additional few amps may not make a big difference. I might end trying to up the voltage level too, but I figure I'll try to understand the simpler circuit first.

Thanks for the help.

By default the LedControl library has the intensity set to 8 out of 15.

Which library are you using? Did you try to adjust the intensity variable?

Great point Cintax. I'm using the Arduinome firmware, I'll check whether the brightness can be adjusted on that.

( http://flipmu.com/work/arduinome/download-code/ )

Should the ULN2003 be used on the DIG side or the COL side?

Segment driver.

What transistor components should be used on the opposite side? Just ordinary IRF504s?
Could a UDN2981 substitute for the ULN2003 ok? I have a few of those available already.

UDN2981 is good for Digit driver.
(It is not substitute for ULN2003).

As both chips have input current limiting resistors you can connect it directly to max7219 outputs. And you will still need 8 resistors to limit leds current.

So, a UDN2981 on the DIG pins, and an array of IRF5??s on the COLs?

I've designed my LED grid to be common-anode. But it could be modified to common-cathode very easily.

There is a schematics and disscision:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1212882269

And of course, you can replace uln2003 with OOOPSSSS... nFET!!!
logic level. (don't have data on IRF5xx, so not sure)

or any low power npn transistors.