Boron LTE w/ Solar- Trials


Maybe @ScruffR or @rickkas7 can help us, rookies, out here :smile:

Yes Please…maybe once they stop laughing at us :woman_facepalming:

Hi guys @Rftop @RWB
I am trying to publish fuelgauge on the Boron

          "Volts:" + String::format("%.2f",fuel.getVCell()) + 
          ",SoC:" + String::format("%.2f",fuel.getSoC()),
          60, PRIVATE

but I am getting different readings in Console.
Does this make sense?

Just one comment about your use of String()
Apart from the general advice to not use String unless it’s absolutely unavoidable, when you are using String::format() already, there is no use whatsover in also concatenating multiple strings.

Rather go with this

                  , String::format("Volts:%.2f,SoC:%.2f", fuel.getVCell(), fuel.getSoC())
                  , PRIVATE

I’m planning on running my Borons on Voltaic 6V6W panels with a 4400 mAh Adafruit LiPo on weather stations which will never sleep. It seems from this thread inserting some sort of LiPo Solar charging break out ie adafruit or DF Robot would only add extra cost and I would take a hit on efficiency.

But I’m confused about the USB PORT and VUSBPIN

USB PORT says provide at least 500 mA. However in VUSB PIN it says to NOT exceed 500mA. The voltaic panels have a stated max ouput of 930 mA. Both the Adafruit and DF Robot chargers can limit to 500 mA. I am currently using a 2.2k resistor to up the output of the Adafruit charger to ~980 mA as the LiPo I’m using has a max rating of 1A to power my Electrons. I will be exchanging some of those and installing more with Borons.

I keep chasing my tail so any suggestions would be MUCH appreciated.


@Mister, take a look here. I believe a fix to the documentation has been posted.

I saw the post from @ninjatill but I’m still confused about the two sentences which seem opposed to each other which I highlighted. One says to make sure USB port is supplied at least 500mA and the other says to NOT exceed current rating of the USB port rated at 500mA.

I’m very happy to be wrong I just don’t understand how these statements in the Docs can both be right.

@ninjatill did clarify the voltage issue from the USB Port and for that I thank him. :sparkler::sparkler:

When the Boron is powered via USB, and Vusb is used as an output to power a peripheral, the Vusb port will output 4.5-5v and the output current is limited to the USB port specification. USB v2.0 and prior ports are limited to 500mA. USB 3.0 and newer may supply more current but are not required to. So, if you account for the power draw of the Particle device, you can pull about 450mA from the USB port.

When Vusb is used to power the Particle Device, then the voltage is limited to less than 12V. There’s no limit to the current, the Particle Device will pull what it needs. You have to make sure your external power supply will meet the current demands of the Particle Device and whatever peripherals are also powered by the external supply.

I added a pull request to update the Boron docs to add the “input” scenario.

1 Like

A bit of clarity here. Actually, the Vin pin is connected to the Vusb input via a reverse-voltage protection diode. This diode prevents damage to the powering USB supply when the Boron is also being powered via Vin. It is the Vin pin that should be used to power the Boron with 3.9V to 12V.

Thanks @ScruffR for the tip!
Any idea why there is a difference in the SoC between the publish and the console?

@peekay123, I agree. But only the datasheet block diagram shows Vin. The silkscreen on the device only shows Vusb. I can see how it’s confusing since Gen 2 had a Vin pin which better indicates the intent of the pin IMHO.

1 Like

I feel like I’m Hi-Jacking this thread… if I knew how to fork it I would.

@ninjatill I see now on the block diagram vusb/vin going directly to the BQ24195.

This section on power has also been confusing to me. Both sections list Supply Input Voltage but Max ratings and recommended ratings have 1) different pins listed and 2) different max voltages listed.

Not sure what a pull request is but some clarification from Particle here might be helpful as well. I’m not an engineer, CS whiz or programmer so understanding these docs can be quite difficult.

To get more data you should look at the charging PMIC data sheet which shows the max voltage input of 17v :smile:

Particle recommends you keep it below 12v due to heat build up from the PWM conversion of converting the higher input voltage down to the battery voltage. Particle is playing it safe and is unoffocially recommending 12v via engineers on the form in past discussions.

1 Like

Make sure to pay attention to the “symbol” column which shows the associated pin. The ratings differ because they are for different pins. Although the Vin pin rating doesn’t match the Electron now that you point it out… which @RWB just clarified above.

@peekay123, shouldn’t that be “reverse-voltage” not reserve-voltage?

I believe reserve voltage is otherwise known as a battery :rofl:

1 Like



1 Like

Been there and done all this reasearch years back.

Just take our word that the Vin max input voltage is 12v and if you want to use
Solar it’s most efficient to use 6v solar panels and the code we use above.

pmic.setInputVoltageLimit(5080); or 4840 until we get some response from the Powers That Be.

Correct, use the 4840 for now since we know for sure that works.

My full code with low soc sleep mode that will not work on the Boron right now is included.

Hi @Rftop, I think I’ve read through the entire post and replies (which are all fantastic by the way), but haven’t seen the make/model of panel and controller that you’re using? Can you share that?

For my Electron+Asset Tracker Shield build, I used the Voltaic/Ada 2W panel and the Adafruit LiPo Solar charge controller, and connected to the 5-12VDC screw terminal block on the Asset Tracker (which I assume is connected to the VIN pin of the Electron). This SEEMED to work fine, though nowhere near the performance you are getting.

For the Boron on its own, I was assuming I’d have to move the battery to the BATT JST of the Adafruit charge controller and then connect the LOAD JST to the Boron LiPo+ JST. Trying to maintain a ‘pluggable’ build for quick assembly/disassembly. I have no idea if this works in practice because I haven’t even had time to unbox the shiny new Boron.

I noticed that you mention the USB port for solar power input, which I’m confident is technically correct and a lot simpler, so that made me wonder what controller you are using?

Thanks for any tips. I really appreciate you and @RWB contributing so much detail in one post to an area that is foreign to me.