In part one of this series I showed how to implement the “Power Key” to safely power up and shutdown the Beaglebone platform under Windows Embedded Compact 2013 or Windows Compact 7. To continue on the power management theme I will show how to implement the battery driver but first there are some hardware issues we need to take care of.
It seems the hardware designers of the Beaglebone were thinking ahead in that they brought out all the needed connections to the PMIC (Power Management Integrated Circuit) for battery backed operation. The needed connections are shown as test points in this partial schematic:
The full schematic is freely available from the BeagleBoard web site.
The data sheet for the Texas Instruments PMIC is also available for download.
As I have stated in my previous post, the TPS65217C PMIC has an integrated battery charger on board. In my case I am using a 1.75A/hr. Lithium-Ion (Li-ion) battery.
A couple of the connections are quite obvious, Battery plus needs to go to TP5, Battery ground goes to TP8. TP6 is the BAT_SENSE or battery sense which can also be connected to Battery plus. The TS input (TP7) is the Temperature Sense and is usually connected to some kind of thermistor. Li-Ion batteries require temperature monitoring during charging for safety reasons. The charger will not operate unless this pin is connected. In my case I simply added a 100k resistor (see photo above) from TP7 to ground to “fake out” the monitoring circuit. While I do not recommend this in production it is enough to get me up and running.
There is one more mod that needs to be made. The MUX _OUT (PMIC pin 16) needs to be connected to an analog input channel on the AM335X processor. It seems the designers forgot this connection for some unknown reason. This is strange in that the previous generation (Beaglebone white) had this connection wired up correctly. We need this connection as it allows us to read the battery voltage, system voltage, thermistor voltage and charge current via the A/D converter on the AM335x processor. The A/D convert on the processor has a multiplexer frontend which allows us to use it for touch screen interfacing as well as general purpose analog readings. I wired the MUX_OUT to AIN6 which is available on the P9 expansion connector pin 35. Here is close up photo of the mod:
Be careful making this mod. The PMIC has a very fine pitch and you need a fine tipped soldering iron and probably the use of a microscope to do it correctly. I also added a small two pin connector so I can remove the battery when needed.
It’s worth noting that because we are running from a 3.7 volt battery not all the peripherals are available when running in backup mode. For example the USB host is not available as it requires 5V from the supply to power external devices.
After I finished the software modifications, which I will cover in the next blog entry, I was able to get full battery backup operation which allowed me to run the Beaglebone for several days before requiring a recharge.
David Vescovi
Hi David, First of all thanks for this, blog it's been very useful. Before I go ahead and solder anything on my BBB I want to clarify that to get the power IC in the BBB to work I only need to solder the TP pins as you explained above but I do not need to solder the PMIC pin 16 to the header pin 9_35 if I don't need to use any of the peripherals that requiere 5volts? Thanks !
Re: Windows Embedded Compact 2013 on Beaglebone gets IoT sample
Please contact me regarding a full installation of this BSP for WINCE2013, and what is necessary for...
-- Aaron Peterson
Re: BeagleBone BSP code clean up
Hi David, Interest in the fully version of the image. Please let me know the commercials. I need clarification...
-- CB
Re: BeagleBone BSP gets several improvements
Hi David, How can I get a full version (without reboot) of your image available for demonstration?
-- Marco Aurélio Braun
Re: Low power operation on the community IoT Beaglebone BSP (Part 1)
Hello , dvescovi . Because of Job , I use your Beaglebone black BSP which is helpful for me . I want...
-- KevinHsu
Re: Yet Another Gotcha: Compact 7 Update
Hi David, Would you please contact me regarding the wince7 BSP for the BBB? I have a few LCD Capes...
-- trialsrideraz
Seems MS may have posed a new updated ISO on MSDN. For those without a subscription, you are still out...
-- dvescovi
Re: Power management on the Beaglebone part 2–Battery
Hi David, First of all thanks for this, blog it's been very useful. Before I go ahead and solder anything...
-- Juanes1220
Re: More improvements for Beaglebone BSP
Thank you for the fixes. The latest version builds under WEC7! Yay! Next .. have to try deploying it...
-- OzFlipper
Of course, I meant the WEC2013 SDK ... see what happens when you work with too many bits at the same...
Hi David. First, thank you for what must have been a huge amount of work. I have been trying to install...