Author Options:

Connecting Peltier module using an Arduino Answered

Hi Guys,

I am a beginner to Arduino and I started building the circuit to control a Peltier using an Arduino following below article. I connected the circuit following the instructions and installed the phone App as well. but the circuit is not working.


Then I tried connecting the Peltier to Arduino using a simple circuit and a code.

int p=12;
void setup() { pinMode(p,OUTPUT); }

void loop() { digitalWrite(p,HIGH); }

In the circuit, I connected the positive (red wire) end of the Peltier to D12 of Nano Arduino board and the negative end( black wire) to the negative end of the 6V battery. Then I powered the Arduino board by connecting Vin(Arduino) and battery(+) using a jumper wire. The GND pin of the Arduino was connected to the battery(-) using a jumper wire.

But still, the circuit is not working. Is it because of the lack of current provided by the Arduino to Peltier? Is there a way to make a circuit with Arduino and Peltier? If I connect the Peltier through a Motor driver does this work? If so please guide me on how to connect the motor driver to my circuit to make the circuit working.

This is really an important project for me and due to lack of my knowledge in this domain, I'm struggling to figure out a way of making the circuit even after doing a lot of reading. If someone could support me, it would be a great help for me.


Jack A Lopez

11 days ago

Yeah. I think it is the fact that the Arduino's GPIO (general purpose input output) pin cannot provide enough current to the Peltier. I do not recall the exact numbers, but the Peltier probably wants something on the order of 10 A (amperes) of current, while the GPIO pin's upper limit for current is likely less than 100 mA = 0.1 A.

So a driver circuit, of some kind, is necessary.

A motor driver would probably work, provided it can handle the amount of current your Peltier module wants. By the way, you should try to discover how much current that is exactly... or even approximately. I mean get out your ammeter (or multimeter configured to measure current) and measure how much current the Peltier is using, in some simple circumstance, like just the Peltier module, in series with its power supply, and also in series with the ammeter.

Another reason why a motor driver might be a good match, is because it might be the case you want to drive current through the Peltier in both directions, or at least have the freedom to do that.

The usual trick for doing that is a circuit called a H-bridge,

which is really just a description of the shape (topology) of the circuit. It kind of looks like a capital letter "H", because it has switch elements (usually transistors) at four corners, and the load goes in the middle.

Also note the phrases "motor driver" and "H-bridge" are not contradictory. It is just that "motor driver" is general, and "H-bridge" is more specific.

Also note the H-bridge is not the only way to provide reversible current to a load. It is just a way to do it that is convenient for automated things.

As a counter example, the current to the motor of a cordless drill can be reversed, but this is done by way of a big mechanical switch, and it is the responsibility of the user to throw that direction reversing switch.

By the way, if it just so happens your design does not need to change the direction of the current, i.e. the Peltier module is used only for heating, or only for cooling, then you could get away with a much more simple circuit, with just a single MOSFET transistor, instead of 4 of them as found in the H-bridge circuit.

Also I should mention, a place where you can run into trouble with MOSFETs is if you have to turn them on and off very quickly, like for example if you are just naively trying to turn the MOSFET on and off in a PWM (pulse width modulation) fashion, and frequency of that signal is very fast, e.g. measured in KHz (kilohertz), or thousands of times per second.

You know, if the dynamics of whatever you're trying to heat or cool (i.e. the amount of time it takes that thing to absorb or release a significant quantity of heat) are much slower than that, then there is no need for these super-fast drive signals. Just a few 10s of hertz, or even tenths of hertz (i.e. periods several seconds long) would suffice.

In fact if you can go really slow, like if it is several minutes between turn-on, or turn-off, events, then why not just use a mechanical relay for on-off control? And also use a relay to switch the direction of the current, if that is necessary. Certainly relays are slow, and emit audible noise when they switch. However, the main advantage of relays is they are cheap. Even relays that can handle big currents, like 10s of amperes, are typically inexpensive.