I am a beginner to Arduino programming and started working on my first Arduino project recently to power a Peltier cooling pad. Below is the code I used and 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.

The Peltier is not working and it would be a great help if someone can help me to understand what I did wrong.

int p=12;

void setup() {

void loop() {
  • Note that you set pin 12 to HIGH, but you never change it (is that intentionally?) .. In this case you could have set it high in setup and remove the delay (meaning the loop will stay empty). Commented Oct 7, 2019 at 13:40
  • 1
    Arduino cannot provide the amount of current that Peltier needs to heat up. Arduino cannot power devices it can only steer something that powers them. Try checking out a relay shield or read about MOSFET. Commented Oct 7, 2019 at 13:46
  • Hi Michel and Flip, Thank you very much for the responses. I am a beginner to electronics and Arduino and your support is highly appreciated. I found below example online, which is powering a Peltier using an Arduino and wanted to build a simple circuit with the same principle using Nano Arduino board. If I connect a resistor to the circuit will it function?
    – Indee
    Commented Oct 7, 2019 at 14:03
  • instructables.com/id/How-to-Set-Up-a-Peltier-Module
    – Indee
    Commented Oct 7, 2019 at 14:07
  • Find a different tutorial, cause that one is terrible. I you read the comments for that tutorial, you see that they point to the same problem Michel and Filip told about.
    – Gerben
    Commented Oct 7, 2019 at 15:48

1 Answer 1


I prepared a little circuit that should help you safely connect the Peltier module to Arduino. It uses a single n-channel MOSFET and 1K resistor.

I couldn't find any Peltier in Tinkercad so instead I used a simple light bulb. (In previous version of this answer I used a DC motor, but it was not a good replacement for Peltier module)

When Arduino Pin12 is HIGH light is bright (high current flows through it just like it should through the Peltier) when Pin12 is LOW light bulb goes dark (no current is flowing)


  • One note to other readers: Don't wire a motor that way. It will fry the transistor. If you're going to power a motor you need a flyback diode to protect the transistor from back EMF from the motor's inductive coils.
    – Duncan C
    Commented Oct 9, 2019 at 0:49
  • Hi Filip, Thank you very much for guiding me and the circuit diagram is very helpful. I will make the circuit and will check the functionality. Really appreciate your help. :)
    – Indee
    Commented Oct 9, 2019 at 1:23
  • Hi Duncan, Thank you very much for guiding me. Regarding your last comment on ' motor', does that apply to Peltier circuit as well as I am planning on making the circuit following the diagram proposed by Filip. Well noted your suggestion to use a motor drive to make a circuit to get both heating and cooling effect from Peltier. I will try working on that circuit after finalizing the circuit with MOSFET( proposed by Filip).
    – Indee
    Commented Oct 9, 2019 at 1:23
  • @DuncanC I changed DC motor to a light bulb. No extra circuitry is required for light bulb and Peltier module. Commented Oct 9, 2019 at 10:46
  • Filip, good idea. Indee, A Peltier junction and a light bulb are both simple resistive loads, and don't require flyback diodes. That's only needed for inductive loads like motors and relay coils.
    – Duncan C
    Commented Oct 9, 2019 at 13:05

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.