I use an ESP8266-12-E microcontroller as basis for an outdoor sensor measuring and sending temperature over wifi to a server. I soldered a DS18B20 temperature sensor (+resistor) onto the chip. The power is provided by 2AA 1.5V batteries (=3V). When outside temperature is above -4°C/25°F, everything works fine. However, when temperature drops below, the ESP8266 doesn't wake up from deep sleep anymore. The ESP is supposed to work with 3.3V.

My first idea why this fails at low temperatures is that the batteries (alkaline) won't work at those temperature. So I replaced them with Lithium batteries. However, that won't work either.

Now I think the problem is that -although using Lithium batteries- low temperatures causes the batteries to not supply enough voltage for the microcontroller. Do you think there could be another reason (like faulty soldering points) why that won't work?

  • \$\begingroup\$ try to isolate only the batteries (or to heat them slightly, or to supply the circuit by cable) and see if something changes \$\endgroup\$ – frarugi87 Jan 21 '16 at 20:29
  • \$\begingroup\$ Have you tried providing an external 3.3V supply to the circuit and taking the temperature below -4C? \$\endgroup\$ – user1582568 Jan 21 '16 at 20:29
  • \$\begingroup\$ Haven't tried that yet. If stackoverflow would agree that the cold produces undervoltage, I'd go for 3 AA batteries with an additional voltage regulator to 3.3V... If soldering points may be a possible reason, I'd resolder first. \$\endgroup\$ – user236012 Jan 21 '16 at 20:35
  • \$\begingroup\$ I think that there are a lot of possibilities, it would be best to do a simple quick test as suggested by myself or @frarugi87 rather than spend a lot of time fixing a problem that may not exist. I don't think it would be soldered joints (unless you have a cracked joint and it just happens to contract enough to disconnect at -4C), but could be micro, oscillator or other stuff. Do you have an environmental chamber (or freezer) that you can easily do low temperature tests in? \$\endgroup\$ – user1582568 Jan 21 '16 at 20:46
  • \$\begingroup\$ Easy way to run this experiment is a cheap styrofoam cooler and some dry ice \$\endgroup\$ – crasic Jan 21 '16 at 21:41

The first thing to check is whether the micro and any other electronic parts are actually rated for less the 0°C operation. Cheap variants can be only good over the 0-70 °C range, for example. Most parts are available in a wider temperature range, but these are usually selected from the main batch and cost more. Another way to look at it is that you can buy the rejects that only work over 0-70 °C for less. Unless you specified a wider temperature range, or the part always comes that way, it's quite possible that it's only rated down to 0°C.

If you know the circuit is supposed to work at your temperature, then the battery voltage dropping is a real possibility. The batteries are powered by chemical reactions, which usually slow down with colder temperature. The open circuit voltage can go down, the internal resistance up, and the capacity can be degraded.

The main point here is that checking the datasheets should be the first thing to do, other than of course you should have checked them as part of the design and adjusted the design accordingly.

If the problem is the batteries, then first get the right batteries. Instead of running the circuit directly from the batteries, you can use a switching power supply to tolerate a larger battery voltage range, and thereby use your batteries more effectively and get more usable energy from them. The easiest would be a buck converter, so put more cells in series to get more total energy. For example, four cells in series would allow them to be used until really dead before a buck converter can't make 3.3 V anymore.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.