Disable charging on Boron 2g/3g turns off cellular

I’m playing around with disabling/enabling charging on a Boron 2G/3G device. I notice that doing pmic.disableCharging() and pmic.disableWatchdog() in the setup() results in the Boron’s LED breathing white which indicates that cellular is off and the charging LED is flicking quickly. Moving this into the loop() gives breathing cyan. Anyone else experienced this issue or is it just me?

Few points:

  • I am powering the Boron via 5V 2.4A USB, this should be sufficient since the datasheet mentions spikes of up to 1800mA
  • I am on deviceOS 0.9.0

Removing the PMIC commands and re-flashing allows my Boron to connect back to the cloud just fine (breathing cyan).
If i’m not disabling charging correctly, please let me know.

Documents I’ve gone through:

One more update, when moving the PMIC commands into loop(), although my Boron is breathing Cyan, it can’t by the cloud which is a bit weird.

Could you describe what you are trying to achieve - why do you want to turn off charging of the LiPo battery? Could you post a picture of the circuit you have around the boron. I have noticed some strangle behaviour when there is the slightest connection between pins (i.e. a faulty breadboard).

2 Likes

Hi Douglas, I do not have a Boron, but with the Electron you need to make a declaration PMIC _pmic; prior to setup() - might be worth a try. Sorry, don’t have time to source the exact post or Particle reference to the above claim but pretty sure it was a post by @ScruffRr

@All, took another crack at it today and I think I found the problem. I search the forums for more pmic examples and notice that some people use pmic.begin() before configuring the pmic. After adding this to setup() right before pmic.disableCharging() this solves the problem.

So for those curious:

PMIC pmic;
void setup() {
     pmic.begin();
     pmic.disableCharging();
     pmic.disableWatchdog();
}

I'm not too sure what begin() does specifically so if anyone does know the details, it would be nice to find out (i.e. I would appreciate if you posted here =) ). Maybe some more information on these functions + sample code to the API docs would be nice:

Answers to questions above

Could you describe what you are trying to achieve - why do you want to turn off charging of the LiPo battery? Could you post a picture of the circuit you have around the boron. I have noticed some strangle behaviour when there is the slightest connection between pins (i.e. a faulty breadboard).

@armor sure I can give a bit of background information. In summary, I am trying to power the Boron directly from the LiPo port by a DC PSU. This is follow up on my post:

A bit more detail, in that post I had a 5V PSU and was wondering if I can use the LiPO port to + JST-PH connector to power the Boron since this would save me soldering + reduce flying wires. Replies on that post do not suggest 5V and the Boron datasheet also mentioned "3.6 to 4.2 VDC". PSUs typically do not come in the 3.6 > 4.2 VDC range which kind of ruins the idea. The closest I could find was a 3.3V 2.5A DC PSU which although is only 3.3V seems to power the device just fine and the "Recommended operating conditions" on the datasheet shows a minimum voltage of 3.3VDC. I am also hoping that 2.5A at 3.3VDC is sufficient for the Boron 2G.

For development purposes I still would like to monitor the serial logs on the Boron device, so USB will be connected. Hence I would like to disable pmic charging. Other option would be to cut VDD on the USB cable,

With regards to set up, I was trying this with JUST the boron connected via USB and the provided LiPo battery. The board is mounted on a breadboard but there are no external connections (just the LiPO, antenna and micro-usb). Basically think of the Boron set up tutorial:

Hi Douglas, I do not have a Boron, but with the Electron you need to make a declaration PMIC _pmic; prior to setup() - might be worth a try.

@DRCO thanks for the suggestion. I did do my declaration of PMIC prior to the setup() function.

2 Likes