I'm trying to design an appliance that efficiently regulates power to some Peltier elements.

The manufacturer states that optimally, you should drive these with regulated voltage and not PWM. They have a non-linear cooling coefficient depending on dt and current supply, so I would like to program that logic in a microcontroller (Arduino) and make a variable power supply essentially (0-7V., 40W max, 4W common)

However, most prebuilt power supply units seem to only have a potentiometer to dial in output voltage. My question thus is, how can I control the output of such a power supply with a microcontroller? I guess I could hack that with a digitally controlled resistor. It seems backwards, though.

Perhaps I'm missing something here, to me it seems like a common problem but I'm a programmer by trade and don't really have much electronics experience.

Ideally I wouldn't design the entire power supply from scratch and just buy something that exists, although I can see how the problem could be solved by PWM + MOSFET + filter. That would basically be a buck converter driven from the Arduino, I guess.

  • 2
    \$\begingroup\$ Typically you would sum a voltage from a DAC through a resistor to the feedback node of the controller. You can see the idea here: microchip.com/forums/m688260.aspx \$\endgroup\$
    – John D
    Mar 22, 2021 at 1:29
  • \$\begingroup\$ Peltier's aren't terrible if you're playing to their strengths -- it's just that it's easy to think they're better than they are. Yes if you need spot cooling for something small; pretty much no otherwise. \$\endgroup\$
    – TimWescott
    Mar 22, 2021 at 2:15
  • \$\begingroup\$ Maybe something like this: hackaday.com/2017/03/07/… Then it becomes a programming problem \$\endgroup\$
    – Kartman
    Mar 22, 2021 at 2:36
  • \$\begingroup\$ What kind of power are we talking about? \$\endgroup\$ Mar 22, 2021 at 6:31
  • \$\begingroup\$ You need to ask a specific answerable question. \$\endgroup\$
    – Andy aka
    Mar 22, 2021 at 9:30

2 Answers 2


Usually Peltier are driven in current but whatever your manufacturer says…

Unless you are using some kind of digital regulator, the standard is to trick its control loop influencing the feedback voltage. Good luck if the FB node is not available externally.

In 99.9% of the regulators the voltage on the FB pin is compared with some constant value and the loop is governed to make them equal. So, usually, you put some divider on the output and put the result into FB. Keep in mind that the FB pin has an internal impedance (it's in the datasheet, often they only give the leakage current).

So you could add some current to make it sense more voltage than it's there: the loop will pull the output down. If instead you sink some current it will see less than the threshold requires and the output will go up.

There are dedicated ICs for that (Linear has one "power margining DAC", calibrated in mA) but actually the trick work with most voltage output DAC and some current output DAC too. It's only a little more difficult to compute and often some experimentation is needed to find the right value for the summing resistor.

  • \$\begingroup\$ "Usually Peltier are driven in current" +1 and I'd also add, the best way is a PWM controlled by PID with a temperature sensor as the source. \$\endgroup\$
    – Damien
    Mar 22, 2021 at 9:33
  • 1
    \$\begingroup\$ Interesting ideas, I'll look at that. @Damien I did try a PID controller but as mentioned it works against the nonlinearity of the Peltier element. Or maybe I am misunderstanding. \$\endgroup\$
    – Shaggi
    Mar 22, 2021 at 23:59
  • \$\begingroup\$ @Shaggi if your goal is to regulate a temperature, that is the best way to do it. Although PID might seem dompting at first, it takes some time to find the proper adjustments. If you just want to regulate power, simpler ways are possible. \$\endgroup\$
    – Damien
    Mar 23, 2021 at 3:25

try to use the analog output or the Arduino as the VREF for the power supply. Here is an example --> https://www.ti.com/lit/an/slva216/slva216.pdf


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.