How to drive 50 LED from a 3.3V MCU

microcontrollertransistors

I have an Arduino DUE, that is based on an Atmel SAM3X8E ARM Cortex-M3 CPU. It has 54 Digital I/O. It works on 3.3V.

I'd like to use it to drive individually 50 LEDs (for instance 50 optocoupler to replace a keyboard).

I know that the total DC Output Current on all I/O lines is 130 mA. So I think I should use a transistor or something to drive such a big amount of LEDs.

I'm not an expert on electronics and I'd like to know which component to use (even I think a darlington transistor should be ok).

Till now I'm driving the infrared led with a BC547 but I think I should replace it… Some hint?

Best Answer

There are multiple ways of effectively (less pins- more leds) driving 50 LEDs.

Here are some

I am sure you would not want to use all I/O pins of your Arduino for controlling LEDs only :)
Your question is kind of unclear.