Powering Electron via Solar power

The PMIC basically just starts limiting the charging current if the panel starts to drop below 4.8v this keeps the voltage of the solar panel from dropping out and keeps a 5-6v panel operating at it’s Maximum Power Point where it provides close to its maximum current output under any lighting condition.

It works great.

1 Like

For what it’s worth, eBay sellers have a great deal on 6V/6W semi-rugged solar panels for about $12 ea. They are designed to line the bottom of a bike basket.

I’m sure that they are rated higher than the actual output, but at that price, it doesn’t matter. I’m going to buy a couple and see how they do. If they end up being 3W but rugged and cheap, that’s good enough.

1 Like

Thanks for posting this. I was looking to add the watchdog to my project and was looking for a good example of the code to use. This was looks great.


1 Like

I know this is not a very recent post of yours but I’m wondering how you have dealt with the blocking of code execution caused by Cellular.connect. With recent firmware and SYSTEM_MODE(SEMI_AUTOMATIC); the Cellular.connect command blocks any further code execution. I know one can use SYSTEM_THREAD(ENABLED); but that causes other problems for me. Wondering how you’ve dealt with this.

Hi Ryan (@RWB) - I have read quite a bit of your posts and wanted to reach out for some guidance. I ordered Boron and looking for someone to help with Code and Battery suggestions for a project I am working on that requires 1-2 years battery life (indoor), sending basic inputs to MYSQL DB about 10 times daily. If you can help (or know someone) please reach out and let me know. Also FYI I am not expecting anything for free. Thanks!

1 Like

@mjw I am waiting on my new Mesh stuff to be shipped like everyone else but the PMIC on the Boron is the same as the Electron so we should be able to treat the Boron the same as the Electron as far as solar charging goes.

The code for solar charging should work the same for the Boron as the Electron but some testing will need to be done to verify that. The Boron is a different animal as far as the other components that make it run so it could easily need some code tweaking for the best performance.

I’m looking forward to figuring it all out.

What are ya building if you don’t mind me asking?

@colemanjj Honestly I’ve never had a problem with this. I’m using system thread enabled on photons right now without any issues. I have not been playing with the Electron much the last year to be honest.

I would reach out to @scruffr or @rickkas7 for the most recent best practices on how to deal with the blocking Cellular.connect() function.

Hello @RWB

Connecting the solar panel to VUSB and GND?
Have you tried this with the Boron yet?
Trying to compile the code but get the following errors:

‘class Ubidots’ has no member named ‘setDatasourceName’
‘class Ubidots’ has no member named ‘sendAll’

sendAll() was replaced with just send()
and AFAICT DatasourceName and its siblings were superseded by the Context paradigm.

But that isn’t really what this thread is about. You can follow this thread

I have a Boron but have not tried solar charging it yet. Should be the exact same as the Electron since 5hey have the same charging chip.

@Rftop is solar charging the Boron with success.

I am going to be using the Boron with solar and one thing I noticed in the Boron data sheets are the VIN tolerances for the Boron are much narrower. A recommended operating max voltage of 4.4 V. Compare this to the “recommended” 12 V of the electron. This makes the Electron much more flexible in terms of power supply without having to add extra circuitry.

The Boron can handle the same Vin voltage but try to just use some 6v solar panels for best results.

Thanks @RWB

So I should ignore the docs? :wink:

I’ve got a healthy collection of Voltaic 6V 6W panels.

Not exactly… the docs state the acceptable input voltage on the pin V3v3. However, it doesn’t state anything about the acceptable voltage on Vusb. It only describes how much voltage is available when powering peripherals by USB port. For the absolute voltage rating on Vusb, you have to check the datasheet of the regulator chip. Do your own research, but you should be able to go by the Electron docs. So, yes, go by the docs… do not put more voltage an V3v3 than recommended. When powering the boron by Vusb use up to 12V. I don’t know why they didn’t mark the Vusb pin as Vin since they are basically equivalent.

Boron Docs:

Electron Docs:

1 Like

Thanks @ninjatill

I read the Boron doc VUSB PIN as I should not exceed 4.5 - 5 VDC. I’m still learning how to read the documentation thanks for making it clear.

Hi @RWB. Thank you for your code which I have implemented. I cannot get good quality 6V panels without importing them myself. I can get 12V panels easily. They have a peak power point at 17 V and 21V when not charging. This exceeds the 12V input limit on the electron. I have bought a Control Everything Particle Electron I2C shield which provides great screw terminals for the electron and allows an input voltage range from 5V - 32V. This allows me to use the higher voltage panel. However the panel voltage drops to 6 V which is far below the peak power at 17V. It supplies a constant voltage of 5V to the electron so the electron does not know what the panel voltage is. Is there a way I can achieve the MPPT with this setup? Possibly code or circuit changes? Or can you recommend another approach?

The only way you can mimic MPPT is by using a 6v solar panel unfortunately.

The larger panel should allow you to charge just fine even tough it’s not going to the the most efficient setup going through the control anything 32v voltage regulator.