Home » AC to DC Adapter » How to Modify SMPS for Adjustable Current and Voltage Output
How to Modify SMPS for Adjustable Current and Voltage Output

How to Modify SMPS for Adjustable Current and Voltage Output

This article discusses a method through which any ready made SMPS can be converted into a variable current smps circuit using a few external jumper links.

In one of the previous articles we learned how to make a variable voltage SMPS circuit by employing a simple shunt regulators stage, in the present hack also we employ the same circuit stage for implementing a variable current output feature.

What is SMPS

The SMPS concept today has almost completely replaced the traditional iron core transformers and have transformed these units into a much compact, light weight and efficient power adaptor alternatives.

However since SMPS units are commonly available as fixed voltage modules achieving a preferred voltage as per the users application needs becomes quite difficult.

For example for charging a 12V battery one may need an output voltage of around 14.5V, but this value being quite odd and non-standard we may find it extremely difficult to get an SMPS rated with these specs in the market.

Although variable SMPS circuits can be found in the market, these may be costlier than the ordinary fixed voltage variants, therefore finding a method of transforming an existing fixed voltage SMPS into a variable type looks more interesting and desirable.

By investigating the concept a little I was able to find a very simple method of implementing the same, let's learn how to conduct this modification.

You will find one popular 12V 1amp SMPS circuit in my blog which actually has an in built variable voltage feature.

The Function of Opto-coupler in SMPS

In the above linked post we discussed how an opto coupler played an important role in providing the crucial constant output feature for any SMPS.

The function of the opto coupler may be understood with the following brief explanation:

The opto coupler possesses an inbuilt LED/photo-transistor circuitry, this device is integrated with the SMPS outputs stage such that when the output tends to rise above the unsafe threshold, the LED inside the opto lights up forcing the phototransistor to conduct.

The photo-transistor in turn is configured across a sensitive "shut down" point of the SMPS driver stage wherein the conduction of the photo-transistor forces the input stage to shut down.

The above condition results in the SMPS output to also instantaneously shut down, however the moment this switching initiates, it corrects and restores the output to the safe zone and the LED inside the opto deactivates which once again switches ON the input stage of the SMPS.

This operation keeps on cycling rapidly from On to OFF and vice versa ensuring a constant voltage at the output.

Adjustable Current SMPS Modification

In order to achieve a current control feature inside any SMPS we yet again seek the help of the opto coupler.

We implement a simple modification using a BC547 transistor configuration as shown below:

Referring to the above design we get a clear idea regarding how to modify or make a variable current SMPS driver circuit.

The opto coupler (indicated by red square) will be present by default for all SMPS modules, and assuming that the TL431 is not present then we may have to configure the entire configuration associated with opto coupler LED.

If the TL431 stage is already a part of the SMPS circuit, in that case we just have to consider integrating the BC547 stage which becomes solely responsible for the proposed current control of the circuit.

The BC547 can be seen connected with its collector/emitter across the TL431 IC's cathode/anode, and the base of BC547 can be seen connected with the output (-) of the SMPS via a group of selectable resistors Ra, Rb, Rc, Rd.

These resistors being in between the base and emitter of the BC547 transistor begin functioning like current sensors for the circuit.

These are appropriately calculated such that by shifting the jumper connection across the relevant contacts, different current limits are introduced in the line.

When the current tends to increase beyond the set threshold as determined by the values of the corresponding resistors, a potential difference is developed across the base/emitter of the BC547 which becomes sufficient to turn ON the transistor, shorting the TL431 IC between the opto LEd and ground.

The above action instantly lights up the LED of the opto, sending a "fault" signal to the input side of the SMPS via the opto's in-built photo transistor.

The condition immediately tries to execute a shut down across the output side which in turn stops the BC547 from conducting and the situation fluctuates from ON to OFF and ON rapidly ensuring that the current never exceeds the predetermined threshold.

The resistors Ra...Rd may be calculated by using the following formula:

R = 0.7/cut-of current threshold

For example if suppose we want to connect an LED at the output having a current rating of 1 amp.

We can set the value of the corresponding resistor (selected by the jumper) as:

R = 0.7/1 = 0.7 ohm

Wattage of the resistor can be simply gotten by multiplying the variants, i.e. 0.7 x 1 = 0.7 watts or simply 1 watt.

The calculated resistor ensures that the output current to the LED never crosses the 1 amp mark, thereby safeguarding the LED from damage, other values for the remaining resistors may be appropriately calculated for getting the desired variable current option in the SMPS module.

Modifying a Fixed SMPS into Variable Voltage SMPS

This following post tries to determine a method through which any SMPS could be made into a variable power supply for achieving any desired voltage level from 0 to maximum.

What is Shunt Regulator

We find that it employs a shunt regulator circuit stage for executing the variable voltage feature in the design.

Another interesting aspect is that this shunt regulator device implements the feature by regulating the input of the opto coupler of the circuit.

Now since a feedback opto coupler stage is invariably employed in all SMPS circuits, by introducing a shunt regulator one can easily transform a fixed SMPS into a variable counterpart.

In fact one can also make a variable SMPS circuit using the same principle as explained above.

You may want to learn more about what's a shunt regulator and how it works.


Referring to the following example circuit, we are able to find the exact location of the shunt regulator and its configuration details:

See the bottom right side of the diagram marked with red dotted lines, it shows the variable section of the circuit we are interested in. This section becomes responsible for the intended voltage regulation actions.

Here the resistor R6 can be replaced with a 22K pot for making the design variable.

Magnifying this section provides a better view of the involved details:

Identifying the Optocoupler

If you have a fixed voltage SMPS circuit, open it and just look out for the optocoupler in the design, it would be mostly located just around the central ferrite transformer, as may be seen in the following image:

Once you have found the opto-coupler, clean up by removing all the parts associated on the output side of of the opto, meaning across the pins which may be towards the output side of the SMPS PCB.

And connect or integrate these pins of the opto with the assembled circuit using the TL431, shown in the previous diagram.

You can assemble the TL431 section on a small piece of general purpose PCB and glue it on the main SMPS board.

If your SMPS circuit does not have an output filter coil, you can simply short the two positives of the TL431 circuit and join the termination to the cathode of the SMPS output diode.

However suppose your SMPS already includes the TL431 circuit with the opto coupler then simply find the position of the R6 resistor and replace it with a pot (see R6 location in the first diagram above).

Don't forget to add a 220 ohms or 470 ohm resistor in series with the POT otherwise while adjusting the pot to the upper most level could instantly damage the TL431 shunt device.

That's it, now you know exactly how to convert or make a variable voltage SMPS circuit using the above explained steps.


The following image shows perhaps the easiest way to customize an SMPS circuit for getting a variable voltage and current features. Please see how the pots or presets needs to be configured across the opto-coupler for getting the intended results:

If you have any further doubts regarding the design or the explanation, feel free to express through your comments.


About the Author

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials. If you have any circuit related query, you may interact through comments, I'll be most happy to help!

22 thoughts on “How to Modify SMPS for Adjustable Current and Voltage Output”

  1. Dear Sir, thank you very much indeed for the above update and guidance.
    I shall try out the above idea first and get back to you for further guidance.
    Thanks again!

  2. sir thanks for the guidance
    i just want to ask that i want to design this circuit on Proteus but i didn’t find any library for integrated power switch so how should i proceed now..
    the second question is if we design this model and if so across fet(integrated power switch) there so much heat come so can we reduce this power dissipation by using bc547 transistor across the output stage?

    • Hi Sam, if it’s not there you will have to add it. You will find many online tutorials which have explained how to add library components.

      Yes the BC547 stage or Q1 stage in the last diagram are for limiting current, so they can be configured appropriately for controlling the dissipation.

      • thanks for the response..i know how to add the library in proteus but the probelm is i have tried alot but still didn’t find libraray file for integrated power switch (fet).can you plz provide me any link or any guidance regarding this

  3. Its not given in the diagram, but the explanation note it says quote “The switch S1 enables to have 2 working ranges employing a voltage division rate governed by IC2 pretty much significant” unquote, also in the parts list-“IC2: ICL8069”
    Now I’m getting confused…..
    Would you please help ?
    Thanks again.

    • Thank you Imsa, The idea explained in the above article is the only information I presently have, I don’t think there can be any other easier option than the above method. The current resistors could be selected using a rotary switch if the selector switch is not acceptable.

    • Sir ,what causes voltage drop in smps under load ,after one year of 24×7 use in the same 1 .5 amp load but after a year the adaptor voltage dropping ,i check the volt it’s showing 5.4 volt it’s ok but under load it’s vot dropping in to 2.1 vot , i replaced all caps first stage and second stage and o/p diode also replaced but not working 🤔 can u plz suggest any idea ,and also I research in Google about voltage drop isssu but I can’t find anything ,plz reply 🙏

      • Hi Vyshak, in any power supply system the voltage will drop if the source is unable to provide sufficient current, which can happen if the power handling device or the transformer is defective. Or perhaps the feedback system can be also defective, which may be shutting down the primary due to an incorrect current sensing.
        You can first remove the feedback link, and the check the output with a load. If that doesn’t solve the issue, next you could try replacing the power mosfet or the power IC with a new one. One of these will be responsible for the fault and you could finally resolve the issue through these steps, hopefully.

  4. Sir, I have made this circuit and connected to TNY268 based smps( output voltage=35 volt ). But I could not adjust the output voltage by varying 22k pot. In my circuit, I have connected Ra=1 ohms but I could not get 0.7 volt across base-emitter of BC547. Please help.

    • Arindam, try adjusting the 4k7 and check the response.

      remove the BC547 and now check the voltage across Ra… confirm at what load the 0.7V is achieved across Ra…once this is confirmed you can reconnect the BC547 connections with Ra and check the response again by applying the same load….

Leave a Comment