I am trying to make a buck converter using a microcontroller to reduce the production cost of my device. The working principle of a buck converter is simple. The duty cycle needs to be changed based on the input and expected output.

To keep the topic simple, let's consider that my input is 10 volts, and my expected output is 5 volts I need to keep the duty cycle 50%. The switching frequency is 320 kHz. All books I have studied explain buck converters up to this, but all buck converter ICs have a feedback pin. I assume its function is adjusting the duty cycle to hold constant voltage when the load current increases (or something else I don't know.)

Can anyone explain to me how the feedback system works?

  • 1
    \$\begingroup\$ Given how cheap buck converter (and even controller) chips are, and the degree to which they out-perform cost-sensitive microcontrollers, I suggest you do a very careful design tradeoff study. You need to prove to yourself that you can get the performance you need without driving the cost of the microcontroller up by more than the cost of a buck converter chip. To take a single feature as a not-random example, your loop bandwidth is going to be way slower unless your "processor" is an FPGA with an expensive high-speed ADC attached. \$\endgroup\$
    – TimWescott
    Dec 17, 2022 at 20:24
  • 1
    \$\begingroup\$ I'm not sure which manufacturer(s) of microcontrollers you are considering, but Texas Instruments has DigitalPower software development kit (SDK) for C2000™ MCUs which information about implementing software controlled buck regulators. Design guides, reference designs and software libraries are available. E.g. Design guide — TIDM-DC-DC-BUCK. \$\endgroup\$ Dec 18, 2022 at 13:26

3 Answers 3


The feedback pin of any voltage regulator, whether linear or switching, is how you set its output voltage. The architecture of your average adjustable-voltage switching converter uses feedback to sense if the output voltage is too low (in which case it increases the duty cycle) or too high (in which case it decreases it).

Typically, it will look something like this internally:


simulate this circuit – Schematic created using CircuitLab

The error amplifier (EA) is something with a high input impedance on its inverting node and a fixed gain. It sets the target output voltage for the entire converter; in this case, the converter would attempt to keep the feedback pin at 0.8 V. Exactly what voltage is used as the reference varies between controllers; I've seen everything from 0.6 V to 2.5 V.

The idea is that you divide down your desired output voltage with a voltage divider, such that when the output is the voltage you want, the feedback pin will be at its reference voltage. For instance, using a 1:10 divider in this case would give you an 8 V output (as 8 V * 1/10 is 0.8 V).

Most controllers will have a little more going on with their feedback circuit as well. Many, for instance, have an extra pin like this:


simulate this circuit

The COMP pin (also called Vc, or ITH) is used to compensate the feedback network so that it can respond at the right speed--too fast, and it will oscillate instead of outputting a stable voltage, too slow and it will take a long time to respond to load transients. Typically, a compensation network consisting of a few small capacitors and resistors is connected between COMP and FB, or sometimes from COMP to ground. Controllers without a compensation pin are typically compensated internally to be much slower than necessary, which ensures stability; most applications don't need the fastest response possible.

Yet another type of controller uses a current-feedback amplifier for its error amplifier, an architecture which I don't fully understand, personally, but which allows a single resistor to be used to set either a positive or negative output voltage. I include it here just to note that it exists; I don't understand it well enough to give any in-depth explanation.


The feedback input is compared against a (often internal) voltage reference.

Here's the appropriate portion of a converter (this one is ST L5973AD), showing the error amplifier comparing the input feedback input (FB) against an internal 1.235V reference. Typically you organise a potential divider from your output to the FB input, which divides the target voltage down to the reference voltage. If the FB pin is above the reference voltage, the PWM duty cycle decreases and the output voltage goes down; and vice versa when FB is below reference.

enter image description here
Portion of Figure 3 of ST L5973AD datasheet

This particular chip has a synchronisation pin, not relevant to your question.


To keep the topic simple, let's consider that my input is 10 volts, and my expected output is 5 volts. So I need to keep the duty cycle 50%.

Yes, this works provided you implement what is known as a synchronous buck regulator (the most efficient but, it requires two MOSFETs in a push-pull configuration). Across a wide variety of loads you can almost run without any feedback and get pretty good regulation on the output by altering the duty cycle to accommodate changes in input voltage.

This is often called feed-forward.

However, if you are planning on using a single MOSFET and diode, you cannot regulate the output voltage in light load scenarios because the buck regulator will drop from CCM (continuous conduction mode) into discontinuous conduction mode (DCM).

In DCM, feed-forward doesn't work.

So, under these circumstances you need a feedback mechanism so that the duty cycle is altered to ensure the output remains within regulation.

Going back to the synchronous buck regulator, they will also use a feedback pin to make minor changes to the duty cycle to get a tighter output regulation. So, although a synchronous buck regulator does a pretty good job (using feed-forward), it does an improved job using both feed-forward and feed-back.

I assume its function is adjusting the duty cycle to hold constant voltage when the load current increases (or something else I don't know).



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.