Update 2015-12-01: I bought a PowerJive USB power meter and re-tested everything, and came up with ~80 mA instead of the ~30 mA reported by the Charger Doctor that I was using prior. This seems to be more in line with the results others were measuring with much more expensive/accurate meters in the Raspberry Pi forums: Raspberry Pi Zero power consumption. I've updated the numbers in the post below to reflect this change. Seems the Pi Zero is only incrementally better than the A+—still excellent news, but not nearly as amazing as I originally thought :(
Update 2021-10-28: With the new Pi Zero 2 W, you can also disable some of the CPU cores to reduce power consumption for a heavily-utilized Pi if it doesn't need all the CPU cores running.
Yesterday my post comparing the Raspberry Pi Zero's power consumption to other Pis hit the Hacker News front page, and commenters there offered a few suggestions that could be used to reduce the power draw even further, including disabling HDMI, changing the overclock settings, and futzing with the lone ACT LED.
I decided to spend some time testing these theoretical power-saving techniques on my Pi Zero, and here are some of the tips I've come up with (note that these techniques work with any Pi, not just the Zero):
|Disable HDMI||25mA||If you're running a headless Raspberry Pi, there's no need to power the display circuitry, and you can save a little power by running
|Disable LEDs||5mA per LED||If you don't care to waste 5+ mA for each LED on your Raspberry Pi, you can disable the ACT LED on the Pi Zero.|
|Minimize Accessories||50+ mA||Every active device you plug into the Raspberry Pi will consume some energy; even a mouse or a simple keyboard will eat up 50-100 mA! If you don't need it, don't plug it in.|
|Be Discerning with Software||100+ mA||If you're running five or six daemons on your Raspberry Pi, those daemons can waste energy as they cause the processor (or other subsystems) to wake and use extra power frequently. Unless you absolutely need something running, don't install it. Also consider using more power-efficient applications that don't require a large stack of software (e.g. LAMP/LEMP or LEMR) to run.|
|Turn off WiFi Radio (wireless models)||10+ mA||Disabling WiFi via `sudo rfkill block wifi` can save a little power, though for many applications this also removes the single communication protocol the Pi uses for things like IoT connections or remote control via SSH, so this is not always an option. Make the change persistent by adding the [`disable-bt` and `disable-wifi` overlays](https://github.com/raspberrypi/firmware/blob/2d08e8a2ae963819db9605b81f…) in your `/boot/config.txt`.|
A few other seemingly obvious optimizations, like under-clocking the CPU, don't make a discernible impact on idle power consumption, and make a minimal difference in any real-world projects that I've measured. Do you have any other sneaky techniques to steal back a few mA?
For the Raspberry Pi Zero, I used all the above techniques, and here were the results:
- Raspbian Jessie Lite nothing besides microSD card, and ACT LED on: 100 mA @ idle
- Same as #1, but disable ACT LED and disable HDMI: 80 mA @ idle
- Same as #1, but plug in a display, keyboard, trackpad, and WiFi adapter: 310 mA @ idle(!!)
As you can see, it pays to conserve—if you don't need it, cut it away to save power! With the Pi Zero and these power saving techniques, you can extract a lot of usage even in low-power scenarios, like solar energy or running off a battery.