I have a WeatherShield along with an Xbee Shield stacked on an Uno powered with a single-cell lipo, charger, and solar panel. When the battery voltage is 4.2V or so (fully charged), the Arduino thinks it is 20V. My project is based off the Wimp Weather Station code (https://github.com/sparkfun/Wimp_Weather_Station). The only thing I added was sleep cycles and removed the features I won’t be using (rain and wind).
Battery output is hooked into A2 and I verified that voltage on that pin matches the battery. I verified the 3.3V reference on A3. Arduino is getting power from the battery/solar board (hooked directly into the 5V pin).
Everything works great, except the battery level reading. Any ideas on what’s going on? Do I need to tweak the values in the get_battery_level function (say the 4.90 multiplier)?