5x5 led matrix power help?

I'm making a 5x5 matrix and I want to power it with a 12v battery. My problem however is that each LED as I understand is in parallel, and the way I have wired it is with 1 resistor per LED. So that's 25 resistors. But now if I power 1 LED with a 12v battery and a 600ohm resistor I get 0.2watts of power dissipation from the resistor to burn the excess 10v at 0.02A. So how else can I go about doing this?

P= VV/R = 1010/600 = 167mW disippated by the resistor. What's the issue?
Are you multiplexing this, so only 5 LEDs on at a time? So you only need a 5 *.02A = 0.1A supply.
Or can all 25 be on together and each is individually selectable?
In which case you need a 25 * .02A power supply = 0.5A
(which isn't really a matrix, it's just 25 LEDs arranged in a square).

calvingloster:
how else can I go about doing this?

You need to start with less volts.

A switching voltage converter would do it, eg.: http://www.ebay.com/itm/181192364681

CrossRoads:
P= VV/R = 1010/600 = 167mW disippated by the resistor. What's the issue?
Are you multiplexing this, so only 5 LEDs on at a time? So you only need a 5 *.02A = 0.1A supply.
Or can all 25 be on together and each is individually selectable?
In which case you need a 25 * .02A power supply = 0.5A
(which isn't really a matrix, it's just 25 LEDs arranged in a square).

Well I'm using shift registers so I am not multiplexing.

Ok, then use TPIC6B595, can sink current from 12V source.

CrossRoads:
Ok, then use TPIC6B595, can sink current from 12V source.

Well I'm actually using shift registers to switch NPN and PNP transistors on that will complete the led battery loop. So the way I understand it the shift registers can supply enough voltage to switch 5 transistors on with ease? I should post a picture so u can see my diagram. Let me just get home

Sounds over complicated. Just use 4 TPIC6B595, 25 resistors, 25 LEDs.

CrossRoads:
Sounds over complicated. Just use 4 TPIC6B595, 25 resistors, 25 LEDs.

I'm trying to learn so maybe it is over complicated but still. I also want to make a bigger one with maybe a 1000 LED's. Then I would for sure need transistors.

calvingloster:

CrossRoads:
Sounds over complicated. Just use 4 TPIC6B595, 25 resistors, 25 LEDs.

I'm trying to learn so maybe it is over complicated but still. I also want to make a bigger one with maybe a 1000 LED's. Then I would for sure need transistors.

Thanks for mentioning that at the beginning so nobody wastes any time giving irrelevant answers.

The solution is the same: Use less volts.

Get multiple voltage converters (like the one I posted) in parallel. Dial them down as low as you can go (4V is better than 5V) for minimal losses.

You need to connect the GNDs together but keep their +ve outputs separate. Arrange your LEDs in groups, each with its own converter.

1000s of LEDs - arranged how? Actual multiplexing?
Say you had 32 x 32 array, 1024 LEDs.
Approach is the same - use cd74AC164 to source current to anodes,
or 74HC595 with MIC2981 as current drive buffer,
and
74HC595 driving N-channel MOSFETs to sink current from cathodes.
Wiring up tons of individual components is tedious and prone to errors with all the repetition.

Ok thanx guys, sorry I never explained myself fully in the begining,. The reason why I wana wire them up individually is so that I can have the same brightness if I light up one led or 25 led's at the same time. And I want to control each led individually in an X Y axis fashion. Like I can put Row one on, and column 5 on then one LED will light up. Or if I put Row 1 and column 4 and 5 on then 2 led's would be lit.

Ok but I see I'm abit slow so sorry for frustrating you guys. I'll do more research then try again

Multiplexed array will have the same brightness, each On LED is given the same current pulse for the same time as any other LED, so the eye/brain percieves them as all being on the same brightness. That's the beauty of persistence of vision (POV).
So 32 columns, each one is on 1/32 of the time, 1042uS each column, for 30 Hz refresh rate, flicker free. Use SPI.transfer( ) and blink without delay to pull data from a 128 byte array.