Have a 10 x 10 LED array sourced with CD74HC154 Decoder/Demultiplexer to PNP Transistors (rows) and sinked with STP16CPS05 Sink Driver (columns). This is driven with an Atmega328P. Rows and columns are multiplexed. It works great.

Problem: I want to adjust LED brightness by increasing sink current through STP16CPS05 via the external resistor R-EXT pin 23. Using data sheet Table 11, when I change R-EXt from 1K to 215 ohm there is no change in brightness. This is still true when I light just one row and turn of multiplexing. If I disconnect an LED from an STP16CPS05 output and go straight to ground it gets much brighter.

See attached schematic. Note: I am using an inverter gate from Latch LE/DM1 pin 4 to Output Enable pin 21. This was to eliminate random flickers when multiplexing. Only turns on outputs when Latched. Also works great.

Source: Row Current is 200mA with transistor Base resistor at 2.5K. Dropped this down to 215 Ohm to make sure I was not restricting current here. Transistor is Fairchild SS8550.

Question: Why doesn't R-EXT value change LED brightness?


I took the measurements as shown in the image below. While multiplexing is paused, measuring the single LED in a column that is on Anode = 4.84V Cathode =0.80V. Transistor Emitter = 5.06V Collector = 4.88V. At the pin for this column on STP16CPS05 = 0.69V

Voltage Readings

Looking at the Datasheet graph of FWD Current vs FWD Voltage for a blue LED, if my FWD Voltage is 4.0 Volts then the current must be 69mA? I added the dashed lines to the graph.

enter image description here

  • \$\begingroup\$ Looking at the datasheet it appears that the STP16CPS05 is designed to drive one LED per pin. You appear to be driving 10 LEDs in parallel on each pin. \$\endgroup\$
    – Transistor
    Commented Aug 5, 2018 at 12:59
  • \$\begingroup\$ Yes, but it is multiplexed, so only one Row/Column is on at a time. Row 1 and Col 1, then Row 2 and Col 2, etc. \$\endgroup\$
    – BlueSky
    Commented Aug 5, 2018 at 16:27
  • \$\begingroup\$ Even when not multiplexing, just row 1 col 1 being used (which means one LED is lit), R-EXT value has no effect on brightness. \$\endgroup\$
    – BlueSky
    Commented Aug 5, 2018 at 16:29
  • \$\begingroup\$ We're missing a few details on the cropped schematics. (1) What is V<sub>CC</sub>? (2) What colour are the LEDs? Note that you can expect the LED to be much brighter when the cathode is shorted to ground as (a) it's no-longer multiplexed and (b) there is no current limiting other than the impedance of the transistor. \$\endgroup\$
    – Transistor
    Commented Aug 5, 2018 at 17:35
  • \$\begingroup\$ I attached the full schematic. \$\endgroup\$
    – BlueSky
    Commented Aug 6, 2018 at 11:05

1 Answer 1


I'm wondering if you are just caught with the LED forward voltage, VF, the supply voltage, the PNP voltage drop and the current regulator.


simulate this circuit – Schematic created using CircuitLab

Figure 1. Equivalent circuit.

If you can repeat your long-delay code and measure the voltages with respect to ground for VCC and the LED anode and cathode we may be able to make some sense of your observations.

enter image description here

Figure 13 of the datasheet suggests that the voltage drop across the current sink will rise with the current. This is to be expected.

enter image description here

Figure 3. VF for various LED colours. Image source (mine).

We can also see that as the current increases that VF will rise also. The combination of the current sink drop, the LED increasing VF and the fixed drop across the PNP transistor may put you into current limit.

Unfortunately with your PNP arrangement you can't supply the LED array with a higher voltage or you will experience a high-side fail.

  • \$\begingroup\$ LED is CREE C4SMK-BJS-CQ0T0352. Datasheet shows FWD Voltage = 3.2V. FWD Current = 35 mA. \$\endgroup\$
    – BlueSky
    Commented Aug 7, 2018 at 2:03
  • \$\begingroup\$ Question is updated above with the measurements. I think they show that you are correct. If my FWD voltage is 4.0 then current is 69mA? With all of the voltage drops through the circuit, current is max'd out? \$\endgroup\$
    – BlueSky
    Commented Aug 8, 2018 at 10:49
  • \$\begingroup\$ Good work. It looks as though you're maxed out alright. That's a shame but a problem with 5 V and blue. A couple of options maybe: (1) Increase the PNP Vcc to 5.5 or 6 V. That would require addition of an open-collector or level-shifting buffer between the 74HC154 and PNPs to avoid the high-side fail described above. (2) The Texas Instruments 74HC154 will work up to 6 V. Could you use this as a level shifter if the inputs would still switch from the micro-controller's output logic levels. It's worth a look. \$\endgroup\$
    – Transistor
    Commented Aug 8, 2018 at 11:07
  • \$\begingroup\$ Thanks for your help. I understand LED Forward Voltage now. \$\endgroup\$
    – BlueSky
    Commented Aug 8, 2018 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.