I have testing sensor node with Arduino.The setup is Temperature sensor + Arduinoboard + Battery + Solar panel + Xbee for wireless transmission. It is placed on outside home. (hot weather).
The sensor node is using 3.7V /6600mAh battery with Arduino (Seeeduino; it is based on Arduino). The battery charged with Solar panel. I am reading Analog Pin 7 for battery value to calculate battery %. I think it is a 8bit resolution ADC (0 to 255).
Generally, I noticed, the battery percentage curve goes higher before it dies. Like 10 to 12 hours before it dies, i.e battery decrease. Usually, if the Sun light is good, it last for many days. If not, the battery decrease gradually and become Low, and increase suddenly for few hours and stop completely. When measure the voltage of that dead battery; it is around 2.8V.
I am not sure, why this sudden increase happens? Is it because of Lipo battery or Arduino (Seeeduino) reference voltage is not accurate when battery is low.
update:
Thanks for the info. You are right: Arduino AREF is default and it is 3.3V. If i understand correctly, Even the battery initial voltage is 4.2v but AREF is always 3.3v.So, battery is below 3.1v and regulator output also 3.1v? Right? But the ADC does not know this voltage drop and always reference from AREF voltage. Hope, i got it correctly.
Another point is is voltage below 3.2 the Zbee stops working, So, there is not much useful even if i add Voltage diver with Zener. Right?