LED module on Arduino – driver needed

arduinoled

That an arduino can power some simple led's is basic knowledge. But what about an SMD RGB LED. I cannot find some datasheet for the module I purchased from ebay

(I want to use this LED for Notification purposes like the LED on android devices, eg: Green: Bootup, Green Blinking: Everything OK, Blue: Sending a Signal, Yellow: Receiving a signal, RED: Alarm state … etc.)

Can this module be driven without the need of some extra Transistors? Do I need extra resistors or are theese little black things on the module already resistors? I am using an Arduino MEGA 2560 and want to connect the leds to the PWM Pins ~46-49, I think it was.

Best Answer

According to this website the led specs are:

Technical Details: 5050 full-color LED Dimensions: 0.98 in x 0.59 in x 0.08 in (2.5 cm x 1.5 cm x 0.2 cm) Weight: 0.18 oz (5 g)

5050 LED Specifications:

  • Red Vf: 1.8 to 2.1V
  • Green Vf: 3.0 to 3.2V
  • Blue Vf: 3.0 to 3.2V
  • Red color: 620-625 nm
  • Green color: 520-525 nm
  • Blue color: 465-470 nm
  • Red brightness @ ~20mA: 600-800 mcd
  • Blue brightness @ ~20mA: 800-1000 mcd
  • Green brightness @ ~20mA: 1500-2000mcd

Your board uses 51 Ohm for blue, 51 Ohm for green and 100 Ohm for red.

With 5v input

  • \$ Red: I = \frac{5v-2v}{100}= 30mA \$
  • \$ Green: I = \frac{5v-3.1v}{51}= 37mA \$
  • \$ Blue: I = \frac{5v-3.1v}{51}= 37mA \$

There is no info for the max allowed current of the led but for the AVR I/O with an absolute max of 40mA per I/O (and 200mA for port total) these ratings are too close (although the I/O voltage will not be 5v when you try to source 30mA).

I would suggest you add external resistors to the module to drop the current to 20mA

  • \$ Red: I = \frac{5v-2v}{0.02A}= 120\Omega -\$ so add an external 22 Ohm resistor
  • \$ Green: I = \frac{5v-3.1v}{0.02A}= 95\Omega -\$ so add an external 47 Ohm resistor
  • \$ Blue: I = \frac{5v-3.1v}{0.02A}= 95\Omega -\$ so add an external 47 Ohm resistor

schematic

simulate this circuit – Schematic created using CircuitLab