Solar Power


I was wondering if someone could point me towards a good starting point for a solar/battery power solution for an Arduino? I found this: but i’m not sure if this would prevent over-charging or dis-charging the batteries. I’m a new Computer Engineering/Electrical Eng student so the goal here is to learn how/why/what I should do. So any help by some more experienced guys would be awesome! :slight_smile:

I also found this online and seems to be like a good little function:

float read_battery(void) { // Honk, 14 - 11 - 10 (function was totally missing in NG trunk)
  //If lipo is 12.6V and diode drop is 0.6V (res 12.0V), the voltage from divider network will be = 2.977V
  //calculation: AREF/1024.0 is Vout of divider network
  //Vin = lipo voltage minus the diode drop
  //Vout = (Vin*R2) * (R1+R2)
  //Vin = (Vout * (R1+R2))/R2
  //Vin = ((((AREF/1024.0)*adDECIMAL) * (R1+R2)) / R2) + Diode drop //(aref/1024)*adDecimal is Vout
  #define R1 10050 //the smd 10k from battery
  #define R2 3260 //the div resistor user put in (3k3 makes for about 13.5V before hitting AREF 3.3V)
  #define AREF 3.3F //we have used analogReference(EXTERNAL)
  #define DIODE_FWD_VOLTAGE_DROP 0.6F //measure with DMM across D1 (input diode in series with Vin)
  float batteryVoltage = (((analogRead(VDIV1)*(AREF/1024.0)) * (R1+R2)) / R2) + DIODE_FWD_VOLTAGE_DROP;


First of all, it depends on how much current would you draw... If you plan to build projects with large motors, you won't be able to charge the batteries at all. I recommend you find all electronics on ebay, and you will need batteries and solar panels + some kind of "charger" (voltage regulator). For batteries i would personally go for some kind of Li- batteries, but my favorites would be LiFePO4. For solar panels i would pick whatever size you need (depends on space available, power needed, etc.). First you need to calculate the whole thing, to see how big system would you need...

If you can't make such calculations, feel free to post detailed specifications about your system. :grin:

@ xvjeko, ???

If you plan to build projects with large motors, you won't be able to charge the batteries at all.

Why Not? Certainly with the right sized panels and batteries, I should think the OP could run any sized motor.


I also found this online and seems to be like a good little function:

That function reads off the battery's voltage. It doesn't power the arduino.

@ dhenry Don't you think a battery monitor is a "beginning" to a battery charger?. I think that even with your "Lofty" Native Intelligence You really know that code can't power an Arduino... --- I Know, You're Just Testing all the rest of us..


What is your project about?

There are a few kinds of solar panels. It depends on the money you have to spend what quality you can get. From there on you can see how big you can make your solar panels and calculate what power you can get.

The other way is to calculate how much power you need and from there calculate what kind and the size of the panels.

Purchase a 9 volt solar panel from Radio Shack and regulate its voltage to 5v to power the Arduino. Use the regulator LM7805, also available from Radio Shack.

Nope no motors or anything here, Im looking to use a GSM shield, and arduino and a small temp sensor, nothing major or high current by any means. The fucntion i was looking at was a possible way it make sure the battery doesn't over charge or over discharge. I know LiPo's that ive used in R/C Planes are very temperamental about charging and it was something i was worried about with the solar charging being constant.

A GSM module will need around 1,000 mA at times. Maybe more.

Personally I would choose a valve regulated lead-acid battery rather than a lithium one. VRLAs are well suited to continuous float charge and long standby use.

You can charge it with a cheap 12V charge controller or build something with a regulator. I have a solar powered Arduino project and I just use an LM317 adjusted to 13.5V as a charge controller.