With the battery percentage, that's about what you'd expect. I've attached a the discharge curve I copied from a CR2032 datasheet I googled: http://data.energizer.com/pdfs/cr2032.pdf
Basically the voltage doesn't change noticeably for the first 50% of the battery life (in fact it might even rise!) so it's very difficult to come up with any accurate measurement based on it, especially as the voltage changes far more with temperature (and the amount depends on the exact cell used).
Puck.js's battery measurement doesn't try to do anything smart, it just returns how far the voltage is between 2.8 and 2.2v -so by the time it's registering a drop the battery is already reasonably empty.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
With the battery percentage, that's about what you'd expect. I've attached a the discharge curve I copied from a CR2032 datasheet I googled: http://data.energizer.com/pdfs/cr2032.pdf
Basically the voltage doesn't change noticeably for the first 50% of the battery life (in fact it might even rise!) so it's very difficult to come up with any accurate measurement based on it, especially as the voltage changes far more with temperature (and the amount depends on the exact cell used).
Puck.js's battery measurement doesn't try to do anything smart, it just returns how far the voltage is between 2.8 and 2.2v -so by the time it's registering a drop the battery is already reasonably empty.
1 Attachment