A Deep Dive Into Low Power WiFi Microcontrollers

The Internet of Things is eating everything alive, and the world wants to know: how do you make a small, battery-powered, WiFi-enabled microcontroller device? This is a surprisingly difficult problem. WiFi is not optimized for low-power operations. It’s power-hungry, and there’s a lot of overhead. That said, there are microcontrollers out there with WiFi capability, but how do they hold up to running off of a battery for days, or weeks? That’s what [TvE] is exploring in a fantastic multi-part series of posts delving into low-power WiFi microcontrollers.

The idea for these experiments is set up in the first post in the series. Basically, the goal is to measure how long the ESP8266 and ESP32 will run on a battery, using various sleep modes. Both the ESP8266 and ESP32 have deep-sleep modes, a ‘sleep’ mode where the state is preserved, a ‘CPU only’ mode that turns the RF off, and various measures for sending and receiving a packet.

The takeaway from these experiments is that a battery-powered ESP8266 can’t be used for more than a week without a seriously beefy battery or a solar panel. Run times are much longer with an open network as compared to a secured network, and that security eats up a ton of power: connecting to a secure network every now and again means your ESP might only run for a day, instead of a week.

There is another option, though: the ESP32. While the ’32 is vastly more powerful and more capable than the ESP8266, it also has a few improved features that help with power consumption. Importantly, there’s a bug in the ESP8266 where it drops into modem sleep instead of light sleep about half the time. This error was fixed in the ESP32, but all that power does come at a cost. On the whole, if you’re concerned about security, the ESP32 is slightly better, simply because it does the ‘security’ part of connecting to a WiFi network faster. This is really a remarkable amount of testing that’s gone into this write-up, so if you’re developing something battery-powered with any ESP, it’s well worth the read.

Weather Station Is A Tutorial in Low Power Design

Building your own weather station is a fun project in itself, but building it to be self-sufficient and off-grid adds another set of challenges to the mix. You’ll need a battery and a solar panel to power the station, which means adding at least a regulator and charge controller to your build. If the panel and battery are small, you’ll also need to make some power-saving tweaks to the code as well. (Google Translate from Italian) The tricks that [Danilo Larizza] uses in his build are useful for more than just weather stations though, they’ll be perfect for anyone trying to optimize their off-grid projects for battery and solar panel size.

When it comes to power conservation, the low-hanging fruit is plucked first. [Danilo] set the measurement intervals to as long as possible and put the microcontroller (a NodeMCU) to sleep in between. Removing the power from the sensors when the microcontroller was asleep was another easy step, but the device was still crashing overnight. Then he turned to a hardware solution and added a more efficient battery charger to the setup, which saved even more power. This is all the more impressive because the station communicates via WiFi which is notoriously difficult to run in low-power applications.

Besides the low power optimizations, the weather station itself is interesting for its relative simplicity. It could be built with things most of us have knocking around. Best of all, [Danilo] published the source code on his site, so most of the hard work has been done already. If you’re thinking he seems a little familiar, it’s because we’ve featured some of his projects before, like his cheap WiFi extender antenna and his homemade hybrid tube amplifier.

ARM-Based NAS Is A Low Cost, Low Power Beauty

A NAS is always a handy addition to a home network, but they can be a little pricey. [Blake Burkhart] decided to create his own, prioritising budget and low power considerations, with a secondary objective to produce some router and IoT functionality on the side.

A Banana Pi R2 was a good choice to meet these requirements, being a router-based development board that also sports dual SATA connectors and gigabit Ethernet. [Blake] had some retrospective regrets about the performance of this particular SBC, but it does just fine when functioning purely as a NAS.

The enclosure for the device is a three bay hot-swap HDD module, with one of the bays gutted and used for the Banana Pi. It’s a simple idea, elegantly executed, which looks great. To access the ports of the Banana Pi, a custom acrylic side panel was laser cut, which also allowed LEDs to shine through – obligatory for any DIY server/computer build. When mounting this panel to the existing enclosure, [Blake] was reluctant to take his chances tapping the brittle acrylic, instead opting to melt the threads into the plastic with a pre-torched screw. We find that tapping acrylic is usually okay if you take it slow, but heat-tapping does sound fun.

The 12 V fan that came built into the hot-swap enclosure was too loud and awkwardly came in a non-standard size with a non-standard connector. What’s more, a buzzer alarm was triggered any time the fan was disconnected and 0 RPM was detected. [Blake]’s solution was to rewire the power pin of the connector to a 5 V rail; he found that running the fan at 5 V led to much quieter performance whilst keeping the HDDs sufficiently cool.

We find that when it comes to DIY network gear and routers, there are two approaches. Either create your own bespoke solution that perfectly fits your needs, like this perfect home router, or work around your current gear and build some tech to automatically reboot it for you.


Ultra-Low Power, Energy Harvesting Battery Charger

This half-inch square ultra-low power energy harvesting LiPo cell charger by [Kris Winer] uses a low voltage solar panel to top up a small lithium-polymer cell, which together can be used as the sole power source for projects. It’s handy enough that [Kris] uses them for his own projects and offers them for sale to fellow hackers. It’s also his entry into the Power Harvesting Challenge of the Hackaday Prize.

The board is essentially a breakout board for the Texas Instrument BQ25504, configured to charge and maintain a single lithium-polymer cell. The BQ25504 is an integrated part that takes care of most of the heavy lifting and has nifty features like battery health monitoring and undervoltage protection. [Kris] has been using the board along with a small 2.2 Volt solar panel and a 150 mAh LiPo cell to power another project of his: the SensorTile environmental data logger.

It’s a practical and useful way to test things; he says that an average of 6 hours of direct sunlight daily is just enough to keep the 1.8 mA SensorTile running indefinitely. These are small amounts of power, to be sure, but it’s free and self-sustaining which is just what a remote sensing unit needs.

Shmoocon: Advanced Low Power Techniques And A Watch

Real quick question: how do you increase productivity at work? The greatest (highest paid) minds would just say: do agile or scrum or something. What’s scrum? That’s where you gather ’round every morning for a waste of time meeting that kills your every desire to be productive. A while back, [Travis Goodspeed] was stuck in some lesser circle of hell like this and in an effort to be polite by not looking at his phone too much, looked at his watch too much. This led to the creation of the Goodwatch, a new bit of hardware that replaces the guts of a Casio calculator watch with a hex editor, ISM-band radio, MSP430 disassembler, and of course an RPN calculator.

[Travis] has already introduced the GoodWatch to the world. We took a look back in December but haven’t heard anything since. His talk at Shmoocon 2018 put a little more light on how this project came to be.

Continue reading “Shmoocon: Advanced Low Power Techniques And A Watch”

Datalogger uses ESP32 and ESP8266 Low Power Modes

[G6EJD] wanted to design a low power datalogger and decided to look at the power consumption of an ESP32 versus an ESP8266. You can see the video results below.

Of course, anytime someone does a power test, you have to wonder if there were any tricks or changes that would have made a big difference. However, the relative data is interesting (even though you could posit situations where even those results would be misleading). You should watch the videos, but the bottom line was a 3000 mAh battery provided 315 days of run time for the ESP8266 and 213 days with the ESP32.

Continue reading “Datalogger uses ESP32 and ESP8266 Low Power Modes”

Hackaday Prize Entry: Self Sustained Low Power Nodes

Consider for a second the Internet of Things. A vast network of connected devices, programmable matter, and wearable electronics can only mean one thing: there’s going to be a ton of batteries. While changing the battery in a smoke detector may seem tolerable, changing the batteries in a thousand sensor nodes is untenable. The solution to this problem is self-contained sensor nodes, and right now the best power source for mobile devices is probably solar.

For his Hackaday Prize entry, [Shantam Raj] is building a self-contained sensor node. It’s a Bluetooth device for the Internet side of this Thing, but the real trick to this device is solar energy harvesting and low power capabilities through optimized firmware.

Basically, this system is a low-power SoC with Bluetooth. The power from this device comes from a small solar cell coupled with a very efficient power supply and some new, interesting supercapacitors from Murata. These supercaps are extremely small, have high storage capacity, low ESR, and fast charging and discharging. The test board (seen in the video below) provides a proof of concept, but this device has a problem: there’s a single ‘sanity check’/power LED on the board that consumes 4 mA. The microcontroller, when running the optimized firmware, only consumes 1 mA. Yes, the LED thrown into the prototype that only serves as an indication the device is on is the biggest power sink in the entire system.

This project is great, and it’s exactly what we’re looking for in The Hackaday Prize. If the Internet of Things ever happens as it was envisioned, we’re going to be buried under a mountain of coin cell lithium batteries. Some sort of energy harvesting scheme is the only way around this, and we’re happy to see someone is working on the problem.

Continue reading “Hackaday Prize Entry: Self Sustained Low Power Nodes”