I bought a 12V, 2A PSU for 1$ and it has the common design with CSC7203 IC:

The one I got didn't have the input fuse, capacitor, TVS diode and the output filter inductor. I added all those myself. also instead of a TL431 it uses just a zener diode.

I want to inject a circuitry to the feedback loop to achieve constant current mode:


simulate this circuit – Schematic created using CircuitLab

The LEDs that I want to lit needs 7.5 V to start illuminating, so the output will be higher than 7.5 V which is enough for the op amp to function.

  • Is this idea even possible/practical? If not what is the alternative?

After Andy's answer I have to add that I want to be able to dim the light, from ~0 to 1A.

  • \$\begingroup\$ It's possible, however there's a good chance you'll have an interesting time with compensation (so it doesn't oscillate or overshoot excessively). There might also be an issue with the mystery box Vref since it gets powered from the secondary side presumably. \$\endgroup\$ Jan 6 at 18:33
  • \$\begingroup\$ @SpehroPefhany Can I solve that by over-compensating the integrator with 10uF capacitor? For Vref I'm going to use a voltage reference ~2.5V, so it should be okay? \$\endgroup\$ Jan 6 at 18:36
  • 2
    \$\begingroup\$ For the reference you have to think about the startup. Compensation, I suspect that would make it worse. Andy's answer looks like it will work without drama, albeit by wasting more power in the sense resistor. \$\endgroup\$ Jan 6 at 18:39
  • 1
    \$\begingroup\$ @SpehroPefhany I tried it and I did have a fun time with compensation, the transformer was so entertained that it started singing high pitch notes! \$\endgroup\$ Jan 6 at 21:19

2 Answers 2


The datasheet mentions that the chip employs current mode control. This means that it already operates as a constant current SMPS without external feedback circuitry. The external feedback network (TL431 + optoisolator) controls this switchmode current source to keep the bulk capacitor at the power supply's output charged to the correct voltage.

This is quite a common scheme as it's quite easy to compensate.

Let's look at the block diagram from the datasheet you linked:

Switching controller block diagram

It seems like the chip injects a constant current into the FB pin (to provide bias for the optotransistor) and uses the voltage on that pin to control the peak current through the transformer primary.

Long story short: If you remove the power supply's entire feedback circuitry and just connect a resistor from FB (pin 5) to ground (pin 3), the SMPS should operate in constant current mode. Of course it won't be a particularly accurate constant current.

Start with a small resistor (i.e. 100 Ohm), then work your way up until you get to the desired output current.

A warning, though: By doing this modification, you remove the power supply's ability to regulate its output voltage. Without a load, it will produce a high voltage and kill the chip and/or output caps. Never operate the modified SMPS without a load.

Since a picture says more than a thousand words, here's the modified schematic:

Modified SMPS schematic

For dimming, you can either use a potentiometer, or you can apply an external constant voltage to the FB pin. In either case, the control circuitry must be properly isolated as it will be at mains voltage.

Keep in mind that working with mains voltage can kill you.

  • \$\begingroup\$ So I should keep the zener at the output to prevent the voltage surge? \$\endgroup\$ Jan 6 at 18:55
  • 1
    \$\begingroup\$ @ElectronSurf The Zener is not going to survive the full output current. You could solder the LEDs directly to the SMPS output via wires (without any connectors), for example, to prevent accidental unplugging. For testing, you can similarly solder a high power resistor to the output (i.e. 10 Ohms rated for 20 Watts or more). \$\endgroup\$ Jan 6 at 18:58

How can I modify this cheap chinese power supply for constant current output?

I'd modify the feedback circuit so, consider these two resistors (R7 and R8): -

enter image description here

When 12 volts is on the output, 2.5 volts appears on the input pin of the TL431. 2.5 volt is the threshold at which the TL431 starts conducting. When it conducts (simple explanation) it turns-on the photodiode in the opto-isolator and, this in turns, tells the CSC7203 chip to stop working.

Then, the output voltage drops a tad and the TL431 turns-off the photodiode thus reactivating the CSC7203. Actually, It happens rather linearly and, 12 volts is maintained on the output with just enough current flowing through the photodiode to keep the CSC7203 duty-cycle at the right amount to produce 12 volts on the output.

To make this sort of circuit drive a constant current through LEDs you could do this: -

enter image description here

If you want more than 100 mA, lower the 25 Ω resistor but, take care of the power dissipation in the resistor because, if you need 1 amp then it would have to be a 2.5 Ω that dissipates 2.5 watts.

  • \$\begingroup\$ I forgot to add to the question that I want to be able to dim the LEDs, and the maximum current will be ~1A. so 2.5W in a small box with no air flow seems a bit problematic in my case. \$\endgroup\$ Jan 6 at 18:44
  • 1
    \$\begingroup\$ Is there a reason that you removed the added info to the question? \$\endgroup\$ Jan 6 at 19:00
  • \$\begingroup\$ @ElectronSurf you have done a basic edit which ought to be more reflective of it being added as a correction following the submission of my answer. So, I've rolled-back the question to remove that edit in the full anticipation that you'll make a new edit stating that following my answer, you have revised your specification. \$\endgroup\$
    – Andy aka
    Jan 6 at 19:00
  • \$\begingroup\$ You can modify the circuit I proposed by injecting a DC current onto the TL431 gate via a high value resistor from a voltage source of a few volts. This "cons" the controller into thinking more current is flowing when it isn't and gives you the sort of control you might need). I suggest you go down this route first then adapt the resistor (R7) to be a lower value (less power dissipation) by adding a linear amplifier to change (say) 0.5 volts (the voltage across R7 when it is made to 0.5 ohm and, is passing 1 amp and dissipating 0.5 watts) to 2.5 volts. \$\endgroup\$
    – Andy aka
    Jan 6 at 19:05
  • \$\begingroup\$ The problem is that as I mentioned in my question, it uses a zener instead of TL431. If I'm going to add TL431 and again another circuit to drive TL431 REF pin, isn't it better to use the design that I show in the question? Spehro Pefhany mentioned the possible compensation difficulties, do you have anything to add to that? \$\endgroup\$ Jan 6 at 19:12

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.