Boron Power Manager, PMIC, Fuel Gauge and System Calls


I am working on a project that has a constraint of using a very small solar panel with the following specs (2V @160mA) for recharging the attached rechargeable Li-ion CR123A 2800mAh 3.7V battery. I understand that 2V is not high enough so I am using a simple DC-DC Step Up converter that takes the 2V from the solar panel and steps it up to 5V @480mA.

(The attached picture is the current circuit including the solar panel, step-up-converter, battery all attached to the Boron) I have the following questions after looking at the DeviceOS documentation for Power Manager, PMIC, Fuel Gauge and System Calls.

  1. When calling powerSource() from Systems Calls while the Boron is Powered by the attached battery, it returns POWER_SOURCE_USB_OTG = 4 shouldn’t it return POWER_SOURCE_BATTERY = 5?

  2. The setChargeCurrent() from PMIC states that the total charge current is 512mA + the combination of bits bool setChargeCurrent(bool bit7, bool bit6, bool bit5, bool bit4, bool bit3, bool bit2); where is the 512mA from? Does this mean I need a different step-up-converter since the minimum current is 512mA even if I set all of the bits to 0 in bool setChargeCurrent(bool bit7, bool bit6, bool bit5, bool bit4, bool bit3, bool bit2);?

I could be wrong, but to me this implies that the Boron is using the Panel as it’s power source (at the time of the System Call). When you cover up the Panel, does the Boron report POWER_SOURCE_BATTERY = 5 ?

Also, a Boron will re-charge a Li-Po at a much lower current than setChargeCurrent() . I think of it as a Target charging current, not a minimum.

Do you have a way to measure the current being produced after your Step-Up Converter ?

If your DC:DC experiences too much loss for your project, you can look into a “Charge Pump”.
I had decent luck with Indoor Solar Projects using Energy Harvester IC’s like the BQ25570 for example, but there might be better options available now.

A Energy Harvesting IC will perform MPPT for the Solar Panel, which should provide you with better results from the 2V Panel verses a Step-Up Converter. It would handle all recharging duties for the Boron in a much more specialized manner for your 2V Panel.


Disconnecting the Panel + Step-Up results in the same value for powerSource() : USB_OTG even though the battery connected to the LiPo connector is the only power source.

I don’t have a good way to measure the current output of the Step-Up but the Datasheet states 480 mA

@Rftop @rickkas7
Will the System call powerSource() ever return “Charging” given that the connected Battery on Li+ will always be “Discharging” as its the only power source? or would it return both “Charging” and “Discharging” is an appropriate source is connected to VUSB?

Under normal circumstances, the Boron will correctly report Charging/Discharging of the Li-Po in regards to an appropriate source on Vin or Vusb.

But given your diagram, I wouldn’t expect the 2V 160mA panel to provide enough current for the Boron to report Li-Po Charging through the DC Converter.

Back of the Napkin Math:
Assume perfect conditions for the Panel => 160mA @2V => 64 mA @5V.
Throw in ~90% efficiency for the Step Up conversion (guessing) = 57 mA @ 5V before we get to the Boron efficiency/losses.

I’d guess the output voltage of the 2V panel will constantly collapse, without MPPT control.

That makes me think that either you’ve found a glitch, or that DeviceOS is actually reporting the OTG output condition (powering an external USB device from the Li-Po.

Have you performed anything elaborate with PMIC calls in the past on your Boron ?
Some of those settings are “Sticky”.

Is there a simple MPPT IC I can integrate into the circuit? I’ve never used MPPT before so any recs appreciated. What would be the minimum Voltage/Current I can feed into the VUSB pin to charge the attached Li-io battery connected on Li+?

I just checked and the powerSource is now reported as Battery so it might have been something flaky that resolved itself.

This is a easy board to start with ( I used it w/ some very low Voltage panels):

That’s a loaded question, because many factors are involved ( D+/D- lines, PMIC hardware, DeviceOS settings, etc).

Can you share your connections used with this board to take solar cell input and charge the battery attached to the boron using the onboard charger IC please? Having a bit of hard time getting documents from the foreign sites that explain the LOW/HIGH states of the V_En, En, V_OK pins on this board. @Rftop

When using a specialized Energy Harvester Module like this, you wont be connecting the battery directly to the Boron (or allowing the Boron to recharge the battery).
The Module needs to handle everything, and the Boron is connected to the Output.

I have the following circuit but the Battery is not charging (I noted the initial state of 3.6V and left it charging in the Sun outside for ~24 Hours w/o any changes to 3.6V state).

BQ25570 Input+ ==> Solar Cell +
BQ25570 Input- ==> Solar Cell -
BQ25570 BAT+ ==> CR123 +
BQ25570 BAT- ==> CR123-
BQ25570 GND ==> BQ25570 EN via Jumper Cable

@Rftop @rickkas7

I looked through my box for indoor solar harvesting for a reference hardware setup but couldn’t find one with the BC25570, even though I know it’s here somewhere.

An easy way to confirm that you are enabling the harvest circuit correctly is to operate the breakout board with only the Solar Panel and it’s onboard SuperCap (no external load).
Discharge the Cap and you should see the voltage increase fairly quickly when a light source is present.

I think it was just a faulty chip.
I can see the Voltage changes across the SuperCap when the solar cell is exposed to light w/ En connected to GND. The connected Battery also seems to be charging now. However, I am not getting any voltage on the OUT terminals, any suggestions?

The breakout board has the following pins: En, GND, V_OK, V_En.
The Harvest circuit is enabled by connecting En → GND.

Which breakout board did you purchase ?

Here’s the breakout board @Rftop

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.