In order to extend the battery life of the original PiPod project, a few changes were made:
1) Changed the LCD screen to an e-paper screen.
The LCD backlight was consuming a lot of power (~40 mA), and the e-paper screen does not require illumination in ambient lighting conditions. So you can see the screen without stressing about draining the batteries.
2) Replaced the Pygame graphics engine with the Python PIL (pillow) graphics library.
3) Replaced the Pygame event que with the Python "keypad" and "digitalio" libraries.
These two changes eliminated the power-hungry Pygame task that was always running in the background -- it reduced the power consumption by 9.5% while idle, and by 5.3% while playing music, which is significant.
4) Changed the OS from "raspios-bookworm-arm64" to "raspios-bookworm-arm64-lite".
The "lite" version of the OS does not have a graphical user screen, so it boots faster and also eliminates a lot of unnecessary tasks/processes running in the background.
5) Reduced the ARM core and ARM bus clock rate down to 150 MHz.
With so little software running, there is no need to clock the CPU at the default clock rate of 1 GHz. Reducing it to 150 MHz saves about 20 mA. (Note: There is no measurable power consumption reduction seen when disabling unused ARM CPU cores.)
How Long Does the Battery Last?
In my experience, the original PiPod had a battery life of about 2 hours using a 1200 mAh battery.
Compare this to the ePiPod, which, when playing music non-stop, at normal listening volume (with the same 1200 mAh battery), now has a battery life of nearly 5 hours.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.