This post is out of date.

Please head over to our updated Solar for Arduino guide for more information. 


Solar for Arduino Guide


The original blog post below is from May 2010. Please visit our Solar for Arduino Guide for the most updated information.

We get a lot of questions about how to run an Arduino off of solar panels. We decided to do a bit of testing and came up with three pretty simple ways to run an Arduino even if you aren’t near your computer or an AC plug.
Direct to a Solar Panel – We plugged our 2 Watt, 6Volt panel into the Arduino’s 5.5mm x 2.1mm DC Jack via our 1 panel circuit box (don’t be mislead by the 18V in the title of the circuit box, if you connect a 6V panel, it is going to output 6V). On a hazy day and through a screen, it lowered the basic blink application. Of course, this will only work when there is sunlight and your application can work with extended downtime. The circuit box set has two outs so you can send power to another part of your application if needed. The panel is also available from Adafruit.
A 5Volt Battery with a USB Port – There are a number of battery packs out there with an integrated USB port. Our 3,000mAh V15 USB Battery Pack connects to the Arduino via a USB A/B Cable. It is also included with many of our portable solar chargers. The major downside is that there is a one hour shut-off in our battery if the load is drawing less than 50mA. This is great for preserving battery life in the pack but not great if you need to run the Arduino for over an hour. You can restart the battery by pressing the Power Button.
USB Battery powering Arduino
Solar & Battery Hybrid – We were pointed towards these Tenergy Lithium-Ion Cells (3.7V 2600mAh) and this smart battery case (puts two Li-Ion 3.7V cells in series) by office neighbors Breakfast NY. We connected three of our 10Volt panels in Parallel with our Generator circuit box (As an alternative, you could wire two of our 2.0 Watt, 6Volt panels in series to charge this configuration), connected the circuit box to the Arduino’s DC Jack, then connected the second out from the circuit box to the 2 Li-Ion cells.
The circuit box has a blocking diode which prevents power from draining from the batteries into the panel. When the sun goes down or is obscured by clouds, the batteries will kick in and provide power to the Arduino. When the sun is up, excess power goes into the batteries for later. Both the batteries and the battery case have built-in protections against overcharge and short circuit which simplifies the amount of supporting circuitry you need to do.

About The Author

13 Responses

  1. Rich

    I bought a load of solar-powered LED yard lights at Lowes last year for cheepcheep. They have a little solar cell and an AA battery in them, and some kind of charging circuit I guess. I was thinking to do something with them to make them more interesting than a yard light, it might be possible to rig up something to charge the batteries and run the Arduino for some time.

  2. Mark

    How does the solar/battery hybrid option work in that configuration. It would seem there would be some sort of short. Is the arduino getting 17.4 volts (battery and solar panels) in sunlight? Or does it somehow switch between charging and powering the arduino when there is no sunlight? I realize that is what the article says, but don’t you need some sort of circuit for that? If I understand right, there is no blocking diode on the Second Out of the circuit box, only the Battery Out?

  3. admin

    The arduino would be getting around 7.4V as the panels and the battery are in parallel. The panels drop down to 7.4 Volts when connected to the load. So in sunlight and in darkness, the output to the arduino should be *roughly* the same.

    The blocking diode in the circuit box sits between both outs and the panels as we didn’t want any battery connected to the panels to drain.

    We recognize that this is not the most sophisticated circuit. Our batteries have lots more going on: separate power ins and outs, overcharge protection, short circuit protection, boost circuit to deliver constant voltage, etc. Our auto-shutoff on our USB battery eliminates it as an option for longer term use, however.

  4. mar


    Could you please tell me which circuit box you are using in the Solar & Battery Hybrid example?

    I’m a little bit confused how you are connecting the battery pack to the circuit box?


    • admin

      Sorry for the later reply. I think we talked about this on the phone, but you should probably use the 3-panel or 4-panel circuit box as they have the right output (5.5×2.1mm). You could use the 2-panel as well, but then you’d need our 5.5×2.1mm adapter to connect to the Arduino. /jeff

  5. Peter

    Hi does it matter witch outlet “Battery/Prwer Out” gos to what? or they are the same ?


    • admin

      On the last Arduino, we used there were two “Power In” ports: a USB B and 5.5×2.1mm female jack. It may depend on the software of the latest versions, but we connected from the solar panel to the 5.5×2.1mm jack because it was easier. If you test on both with your Arduino version, do you want to let us know the results?

  6. JZ

    What about a long term installation for reading a remote water pressure gauge out on the farm?


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.