A yellow computer with a black keyboard and a small monochrome LCD screen

Low Power Challenge: The PotatoP Runs Lisp For Months Without Recharging

A common complaint among laptop users is that while battery technology has vastly improved over the past decades, a simulltaneous shrink in form factors has meant that a typical laptop today doesn’t last much longer on a battery charge than one from the early 2000s. But it doesn’t have to be that way, as [Andreas Eriksen] demonstrates with his entry for the Low Power Challenge. The PotatoP is a portable computer that should be able to run for about two years on a single battery charge, and can be topped up through an integrated solar panel.

Granted, it doesn’t have the processing power of even the cheapest laptop you can buy today, but it’s perfectly fine for [Andreas]’s use case. He’s a Lisp hacker, and a Sparkfun RedBoard Artemis can run uLisp just fine on its 48 MHz Cortex-M4F processor. The operating environment is very basic though, even requiring [Andreas] to write his own text editor, called Typo, to give him editing luxuries like backspace functionality and a movable cursor.

The Artemis board is very power-efficient by itself – typical power consumption is less than 1 mA. [Andreas] added a simple monochrome black-and-white LCD screen capable of displaying 53 columns of text, plus an SD card reader for data storage, and designed a sleek 3D-printed case to hold everything together. When running a typical piece of code, the entire system uses around 2.5 mA, which translates to about 125 days of continuous run-time on the beefy 12000 mAh lithium battery. Add a bit of solar power, plus a more realistic eight-hour working day, and the two year runtime estimated by [Andreas] appears entirely reasonable.

This has to be one of the most power-efficient portables we’ve ever seen, and one running Lisp at that. Despite its age, Lisp keeps popping up in interesting custom computers like the Lisperati1000 cyberdeck and The Lisp Badge.

Continue reading “Low Power Challenge: The PotatoP Runs Lisp For Months Without Recharging”

A weather station with an E-ink display

Low Power Challenge: Weather Station Runs For Months Thanks To E-Ink Display

Having a device in your living room that shows weather information is convenient, and building one of those is a great project if you enjoy tinkering with microcontrollers and environmental sensors. It’s also a great way to learn about low-power design, as [x-labz] demonstrated with their e-ink weather station which works for no less than 60 days on a single battery charge. It has a clear display that shows the local temperature and humidity, as well as the weather forecast for the day.

The display is a 4.2″ e-paper module with a resolution of 400 x 300 pixels. It uses just 26 mW of power for a few seconds while it updates its image, and basically zero watts when showing a static picture. It’s driven by a tiny ESP32C3 processor board, which downloads the weather forecast from weatherapi.com every two hours. The indoor climate is measured by an SHT-21 temperature and humidity sensor mounted behind the display, while the outdoor data is gathered by a WiFi-connected sensor installed on [x-labz]’s balcony.

The inside of an e-ink powered weather stationThe key to achieving low power usage here is to keep the ESP32 in sleep mode as much as possible. The CPU briefly wakes up once every five minutes to read out the indoor sensor and once every fifteen minutes to gather data from outside, using the relatively power-hungry WiFi module.

To further reduce power consumption, the CPU core is driven at the lowest possible clock speed at all times: 10 MHz when reading the indoor sensor, and 80 MHz when using the WiFi connection. All of this helps ensure that just one 600 mAh lithium battery can keep everything running for those 60 days.

E-ink displays are perfect for text and simple graphics that don’t change too often, which is why they’re very popular in weather stations. With a bit of tweaking though, LCDs can also be optimized for low power.

Hackaday.io Low-Power Challenge Begins Today

How low can you go? The 2023 Hackaday.io Low-Power Challenge is about doing the most with the least juice – bang for the power-budget buck, if you get our drift. And with three $150 gift certificates from Digi-Key on the line, you’ll be able to keep your projects going forever. The Challenge runs until March 21st, but with low-power, the devil is often in the details, so get started today!

More and more projects need to run on their own power, and more often than not, that means getting by without access to a wall plug. This contest is to encourage your designs that run on solar, small batteries, and generally energy harvested from wherever you can get it. But the power generation mechanism is taking the back seat here – we want to see what you can do with a few good electrons. Surprise us with your maximum minimalism!

Continue reading “Hackaday.io Low-Power Challenge Begins Today”

LED Driver Circuit For Safety Hat Sucks Single AAA Cell Dry

[Petteri Aimonen] created an omnidirectional LED safety light to cling to his child’s winter hat in an effort to increase visibility during the dark winter months, but the design is also great example of how to use the Microchip MCP1640 — a regulated DC-DC step-up power supply that can run the LEDs off a single AAA cell. The chip also provides a few neat tricks, like single-button on/off functionality that fully disconnects the load, consuming only 1 µA in standby.

[Petteri]’s design delivers 3 mA to each of eight surface-mount LEDs (which he says is actually a bit too bright) for a total of about 20 hours from one alkaline AAA cell. The single-layer PCB is encased in a clear acrylic and polycarbonate enclosure to resist moisture. A transistor and a few passives allow a SPST switch to act as an on/off switch: a short press turns the unit on, and a long press of about a second turns it back off.

One side effect is that the “off” functionality will no longer work once the AAA cell drained too badly, but [Petteri] optimistically points out that this could be considered a feature: when the unit can no longer be turned off, it’s time to replace the battery!

The usual way to suck a battery dry is to use a Joule Thief, and while this design also lights LEDs, it offers more features and could be adapted for other uses easily. Interested? [Petteri] offers the schematic, KiCAD file for the PCB, and SVG drawing of the enclosure for download near the bottom of the project page.

Snail Mail Notifier’s Simple Power Management To Maximize Battery Life

There are no weird, specialized components nor esoteric sleep mode tricks behind the long battery life of [Zak]’s WiFi mail slot watcher. Just some sensible design and clever focus on the device’s purpose: to send an HTTP request whenever it detects that the front door’s mail slot has been opened. The HTTP request is what kicks off useful notifications, but it’s the hardware design that’s really worth a peek.

The watcher’s main components are a ESP-M2 WiFi module, a reed switch, and a single lithium cell. Here’s how it works at a high level: when the mail slot is opened (detected by the reed switch), the ESP module is powered up just long enough to connect to the local WiFi network and send a single HTTP request, after which it shuts back down. The whole process takes between four and ten seconds.

As mentioned, the power control isn’t managed by any unusual components; it comes down to a NAND gate with a single inverted input, and a MIC5504 3.3 V regulator responsible for feeding the ESP board. The logic gate controls whether the voltage regulator is enabled or disabled, and therefore whether the microcontroller receives any power at all. Most of the time the regulator is disabled, but when the reed switch triggers, its input to the NAND gate is pulled low and the regulator is turned on, booting up the ESP board.

In order to stay on, the first thing the ESP board does is use a GPIO pin to drive the inverted input of the NAND gate high in order to keep the regulator enabled, and it has a window of about half a second to do this. Once the HTTP request is sent (and the battery voltage sensed), the ESP board pulls that pin low, disabling the regulator and turning itself off until the reed switch once again begins the process.

After seven months of use, the battery has dropped from 4.2 V to 3.9 V, so there’s plenty of life left. The project’s GitHub repository has the necessary code if you’d like to apply some of its ideas to your own projects. Alternately, you may wish to consider supercapacitors and solar in lieu of batteries. Even if ultra-level power savings isn’t your bag, when WiFi and networking is involved, there are software-level opportunities to be more efficient. Even a judicious 1 ms delay can save a surprising amount of power in the right circumstances.

ESP8266 Web Server Saves 60% Power With A 1 Ms Delay

Arduino has a library for quickly and easily setting up a simple web server on an ESP8622-based board, and [Tomaž] found that power consumption on an ESP-01 can be reduced a considerable amount by simply inserting a 1 ms delay in the right place. The reason this works isn’t because of some strange bug or oddball feature — it’s really just a side effect of how the hardware operates under the hood.

[Tomaž] uses the “hello world” example from ESP8266WebServer to explain. In it, the main loop essentially consists of calling server.handleClient() forever. That process checks for incoming HTTP connections, handles them, sends responses, exits — and then does it all over again. A simple web server like this one spends most of its time waiting.

A far more efficient way to handle things would be to launch server.handleClient() only when an incoming network connection calls for it, and put the hardware to sleep whenever that is not happening. However, that level of control just isn’t possible in the context of the Arduino’s ESP8266WebServer library.

So what’s to be done? The next best thing turns out to be a simple delay(1) statement right after each server.handleClient() call in the main loop.

Why does this work? Adding delay(1) actually causes the CPU to spend the vast majority of its time in that one millisecond loop. And counting microseconds turns out to be a far less demanding task, power-wise, than checking for incoming network requests about a hundred thousand times per second. In [Tomaž]’s tests, that one millisecond delay reduced idle power consumption at 3.3 V from roughly 230 mW to around 70 mW — about 60% — while only delaying the web server’s response times by 6-8 milliseconds.

For simple web server applications, this is is for sure a good trick to keep in mind. There are also much more advanced techniques for saving power on ESP8266-based boards; from boards that barely sip a single microamp while sleeping, to coin-cell powered boards that go so far as to modify the TCP/IP stack to help squeeze every bit of power savings possible.

TickTag, a tiny GPS logger with 3d printed case, LiPo battery and a 1 Euro coin for size reference

Tiny GPS Logger For The Internet Of Animals

[Trichl] has created a tiny GPS logger, called ‘TickTag’, designed as an inexpensive location tracking option for animal studies. The low cost, tiny form factor, and large power density of the LiPo battery give it the ability to track large populations of small animals, including dogs and bats.

The TickTag is capable of getting 10,000 GPS fixes from its 30 mAh cell. Each unit is equipped with an L70B-M39 GPS module controlled by an Atmel ATtiny1626 microcontroller and sports a tiny AXE610124 10-pin connection header for programming and communication. GPS data is stored on a 128 kB EEPROM chip with each GPS location fix using 25 bits for latitude, 26 bits for longitude, and 29 bits for a timestamp. Add it all up and you get 10 bytes per GPS data point (25+26+29=80), giving the 10k GPS fix upper bound.

To record higher quality data and extend battery life, the TickTag can be programmed to record GPS location data using variable frequency intervals or when geofencing bounds have been crossed.

Continue reading “Tiny GPS Logger For The Internet Of Animals”