3V or 5V, that's the question

A project log for LiFePO4wered/Pi

LiFePO4 battery / UPS / power manager for Raspberry Pi

Patrick Van OosterwijckPatrick Van Oosterwijck 02/18/2016 at 21:185 Comments

So I've made 2 versions of this. The first version uses a load switch to connect the 3.2V battery voltage directly to the 5V Raspberry Pi input. The latest version has a boost converter that provides 4.75V (the minimum spec) to the 5V input.

Wait, 3.2V instead of 5V?

Yes, and it actually works very well. The only thing the Raspberry Pi does with the 5V is feed it to a buck converter (Model A/B+ and later) that turns it into 3.3V, 2.5V and 1.8V. I didn't review the specs of each of the chips on the Pi, but most 3.3V chips run just fine down to 3V or lower. The only other thing that happens with the 5V is that it is routed to the USB ports. Most devices you connect to a USB port do exactly the same thing: they just convert the 5V to 3.3V or lower.

I've been testing this system for about a year now, and I've yet to find a USB device that has a problem with running from 3.2V. My test Pi has run for months on end with a WiFi and Bluetooth dongle without a single crash.

The only problem with feeding the Pi 3.2V seems to be that it is out of spec, and I can't make guarantees that every single USB device out there will work.

So it may work, but why would you do it?

One word: efficiency. A simple switch wastes less power than the boost converter does. On top of that, the buck converters and regulators on the Raspberry Pi and USB devices run more efficient as well when they run from a lower voltage (this is why I made the boost version 4.75V instead of 5V: the minimum voltage that's still within spec).

The load switch system is also simpler, easier to assemble (no DFN), lower cost and has less chance of droop under heavy load. This is a funny thing: under dynamic load, the lower but very solid 3.2V may actually be more stable than a 4.75V or 5V that droops under switching load.

How much difference does it make?

Initial testing with several versions of the Raspberry Pi seems to indicate that the 3V version runs 15-25% longer on a battery charge than the 5V version. I'll add a table with tested run times in the future.

So what are you going to do?

Ask potential customers what they'd like. :-) Please comment below! Do you care if the Pi runs at an out of spec voltage, if it runs longer? Do you care whether it runs longer, if it's out of spec? Which do you find more important? Please let me know!


ajlitt wrote 02/19/2016 at 15:49 point

I'm still asking myself the same questions on my project.  For better or worse, there's no one-size-fits-all in the hacker community.

Have you static load tested the switcher?  I'd be concerned that there's not much heatsinking on the thermal pad, and that may contribute to instability.

  Are you sure? yes | no

ꝺeshipu wrote 02/19/2016 at 11:37 point

The problem is that you are not bypassing that converter, so there is some voltage drop on it. To give proper 3.3V that converter will need considerably higher voltage -- that's why they specify 4.75V as the minimum. To properly power it with lower voltage, you would need to bypass that regulator.

  Are you sure? yes | no

ajlitt wrote 02/19/2016 at 15:36 point

The datasheet on the Pi's buck converter points out that it enters a "low dropout mode" when the duty cycle is too high to keep up with the input voltage.  It doesn't have all the parameters needed to calculate this at 3.3V, but roughly it looks like 100-200mV at .5A at 3.3V.  Fortunately LiFePO4 cells maintain their nominal 3.2V across most of their capacity so it's not too bad.

For reference: 

This wouldn't be a problem with 3.6V LiPos though.

  Are you sure? yes | no

ꝺeshipu wrote 02/19/2016 at 15:46 point

Nice, thank you for the information!

  Are you sure? yes | no

Patrick Van Oosterwijck wrote 02/19/2016 at 16:10 point

Indeed, 3.2V would not have worked with the old Model A and B that used an LDO, but the new buck regulator on the A+/B+ and above works beautifully.  I just checked the voltages on the 5V and 3V lines on my test unit.  The 5V has 3.37V, the 3V has 3.32V, only a 50mV drop!

  Are you sure? yes | no