PWM control LED's with PNP transistor

Hi all,
I need some help driving a 5V LED disc.

Desired setup:
-Led disc: http://www.dfrobot.com/index.php?route=product/product&product_id=350#.UQgHxkrIPZc
-5V (external) to the LED’s
-1 PNP transistor per color
-PWM drives the color channels

I need to go for PNP (instead of a darlington array) because this LED disc requires the +5V to be switched instead of the Ground (which is more common i guess).

Switching works when configuring the imp’s outputs as ‘DIGITAL_OUT_OD’. But I need finer color control and this requires PWM.

Can someone help me solving this problem?

thanks, Bart

I just had a brainwave. Maybe it’s also possible to amplify the pwm signal from 3.3 to 5v? Any ideas on this as well?

What about using a ULN 2803 NPN or ULN 2804 PNP Darlington Array IC. These are meant to drive larger loads with very small control input signals. http://www.doyoung.net/video/DATASHEET/PDF/ULN2803.pdf

The Imp puts out very, very low current signals (much lower than an Arduino) and I have had luck driving a 3-5V relays/ LED’s using two 3904 NPN transistors in a Darlington configuration; I use the VIN (5v from the USB supply) as the source voltage, and the Imp GPIO as the control signals (3.3v 4mA). Visit this site to see how to wire up two of them in Darlington configuration: http://www.electronics-tutorials.ws/transistor/tran_4.html

The other option is to use a high-side driver, as I detailed in this thread:

http://forums.electricimp.com/discussion/620/ssr-for-use-with-garage-door-opener-remote-control-#Item_10

…two FETs and you can PWM away no problem.

Thanks for the input guys.
I indeed need a high-side solution for this LED disc.

I now have this solution (see image) but it is not perfect yet. Instead of controlling the LED’s brightness from 0-100% I get a 90-100% range with the 3k3 resistor. Different resistors change the range. But I can’t find the right value for a 0-100% solution.

Any new idea’s? Or do you think I need the 2 FET solution Hugo?

Yeah, that’s not going to work because you can’t turn off the PNP transistor unless you can get the base up to >4.3v.

The two-fet solution solves this one…

It’s been a while. But just wanted to let you know that the high-side driver solution Hugo mentions works perfectly:
http://forums.electricimp.com/discussion/620/ssr-for-use-with-garage-door-opener-remote-control-#Item_10

thanks