Page 1 of 1

Driving and protecting 4 RGB LEDs

Posted: Mon Nov 05, 2018 11:54 am
by stooshie45
Hi all,

I have a pretty basic requirement for a small project, but have come across a new problem to me.

I'm using an Adafruit Huzzah32 board, and need to connect up 4x 5mm RGB LEDs. I do not need to control them independently - they will always be the same colour/brightness as each other (so effectively you can treat it as 1 RGB LED that draws up to say 150mA). It will be powered by a 3.7v lithium battery.

The ESP32 isn't capable of driving 150mA, so that's the first problem I need to solve.

However, the main issue I have is that in this specific case I have to assume these LEDs will get physically smashed and short out. So for example, 1 of the 4 LEDs will suffer an impact that shorts one or more of the anodes to the cathode. When this happens, the ESP32 should just carry on as if nothing has happened, continuing to drive the remaining 3 LEDs. The broken LED will then be replaced on the fly.

Has anyone got any suggestions on how to do this?

Thanks,
stooshie45

Re: Driving and protecting 4 RGB LEDs

Posted: Mon Nov 05, 2018 6:27 pm
by permal
Drive each LEDs with a transistor and a current limiting resistor on the positive side in series with the LED. That way the resistor will be the protection if the LED is shorted. (This is no different from what you'd have to do to drive the LEDs in the normal case)

What's the application, it sounds violent?!

Re: Driving and protecting 4 RGB LEDs

Posted: Mon Nov 05, 2018 6:45 pm
by stooshie45
Thanks, that sounds like the right approach. I've found some logic level N channel MOSFETs that seem to be up to the task so I'll give them a go.

It's an electronic target system for air rifles, and the LEDs indicate to the shooter which target should be fired upon at any given time. However, its inevitable that the exposed LEDs will get shot out at some point, so the idea is to just accept that and use very cheap bulk 5mm ones and buy a big box of spares. Just replace as they get hit.

Thanks again for the answer.