I am interested in seeing how much "uptime" I can achieve with my Arduino device/project. I am brand new to electronics/robotics, and so I wanted to bounce my idea off of this community first and see if I am overlooking anything obvious/major, or if my overall approach is incorrect.

The idea is simple:

Provide my Arduino device with 2+ "rechargeable power sources" (described next) and then provide a mechanism to route power to any viable (non-dead) power source at any time. While one power source is being used to power the Arduino device, the other "idling" power sources are recharging. The intention is to allow the device to keep switching between power sources endlessly, in perpetuity, achieving 100% uptime (perfect "high availability").

As for each "rechargeable power source" I am thinking an energyShield (rechargeable Li-polymer) backed by a solar panel.

I did some preliminary research and was told that if I were to wire these power sources in series with diodes, then the circuit would always by default draw power from the source with the highest voltage. As soon as another source has higher voltage, the circuit begins drawing power from that one, and the "old source" begins recharging.

I'm a noob but not a fool, and I know there is no such thing as perpetual energy (hence the title "quasi-perpetual"), and I'm sure factors like sunlight/weather conditions/etc. would affect the efficacy of the solar panels, etc. But I guess my first concern is: am I doin' it right? Are there any caveats/pitfalls or considerations I'm overlooking here?

Assuming I'm more or less correct in my approach, the other concern is how to actually implement power sources and diodes in a series, and how to actually rig that all up and connect it to the Arduino board. Again, I'm a total electronics newbie, so I'm just having a tough time visualizing the precise solution there.

And as for determining the actual number of power sources (energyShield + solar panel combo) my device would need, I was just planning on starting with 2, and running the device at max power and monitoring their recharge rates. The more sources I add, the longer the device will operate. Obviously, at some point I'll either reach a point where its uptime is sufficient for my needs, or I'll run out of money. :-)

  • I think you mean "parallel", not "series".
    – Gerben
    May 6, 2015 at 18:24

2 Answers 2


You're overthinking it. Use one or more solar panels, a harvesting IC with sufficient storage, and the bare MCU and peripherals. Use enough panels and storage to run the MCU and peripherals 24/7, and to also charge the storage during the day.

  • As always, thanks @Ignacio Vazquez-Abrams (+1) you are my hero. But as always, I am compelled to ask followups! (1) What's a good way to tell how much storage my harvesting IC would need? (2) Any chance you can confirm that this one is an example of an IC that is compatible with an Arduino Due? And finally (3) Are there any solar panels you know of (from Ada Fruit or wherever) that would easily connect to this IC? Thanks again!
    – smeeb
    May 6, 2015 at 19:07
  • 1. Measure how much power it uses over a day and add 25% margin. 2. Does it match the input specs of the Due? 3. Nope. May 6, 2015 at 19:08
  • @smeeb, your comment links to your own TI basket so doesn't show what chip you meant to mention. May 6, 2015 at 19:57

"I did some preliminary research and was told that if I were to wire these power sources in series with diodes, then the circuit would always by default draw power from the source with the highest voltage."

That is not correct - you need the two sources in parallel with a diode each. Then the higher voltage will become the current source. When the sources are charging, the charge source may become the current source if that voltage is higher than the other stored charge source.

  • Sorry, didn't realize how old the question was.
    – CrossRoads
    Mar 5, 2018 at 17:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.