help with multiplexing and transistors please


I am currently working on a project which involves controlling a matrix of 64 LED's I am using the MAX7219 multiplexing chip. I have managed to program it correctly and have now started the task of wiring up a breadboard to plug in the 64 LED's that I want to use. I was not getting enough power from the chip itself so have decided to use an external power supply and some transistors to allow me to use some brighter LED's. I am using the 2N2222A transistors with these LED's:

Luminous Intensity: 25000mcd Reverse Voltage:5.0 V DC Forward Voltage: Typical:3.2 V Max: 3.6V DC Forward Current:20mA

when i wire up the first row of the matrix it all works fine, but as soon as i wire in the second row none of the led's will light up. I have tried so many variations but i just do not know enough about electronics at the moment. I am convinced it is something to do with the GND. I have the MX7219 GND and the + coming off the arduino and the LED's getting their + and GND off an external power supply. the way i actually plugged in the transistors at the moment is contrary to the way I have seen it online but it works well. however it is this problem of plugging in more that one row of the matrix that i have come up against.

I have included a little schematic below which shows how i have wired it up currently (the arduino + and GND is the SEG and DIG coming out of the chip)

I have plugged in the GND from the external power supply into the base pin alongside the Arduino +. I know it must be wrong but weirdly it works in terms of lighting up the correct led. does anyone have any experience wiring up the MX7219 chip with transistors to run 64 LED's - any help would be greatly appreciated as i am working against a very tight deadline.

A couple of problems with your schematic --

  1. You have the base and collector labels swapped.
  2. You need to limit the current into the base with a series resistor typically in the 1K to 10K range.
  3. You need to limit the current through the LED. 5V - 3.6V - 0.2V = 1.2V for 20mA the resistance would be 1.2V/20mA = 60 Ohms

I assumed that "Arduino +" was an Arduino output.

(* jcl *)


thanks for your reply - my bad on the schematic (been looking at too many of them lately) - changed it to the correct labeling. I have just tried it with your suggestions - but although the LED is dimmer than it was before (means i must have been sending too much current through them) the problem still persists. I cannot plug in more than 1 row at a time - which makes the multiplexer slightly redundant. The Arduino + is the signal coming from the SEG pin of the multiplexing chip and the Arduino GND is the signal coming from the DIG of the chip.

I believe the base and emitter need to share a common ground. From your description it sounds like they don't.

base and the emitter are electrically connected, tho the arduino and the external source should share grounds

but why in the schematic is the base going to ground, thats pretty much just a short

look at the following example (pulled off of Google images)

thanks for the replies - i have managed to get it to work correctly now. i needed to make the arduino and the external power supply share a common GND. Once i did that and stopped the base going to ground it all works perfectly now. thanks again for the help