Electron solar power configuration

Good morning everybody. My name is Michele and I’m currently running an IoT project of a remote environmental monitoring system powered by solar panel. The project now is based on a GSM 3G/2G different brand board, but I having hard times making that working consistently, so I’m switching to Electron looking for better chance.

I have already red the other discussion about Electron + solar, but I don’t find a case with solar charge controller. So now I would like to understand if, with my current power configuration and devices, I can stably run an Electron-driven monitoring system, and how.

My system is ‘12V rated’ and I have:

The 12V battery is the main power supply and it is recharged by the solar panel by the solar charge controller.

The solar charge controller has a USB output (rated 5V - 1.2A) and one LOAD output rated same like the power circulating (12V 10A or 12V 20A depending on the rating of the controller).

The average load of our monitoring systems is usually around 200 - 250 mA, in total. They are moisture sensors, temperature sensors like the BME280, and other small sensors for soil and weather. Most of the sensors is highly flexible and can be powered from 3.6V to 30V. The only minor sensor is the SHT31 which can be powered from 3.3 to 5V.

My actual code is: readings of sensors every 5 or 7 minutes, send the reading to our web cloud, shut down the WiFi or 3G connection to save power, then after 5 or 7 minutes restart again the connection, then do readings, etc. etc.

I can have also LiPo battery so I just need to understand, according to your experience, what is the best stable operative configuration to do this.

Many thanks all.
Kind regards
Mc

Hi @terrasmart!

The USB output of your charge controller (5V/1.2A) on its own may not be quite sufficient for this build, as the Electron is rated for the following:

Typical current consumption is around 180mA and up to 1.8A transients at 5VDC. 

Those 1.8A transients are incurred by the modem, and insufficient current during these spikes can lead to functionality issues.

For this reason, I would encourage you to keep the LiPo battery that came with the Electron connected to your Electron at all times:

The Electron will intelligently source power from the USB most of the time and keep the battery charged. During peak current requirements, the additional power will be sourced from the battery. 

More information here.

So long as the battery has sufficient charge to carry the device through periods of high consumption, you should be good to go! It’s possible, if not even advised, to monitor your Fuel Gauge SoC, placing the device in a low-power state (or even disabling the BATFET entirely) underneath some threshold.

Finally, I’d encourage you to make use of System.sleep() to ensure efficient power consumption between your readings.

Otherwise, I think you’re good to go!

1 Like

Just a note on the 1.8A - that’s the rating for the 2G Electron - IIRC 3G maxes out at aprox. 800mA.

However, it’s also not only the max. current the supply can deliver reliably but also the response time. Even 2+A rated sources don’t always deliver the required power fast enough when the demand spikes.
Hence having the LiPo connected is the easiest solution.
Alternatively adding a bunch of caps in addition to a beefy supply may be an option.

1 Like

@ScruffR - I never fail to learn something new from you! You are correct, though we conflate the two elsewhere throughout the datasheet.

1 Like

Many thanks all for the support !

So @marekparticle you say LiPo + 5V/1.2A USB should be a stable configuration, enough to run the device and recharge LiPo at the same time?

So long as the battery has sufficient charge to carry the device through periods of high consumption, you should be good to go! It’s possible, if not even advised, to monitor your Fuel Gauge SoC placing the device in a low-power state (or even disabling the BATFET entirely) underneath some threshold.

can you pls tell me more about this? If I use the LiPo that came with the Electron, what's the correct SoC I should consider in order to go low-power?

How can I exactly do that, or even disabling the BATFET entirely ?

thanks!

Re: your power situation, yes! It should be fine.

You can use:

FuelGauge fuel;
double charge = fuel.getSoC();

and the BATFET commands here: https://docs.particle.io/reference/device-os/firmware/electron/#misc-operation-control-reg.

The Electron will enter a state with respect to power akin to that with which it shipped. It will then boot as normal upon reapplication of power. In order to do this, use either a SYSTEM_MODE other than AUTOMATIC or enable SYSTEM_THREAD, turning the BATFET back on in setup().

I don’t really like to see my Electrons go lower than 15% or so. I don’t believe we’ve standardized a negative threshold, however.