I want to find a way to control a power device from a microcontroller. I must control a power device from the microcontroller, making the voltage to vary betwen 0 and 28 VDC, knowing that the power device could need up to 10A.

So the "module" should have the following specifications :

  • Vout : from 0 to 28 VDC (adjustable)
  • Iout : 10A max
  • I2C Digital interface to set Vout. Could also be just PWM input but i2c preferred
  • Vin : from 28 to 36 VDC (open to other specs for Vin, not the most important)

So I was looking to a digital programmable buck, flyback converter or programmable switching regulator fitting the exposed needs.

The main contrainst is that the module should ideally be COTS as I do not have access to full PCB design. (Yes, that is awful)

After having dissected a lot of electronics components constructors, as Ti, Analog Device, MaximIntegrated, MPS, and others electronics components suppliers, I am not finding the ideal component/COTS... That's should be so straight-forward in my opinion ! Since it's just a flycback/buck converter with I2C PWM controller above ! I was suprised to not find quickly a module fitting the need.

Some power management modules exist, but the output voltage is set with analogic potentiometer (soldered in the board) or with a jumper to select Vout among others choices...

Any ideas ? Power electronics is not my main field so maybe I am not searching in a appropriate way.

Please let me know if the question looks unclear.

  • \$\begingroup\$ Welcome to EE SE! How much is your budget? \$\endgroup\$
    – Unknown123
    Apr 5, 2019 at 9:22
  • \$\begingroup\$ Good question. I could afford up to 100-120$ for this device \$\endgroup\$
    – athena
    Apr 5, 2019 at 9:29
  • 3
    \$\begingroup\$ The reason you're struggling is that this device is a very high power device which you are wanting to be adjustable. Do you need to be so adjustable? If you need a 0-28V adjustable supply, at 10A, I imagine you'll have to design it yourself. \$\endgroup\$
    – Puffafish
    Apr 5, 2019 at 9:31
  • 1
    \$\begingroup\$ Something like this?. Its programmable by an 1 to 5V analog voltage, but only over the range 20% to 110% of 24V. \$\endgroup\$
    – Steve G
    Apr 5, 2019 at 9:38
  • \$\begingroup\$ @Puffafish Yes, I need it to be so adjustable... \$\endgroup\$
    – athena
    Apr 5, 2019 at 12:20

1 Answer 1


Building your own will be the most robust way to do it, but it is not easy. I can point you in the direction of good places to start if you're interested. Will require a good understanding of magnetics, but it is not too hard (as long as you don't care about EMI or PF).

In any SMPS you will have some sort of voltage feedback. This is where that potentiometer comes into play, it varies the resistive divider used for the feedback. This signal is compared against a set voltage reference, usually a LM431 or something similar.

If you find a COTS power supply at 28V@10A you can then remove this voltage reference and instead wire up a I2C DAC, or an I2C digital resistor in place of the pot. You will need a very low drift IC for either of those.

It sounds easy, but there is no guarantee it will work. Consider the SMPS you buy is a buck converter. If you lower the voltage too much, the duty cycle needed to create that voltage will become very low and regulation will suffer. Same goes for too high of a voltage/duty cycle. This is mainly a concern for cheap supplies where the devices are designed for a very specific operating point and will fall apart outside of that. If you find a supply that works well at your range by adjusting the pot then it should be fine when controlled digitally.

The error amp, which is the "filtering" for the voltage feedback signal will be connected to the pot and its other pin connected to the reference. Should be fairly easy to find.


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.