Low-Power Boron LTE, using the EN Pin


#1

After testing various small Solar Panels for the Boron LTE in this post, I decided to figure out how to operate a Low Powered Boron while we are awaiting Sleep Modes for Gen3. (Special Thanks to @Rwb for your help!)
The answer is the EN (Enable Pin), which works for all Gen3 Mesh Devices.

I’m now running 2 more field Trials:

  1. Boron LTE, 0.5-watt Solar Panel, 2,000 mAH Li-Po, external Timer for EN Pin to Shutdown Boron between scheduled Publishes @ 5 minutes, TMP36 to monitor temperatures inside enclosure (to disable Li-Po charging when temps are too cold/hot). RC-25 Firmware, mesh NOT enabled during initial setup w/ IPhone.

  2. Boron LTE, 3xAA, external Timer for EN Pin to Shutdown Boron between scheduled Publishes, for an Indoor Project since Solar isn’t an option. RC-26 Firmware, mesh WAS enabled during initial setup w/ IPhone.

Boron LTE Power Consumption:
I wrote code for a Photon that uses a 16-Bit ADS1115 and the µCurrent GOLD to measure the Power consumption of the Boron when powered via it’s Li-Po Connector. It averages 100+ differential 16-bit readings each second to calculate average current, totals the power over time, and prints a results line to serial every second.

A sample result for a 4.10V powered Boron LTE on the Li-Po connector includes: Startup, Cloud Connection, Publish, plus 1 sec before Shutdown is :

Power:   1.053 (mWh)    0.0011 (watt-hour)   0.925 (amp-seconds)
Total running time: 14.07 (seconds)-  this will change depending on location / cellular reception.

The Boron LTE’s average current when the EN pin is pulled LOW is 76 µA (Argon & Xenon are half that).

It’s easy to see that a tiny 0.5-watt Solar Panel & Li-Po can meet the power requirements for a Boron LTE that’s shutdown via an external Timer, on a reasonable schedule. I don’t expect any surprises for Trial #1 listed above. The enclosure is roughly 4"x2".
image

Trial #2’s Boron is operating on 3xAA batteries (Energizer L91) via the Li-Po connector and the same external timer to Shutdown via EN Pin between Publishes. The L91’s provide 4.5 watt-hours @ 100 mA load. Quick math says the 3xAA Boron should be capable of 4,000+ publishes. In my testing, Successive Cloud Connections have not taken any longer on the Boron LTE than it does after being without power for 12 hours.

Trial #2 is publishing every minute to speed up the 3xAA test. It’s Awake time is averaging 12 seconds before it shut’s itself down after the publish. It publishes the 3xAA battery voltage, the processor time for each wake cycle, and the total number of publishes since the trial began. The # of publishes are read/stored to EEPROM each cycle. I should know in a few days how close the 4,000 publish estimate is to reality. I’m using a 6xAA battery enclosure for the 3xAA batteries and Boron.
image

This is the external timer I’m using to Ground the EN Pin for Gen3 Shutdown:

It’s a great option for Gen3 projects that can operate on a schedule.


Boron Stuck in Deep Sleep
Current Consumption and Sleep modes Boron
Current Consumption and Sleep modes Boron
How realistic is running a Xenon from a coin cell?
#2

Trial #1 (Boron LTE, 0.5-watt Solar Panel, 2,000 mAH Li-Po, external Timer for EN Pin) required a modification to the Code during the experiment. Originally, the PMIC would not resume recharging the Li-Po if the input (solar) voltage dropped out completely. This means that charging would not resume after severe cloudy conditions, or night time. My solution was to add pmic.enableBuck(); inside the Setup() routine which runs each time the Boron Starts-up from the external Timer. The following PMIC settings were eventually used:

// Li-Po Power Management:
  pmic.begin();
  pmic.setInputVoltageLimit(5080);  //  for 6V Solar Panels   
  pmic.setChargeVoltage(4208);      //  Set Li-Po charge termination voltage to 4.21V,
  pmic.enableDPDM();  
  pmic.enableBuck();                //  enableBuck required when using EN Pin Shutdown.
  pmic.enableCharging(); 

I’m guessing that pmic.enableDPDM(); & pmic.enableCharging(); could be removed, but I haven’t confirmed that.

Once pmic.enableBuck(); was added, the daily Battery Profile became pretty boring, with no major unexpected results. The 0.5-watt Solar Panel can easily recharge the Li-Po when running a 5 minute Wake/Publish schedule. The Boron doesn’t terminate the Li-Po charge at 4.2V (SoC 100%) anymore, as with my previous tests using pmic.setChargeVoltage(4208). This isn’t necessarily a negative result, and I’m sure there is a explanation.
A typical 24 hour Graph looks like this:

SoC ranges from 93% (daytime) to 85% (night)
A typical Startup/Connection/Publish uses 1 mWh.
Quiescent current (while Shutdown via EN Pin) uses 7.5 mWh per day.

Notes for Trial #1:

  • The 2,000 mAh Li-Po battery that ships with the Electron is rated at 7.4 Wh, however those tests are conducted from 4.2V to 3.0V which is not a realistic range for actual operating conditions when calculating your Power Budget.
    image

  • The Tiny enclosure used for this Solar Trial doesn’t leave any room for insulation to minimize the Heating due to the Sun. Obviously, the Black color isn’t optimal either :sunglasses:

  • The Results show it’s EASY to operate a Boron LTE with Solar Recharge, even with a Tiny Panel.
    Your Panel size will depend on the average daily power for your application.
    Your Battery size will depend on the maximum days that you want to operate without any sunshine.


.

Trial #2 (Boron LTE, 3xAA, external Timer for EN Pin) is finally complete.
Energizer L91 AA batteries are used in this test. Fresh L91’s have an OCV of ~1.8V each, and 1.65V under load from Boron LTE. The AA L91’s are rated at 4.5 Wh at a constant 100 mA load.
image

As you can see the below, the Battery Voltage has started a steep decline indicating the end-of-life is approaching soon. The Boron performed 9,869 Publishes with the 3xAA Batteries in Series.

[Edit: Test Complete, final 12 hours shown below, 4.20V would be the Battery Alarm Threshold for 3xAA]

The average MCU time for Startup/Cloud Connection/Publish was 12 seconds. This does not include the 2 Seconds of “wait-after-publish” before Shutdown.

Notes for Trial #2:

  • The Boron LTE is truly a Cellular Module that’s capable of operating on AA batteries. This test far out-performed the calculations. I assume this is due to the cyclic nature using the EN pin (14 seconds on, 1 minute off) of this test. The 4.5 Wh published Rating of L91’s was under a constant 100 mA load.

  • Using AA batteries with a Boron LTE and the EN Pin opens up many possibilities.
    Specifically, for projects that may experience higher temps than we are comfortable with for Li-Po’s, or when the self-discharge of Li-Po’s prevent their use. A power budget for my location would be calculated using any publish schedule (1 mWh each publish) and the Quiescent current of 7.5 mWh per day + a significant Safety Factor.

  • The Boron LTE datasheet list the suggested Max Voltage on the Battery Connector at 6.5V.
    Increasing the batteries to (4)xAA Energizer L91= 6.6V, which is technically out-of-spec for the Boron, but well within the PMIC specifications.

  • 4S (4xAA in series) and 3S2P (2 parallel sets of 3xAA in Series) configurations will be tested in the near future for projects that would require more than 10,000 Publish events before changing batteries, or many years in Shutdown mode. Using the EN Pin, A Boron LTE publishing Every Hour for 1 year before changing AA batteries is feasible.

Any comments, suggestions, or questions are welcomed.


#3

[reserved for spreadsheet results]


#4

Hello @Rftop,

Can you help me with a similar question?

My problem is a bit different than yours. I need the mesh device to recycle power to “itself”. I have looked at the TPL5110/1, but these two devices are designed to recycle power every (maximum) duration of two hours.

Is there a similar device that can extend this to 24 hours? I realize one can always use an external timer/relay like this:

but was hoping to miniaturize the circuit …

Thanks in advance for your input.


#5

@Jimmie, there are folks on here a lot more qualified to answer that than I am.
You might solder your own resistor to the TPL to increase the cycle time above 2 hours, instead of the POT. Nope: 7,200 seconds is the Max according to TI’s datasheet also.

Or use any low-powered MCU (ATTiny) instead of the TPL to create your own.
I believe there is a programmable version of the classic 555 timer also.
Or you can wait for the Sleep modes to become available, but at a higher Quiescent current I presume.


#6

Thank you @Rftop.

You are right, the maximum is 2 hours.

I was hoping the TPL would do it as I have a board for it. BTW, I am not worried about power consumption because the system had to work 24/7. I need the timer because I want to recycle power to the Boron. System.reset does not solve the problem because the radio apparently is not reset.


#7

@Jimmie, You could use a Pin to drive the EN Pin low for a Shutdown.
This will cause a Restart of the Boron:

SYSTEM_THREAD(ENABLED)

int donePIN = D6;   // Connect D6 to EN pin, probably should use a resistor ?
unsigned long resetTime = 1 * 60000 ; // min x 60,000(ms)

void setup() {
pinMode(donePIN, OUTPUT);
digitalWrite(donePIN, HIGH);
}

void loop() {
    
  if (millis() >=resetTime) {
    digitalWrite(donePIN, LOW);  // Drive EN Pin low causing a Restart. 
  }  
}  

I’d expect the standard answer would be to eventually find yourself some form of external watchdog.


#8

Thank you @Rftop, definitely worth checking out especially since the need to recycle power in my case in not related to a hangup issue, hence no need for a watchdog.

BTW, what size resistor do you recommend?


#9

IDK, do you have any idea what size the internal Pull-up used for the EN Pin is ?
The code above works without using a current limiting resistor. I’m just guessing that it would be a good idea.
Hopefully someone else can chime in and confirm.


#10

The EN pin is connected to SYS_PWR_EN which is pulled high via a 100k resistor


https://github.com/particle-iot/boron/blob/master/pdfs/boron-v1.00-schematic.pdf