We’ve been tuned into coin cell designs lately given the coin cell challenge, so we were interested in [CNLohr]’s latest video about pushing the ESP8266 into the lowest-possible battery drain with coin cells. The result is a series of hacks, based on a reverse-engineered library and depends on a modified router, but that gets the power consumption down by more than a factor of ten!
Although the ESP8266 has a deep sleep mode that draws only 20 microamps or so, that isn’t as rosy as it seems. If you could go to sleep for a while, wake up for just a moment, send your data, and then go back to sleep, that might be one thing. But when you use conventional techniques, the device wakes up and has to do about ten seconds of work (at high power) to connect to a nearby access point. Then it can do what you want and go back to sleep. That ten-second hit is a killer on small batteries.
Since that’s all you can do with the standard libraries, the next step was to find [pvvx] who has reverse engineered a great deal of the libraries and provides a library with no WiFi capability. That’s a two-edged sword. The pro is you get a 30 ms startup from a deep sleep. The downside is — well — you don’t have WiFi.
Because that’s not a great thing if you need the network, [pvvx] also has a minimal version of the SDK that can wake up and do a transaction in about 100 milliseconds. What’s more is, the power drain isn’t 100% for that entire 100 ms. The library uses a different TCP/IP stack (lwip) to make this possible.
This in turn requires a special bit of firmware on the wireless router since there isn’t enough time to do the entire WiFi transaction. Luckily, a router with OpenWRT is very easy to hack to work as required. [CNLohr] sends the data from the router to a Google form. Unusual but effective.
[CNLohr] is no stranger to the pages of Hackaday and he has done a good bit with the ESP8266 among other things. We liked his USB hack, for example. He also added wired ethernet to the ubiquitous device.