Howto: Powering the Stellaris Launchpad with a LiPo battery
According to the Stellaris Launchpad User's Manual there are only two power options:
4.75-5.25 VDC from one of the following sources:
Debugger (ICDI) USB Micro-B cable (connected to a PC)
USB Device Micro-B cable (connected to a PC)
Well, powering this thing with USB is very convenient, but I like to make my projects portable or at least 'untethered' if USB is not needed for debugging or communications. And there is this unpopulated 3-pin header in the bottom-left corner of the board, labeled
VBUS just begging to be populated with a 2mm JST header for a single-cell LiPo.
There is a twist, though: The Launchpad expects 4.75-5.25 VDC on
VBUS, nothing that a single cell LiPo could provide. I know that the system voltage is 3.3 VDC and that the voltage regulator on the board has a very low dropout voltage, so powering the Launchpad with anything between 3.4-5.25 VDC should work well. The voltage of a single-cell LiPo ranges between 3.0-4.2 VDC, so let's populate this header and plug a fully charged LiPo in it! Being a practical guy, I did just that.
Guess what, nothing happened!
At least there was no magic smoke released, but no fancy fading of the RGB led either. But the green LED on the debugger portion of the board lit up, so I started probing voltages with a multimeter. Imagine my surprise when I measured perfectly stable 3.3V on the
3V3 rail! Everything seemed to be fine, so I dug out the schematic aka the 'User Manual' for the Stellaris Launchpad. The interesting part for me was the schematic of the power management circuitry, found on page 19:
You'll see the problem within seconds, if you're familiar with the operation of voltage supervisors. The green LED
D4 lit up and I measured 3.3V on the
3.3V rail, hence the voltage regulator
U8 was working fine.
The power select switch
SW3 is not relevant because the LiPo is connected to
+VBUS directly. My guess was that
RESET low for some reason, therefore preventing the micro from running its code.
RESET with a multimeter and taking a look on the first page of the
TLV803 datasheet confirmed my theory: Turns out that
U4 is a 5V voltage supervisor, pulling
RESET low if
+VBUS is below 4.38V.
I'm not familiar with the correct implementation of these voltage supervisors, but for maximum hackability it would have been nice to use a 3.3V supervisor on the
3V3 rail instead of a 5V one on
Howto outsmart mission control
Although the Launchpad design includes the voltage supervisor for a reason, to ensure stable operation, this design feature was more of a design flaw for me: The 5V version of TLV803 has a treshold voltage of 4.38V, a LiPo battery has a maximum of 4.2V which means that the TLV803 would pull
RESET low all the time, rendering the Launchpad unusable powered with a LiPo.
Simple problem, simple solution: Remove
R17 is a 10k pullup resitor and will keep both,
ICDI_RST high. Even simpler and no desoldering involved: Cut the tiny trace between
Now you can power your Launchpad with a standard single cell LiPo or anything between 3.4VDC and 5.25VDC.
This is a quick'n'dirty hack, so please be aware that connecting your Launchpad to USB while a LiPo is plugged into it will propably harm the LiPo and maybe the USB port, too. I highly recommend to use LiPo batteries with integrated protection circuitry for this hack, because LiPo batteries tend to react very bad to overcharge! Additionally you should keep an eye on your battery voltage, a LiPo should not be discharged under 3V or it may take damage and will lose some of its capacity. Keep in mind that there is no kind of low-voltage shutdown on the Launchpad with the voltage supervisor removed!
If you are willing to take these 'risks' this hack will give you plenty of power for your portable experiments with the Stellaris Launchpad. Happy hacking! ;)