Power consumption of a 4×4 LED matrix

ledmicrocontrollerpower

I have a 4×4 LED matrix multiplexed, meaning that I can control individual LEDs with just 8 lines rather than 16. I am interested in finding the power consumption of the grid. The LED has forward voltage drop of 1.8 V and I am using 330 ohm resistor with each LED. The power supply is 5 volts. Appreciate any help!

Best Answer

Since each LED is dropping 1.8V, then there will be about 3.2V dropped across each 330 ohm resistor -> 5V - 1.8V = 3.2V.

The current through the resistor is the same as the current through the LED in series. This is calculated as resistor voltage divided by resistance -> 3.2V / 330 ohms = 9.7mA. This is the current through each LED string consisting of one series resistor and LED.

There are 16 LEDs, but using this style of matrix multiplexing, a maximum of 4 should ever be on at one time. That means your maximum current consumption should be found by multiplying the current through one LED string by the total number of strings -> 4 * 9.7mA = 38.8mA.

Power (watts) is simply voltage multiplied by current:

  • Total Power: 5V * 38.8mA = 194mW
  • Power Per LED String: 5V * 9.7mA = 48.5mW
  • Total LED Power: 1.8V * 38.8mA = 69.84mW
  • Total Resistor Power: 3.2V * 38.8mA = 124.16mW
  • Efficiency: 69.84mW / 194mW * 100% = 36%

The efficiency is very low because so much voltage is dropped across the series resistors. Since you only need one LED at each matrix point, the best way to increase the efficiency would be to use a lower voltage power supply. For example, if the supply was 3.3V instead of 5V, only 1.5V would be dropped across each resistor. To maintain the same 10mA through each LED, the resistor size would be changed from 330 ohms to 150 ohms (1.5V / 10mA). With less voltage dropped across each resistor with the same amount of current flowing, less power is wasted in the resistors. The new numbers would look like this:

  • Total Power: 3.3V * 40mA = 132mW
  • Power Per LED String: 3.3V * 10mA = 33mW
  • Total LED Power: 1.8V * 40mA = 72mW
  • Total Resistor Power: 1.5V * 40mA = 60mW
  • Efficiency: 72mW / 132mW * 100% = 55%

When driving LEDs in this manner, you want the total supply voltage to be as close as possible to the total LED string voltage (one LED or a few LEDs in series) with a bit extra to drop across a series resistor to set the current. If you could use a 2.0V supply, 20 ohm resistors would drop 0.2V for the same 10mA. This would drop the total power consumption to 80mW and increases the efficiency to 90%!

Of course, you would probably have to use a voltage regulator to achieve this irregular voltage supply level which will lower the efficiency (matrix efficiency * regulator efficiency). You'd really need to use a switching regulator which could have greater than 90% regulation efficiency. If you use a linear regulator, it will yield the same low efficiency in the end because it is burning off the extra voltage as heat, similar to the series resistor in your original design.

If you are using multiple LEDs at each matrix point, put as many in series as possible (in your case, 2 is all you can do with a 5V supply and 1.8V LED) rather than in parallel to save on wasted current.

You didn't ask this in the question, but keep in mind that when multiplexing LEDs in this manner, each will only be on 1/4 of the time because you are using an Nx4 matrix. Hence, the LEDs will only appear to be about 1/4 as bright as they would be when driven continuously with the same series resistance (again, not exactly due to the nonlinear light output to current relationship).