Have you ever picked up your Bluetooth headphones, then pocketed a pair of wired headphones in case they run out of juice when you’re out? Do you carry a spare pair of backup earphones as you’ve no real idea of the battery level of your Bluetooth earphones? BatON solves this annoying first world problem.
BatOn fills a clear gap in the Android system settings that will become more prevalent as manufacturers move away from 3.5 mm earphone jacks. This app is simplicity itself and works very well. When you connect to your earphones, a pop-up appears on your phone screen showing the battery level of the connected device. This is followed by a permanent indicator in your notification tray, giving the name of your attached device and it’s battery level. You can dismiss this notification with a swipe if you don’t want it there.
When you open the app itself, it shows you the list of Bluetooth devices you have previously linked to based on your Bluetooth system profile. Once attached, you can refresh the battery reading of the device by clicking on it. This will manually check again for you. I also love the granular level of notification control you have with the app, really letting you set it up however you want it:
There are some limitations, however. It works flawlessly with my Anker Bluetooth headphones (purchased this year), but gets nothing from a Bluetooth speaker I’ve owned for several years. This is due to the data given by the Bluetooth device. If the device doesn’t send data or sends an inaccurate battery level, then there is nothing the application can do. It checks two types of battery reports;
- Hands-Free profile (accept, reject phone calls)
- General Battery Service for low energy devices (GATT profile)
Interested to find out more I contacted the app developer and below are some details he was happy to share (edited for brevity):
My name is Sergey Belov, I am from Russia. I’ve developed software applications for 12 years, mostly web based. I started to develop for Android about 3 years ago but all these applications were for startups that were ultimately unsuccessful.
I regularly ran out of power for my earphones whilst listening to audiobooks and so did my colleagues. I saw that the iPhone shows the battery level of headphones and after a little research I found out that CyanogenMod can do that also. The biggest challenge was to find data sheets for different versions of the Bluetooth hands free protocol. Sometimes this information is very hard to find when looking via search engines and so what I use in the app comes from legacy source codes from GitHub. The other main problem is that all battery information is optional from the manufacturers and they can implement it in different ways or not at all. I’d love to be able to buy a load of devices and test them all to ensure accuracy in my app but I really don’t have a budget for this as the app was only created for my friends and I. I’ve tried to include an explanation of this in the Infomation section of my app to help people understand that it is ‘use as is’ because if there is no information on an attached device it is not the apps fault.
This is one of those apps that does exactly what it says on the tin and does it well. Your experience may well vary due to the unfortunate fact that the app doesn’t perform any measurements itself, it simply reports the data provided from the attached device. As for me, it’s been excellent and I’m sure BatOn will (given time) be appropriated by Google to be part of the system settings. Until that time you can download BatON from the Play Store here.