Researchers Reveal Optimizations to Boost Battery Life in Arduino Uno, ATmega328P-Based Data Loggers

With the addition of a MOSFET and some tweaks to the program code an Arduino Uno can log every two seconds for a year on a 2,400mAh battery.

Gareth Halfacree
2 days agoSensors

A pair of researchers from Newcastle University have published a paper investigating optimizations to boost battery life in Microchip ATmega328P-based, Arduino-compatible data loggers — by tweaking SD card save operations.

"As part of a university project, I needed to look into how to make the Arduino/ATmega328P last on a couple of AA batteries for over a year," first author Luke J. Bradley explains. "After doing a lot of digging through the datasheet and reading multiple online forums, I discovered that there are lots of tips and tricks out there but no one has made a standard method for creating a low power data logger. As such, I decided to write and publish a paper based on this. The paper shows exactly how to create a data logger using an SD card and an RTC as well as little tips and tricks within the code to help minimize power consumption. I hope it helps other people in their projects!"

In Bradley's paper, written with co-author Nick G. Wright, an ATmega328P-based Arduino Uno is chosen as the target device. "With the bare ATmega328P chip in sleep mode, the lifetime of a 2400 mAH battery can theoretically exceed 10 years, although this is reduced to only 3 months following the introduction of an SD card," the paper's abstract explains. "The exact power consumption of an Arduino/SD card during saving events is analysed for the first time and is found to take up to 200 ms with current spikes up to 80 mA for every initialisation and saving event dramatically increasing the average current consumption of fast data loggers."

The solution to better battery life, then: Optimizing the SD Card write operations. "Through the use of a power control MOSFET with proper initialization and timing of SD saving events," the pair explain, "it is found that the ATmega328P can be set up to measure data once every two seconds whilst also ensuring a battery lifetime of one year. With the novel techniques presented here, a new method for maximising the lifetime of ATmega328P microcontroller circuits for environmental data logging applications has been achieved; allowing researchers to record data using a cheap and reproducible system."

The full paper has been published under open-access terms in IEEE Access.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire:
Related articles
Sponsored articles
Related articles