I got myself a Peltier element and want to use it for an IOT project.

What is the best way to use the Peltier in order to power an Arduino or something similar every few minutes? (For my project it would be enough if I could charge a supercap and just power an ESP8266 board every 30 minutes.) Is a joule thief and a super capacitor the best solution or should I use something better?

P.S.: A small step up module would, at least in my opinion, be a waste of energy and won't be that useful. Or am I wrong?

  • \$\begingroup\$ A Joule thief is a sort of under handed step up converter. It boosts a low voltage to a higher voltage for a short "blink." \$\endgroup\$
    – JRE
    Oct 1, 2020 at 14:28
  • \$\begingroup\$ What kind of voltage and current are you getting out of your Peltier? \$\endgroup\$
    – Dave Tweed
    Oct 1, 2020 at 14:33
  • \$\begingroup\$ Since I broke the fuses in my multimeter I can only tell you the voltage: around 0.3V \$\endgroup\$ Oct 1, 2020 at 14:47
  • \$\begingroup\$ May I suggest that you watch this EEVBlog video about harvesting energy for a watch (which consumes a lot less power than an ESP8266): youtube.com/watch?v=y4OeOQtiW0w TLDR: Yes, energy harvesting using a Peltier element is possible, however it is just not very practical. Batteries or solar cells are relatively cheap and proven technology: we already know these can do the job. Personally I would not waste my time on energy harvesting unless there is a very specific reason and only for ultra low power applications (an ESP8266 is not low power). \$\endgroup\$ Oct 1, 2020 at 14:50
  • \$\begingroup\$ the esp shouldn't run 30 minutes, it should be powered every 30 minutes for just a few seconds (e.g. connect to wifi and send some sensor values via mail...) \$\endgroup\$ Oct 1, 2020 at 14:52

2 Answers 2


The question behind your question is "can a TEC collect enough energy in half an hour to power an ESP8266 for a few seconds?"

Before you do anything else, you need to get straight in your head just what it is you are working with. In one of your comments, you mention "0.4 volts" and call it a "small amount of energy." This says that you don't understand energy.

Voltage is not energy. Voltage is one of three elements that make up electrical energy.

To calculate energy, you need three things:

  1. Voltage (V)
  2. Current (I)
  3. Time (t)
  • Power is the product of voltage and current (\$P=VI\$.)
  • Energy is the product of voltage, current, and time (\$E=VIt\$.)

Where V is in volts, I is in amperes and t is in seconds.

You have some amount of power that your TEC can deliver. You have some amount of power that your ESP8266 needs to run. You have half an hour to collect energy, and your ESP8266 needs to run for several seconds (call it 5 to have a number.)

You need to find out several things:

  1. The output voltage of your TEC (\$V_{TEC}\$)
  2. The output current of your TEC (\$I_{TEC}\$)
  3. The input voltage of your ESP8266 (\$V_{ESP}\$)
  4. The current consumed by the ESP8266 (\$I_{ESP}\$)

We already have time:

  1. Collection time = 60 seconds * 30 minutes = 1800 seconds = \$t_{TEC}\$
  2. Run time = 5 seconds = \$t_{ESP}\$

The energy collected is \$E_{TEC} = V_{TEC}I_{TEC}t_{TEC}\$.

The energy consumed by the ESP8266 is \$E_{ESP} = V_{ESP}I_{ESP}t_{ESP}\$.

You do your measurements, then do the math.

  1. If \$E_{TEC} >> E_{ESP}\$ you're good. Your TEC collects enough energy in half an hour to run your ESP8266, and you shouldn't have to worry about losses in conversion.
  2. If \$E_{TEC} > E_{ESP}\$ then things are close, and you'll have to worry about being really efficient in conversion to get maximum use of the collected energy.
  3. If \$E_{TEC} = E_{ESP}\$ or \$E_{TEC} < E_{ESP}\$ then you can't get enough energy out of the TEC in half an hour to run you ESP8266.

In cases 2. and 3. you might be able to extend the collection period to get enough energy together. Say, from half an hour to an hour.

Whatever else you do, you need to get (measure or estimate) the power (\$ P_{TEC} = V_{TEC}I_{TEC}\$) your TEC can deliver, and the power your ESP8266 will consume (\$ P_{ESP} = V_{ESP}I_{ESP}\$.) From there you get the energy. Your TEC may have a rated power output in watts. That's already the product of voltage and current.

Once you get approximate numbers for \$E_{TEC}\$ and \$E_{ESP}\$ you can begin thinking about how to power the ESP8266 from the TEC.

Depending on how much excess energy your TEC collects, you may use a regular boost converter or one of the crazy efficient energy collection ICs that are available (which are "just" really efficient boost converters that operate on low voltage.)

A Joule thief is a DIY implementation of a low voltage input boost converter.

One example of a commercial low voltage boost converter is the AD3106. It operates from a low voltage input and provides a regulated 3.3V which you can use to charge a battery. There are other ICs available, such as ones that include MPPT and battery charging circuits.

What solution you take depends on how much energy your TEC can deliver and how much work you want to put into developing your solution.

  • \$\begingroup\$ thank you for this answer, but I am kind of missunderstood. What would be the best way to implement my idea of powering the ESP with a peltier/small solar cell. What are the components I will need? My first idea was to use the peltier/solar panel to charge a supercapacitor/battery. Once it reaches a certain voltage, a unknown IC will turn on a small boost converter to connect the capacitor to the ESP and power it for a few seconds. After that time the unknow IC will "shut down" the boost converter and repeats this process all the time. So what can I use for the "unknow IC" part? \$\endgroup\$ Oct 1, 2020 at 17:43
  • 3
    \$\begingroup\$ I didn't misunderstand. I just went into some detail about the things you need to consider before you get to the point of choosing hardware. The simplest way is to charge a super capacitor or small battery using the AD3106 or similar. Your ESP then relies on the charger to deliver it enough energy every half an hour and wakes up on a timer. Alternatively, you use a low power comparator to detect battery voltage and wake the ESP8266 when the battery voltage is high enough. \$\endgroup\$
    – JRE
    Oct 1, 2020 at 17:57
  • \$\begingroup\$ Don't I need a higher voltage that the comparator can compare to the voltage of the supercapacitor? That would mean that I will have to use a boost converter to have a this higher voltage level \$\endgroup\$ Oct 2, 2020 at 16:34

This may be useful: Thermoelectric Power Generation: Peltier Element versus Thermoelectric Generator. It tests a typical cheap TEC and a typical TEG for power generation as a function of temperature:

Fig. 8

From there data, you can look up the open circuit voltage and total power supplied for a typical TEC. For example, at 40C delta-T, you would get about 250mW and about 1.5V open circuit voltage.

Assuming you can get about that temperature difference, you could actually use a few TECs in series to generate a higher voltage to charge a capacitor and run your device, or use a step up converter to generate your supply voltage from a single unit (of sufficient size and delta-T).


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.