Low Battery warning - visible to user

Given that a low battery voltage can cause problems; (a) cannot re-program, (b) dim LEDs (esp blue), © no visible sign it’s “on”;

Thoughts I had on providing a visible warning to the user that the battery is low:

A “Super long press” (e.g. 10 seconds) and the BlinkOS lights up LEDs to indicate the battery level. Six LEDs (all lit) - full battery. Zero LEDs - dead battery. LEDs 1-5 are battery levels. Anything below 3 LEDs lit is a low battery.

Another thought (perhaps counter intuitive) is to have the BlinkOS (during idle times - no sketch running) periodically flash some patterh to indicate a low battery (< 2.5v). E.g. for a few minutes post playtime (and idle) - flash some sequence every 10 seconds if low battery. This handles the case where the user does not initiate the check.

This assumes the Blink can detect voltage accurately enough. From browsing the core code, it appears the ADC (uses Josh’ battery fuel gauge?) could provide a voltage reading.



While I think it could be nice to have an option to see the level of the battery, I am currently of the camp that it is simply important to know when to replace the battery. In this case, my thoughts are that the Blink should enter a state of signaling low battery and actually not allow for any other functionality. I think using a Blink with poor communication or lighting is a subpar experience, so might as well prevent the user from playing with those hindrances. Thoughts?

Yeah, I agree. It also makes Blink support easier since you would now easily diagnose support requests related to low battery…

Looping in @bigjosh. We have some higher programming priorities but this feels important :wink: maybe someone will take a swing at implementing the most basic of battery indicators. We can make the roadmap for the API more public as well, so people can know what we’re focussed on and which areas can be deligated to the community. We of course are on board to support the process :smile: