One thing that always frustrated me was the “silent” battery death. I’ve had my front derailleur or power meter die mid-ride one too many times because I left for a 4 hour ride with 21% (not triggering the built in head unit alert) and forgot to manually check the status on my head unit, and most platforms don’t surface this data clearly over time.
I decided to build a small service called Velo-Volts to solve this. It’s a free, community-oriented dashboard that monitors the battery health of your electronic gears and sensors automatically based on your individually configured preferences.
How it works: It pulls the .fit files directly from your uploaded activities. Instead of just seeing “Battery Low” when it’s too late, it tracks the status across every ride so you can get notified when and how you want to.
Auto-Sync: Supports Garmin Connect and Wahoo Cloud syncing.
Flexible Flow: You can also sync via Dropbox, automatic email forwarding, or API/manual upload.
Sensor Support: Di2, SRAM AXS, Power Meters, HRMs, Radars and more (basically anything that writes battery status to the fit file and i’ve seen so far).
Progressive Web App (PWA): In addition to push notifications on your computer or email alerts, we also support adding Velo Volts to your phone by adding it as a PWA, allowing you to get real time push notifications by mobile as well.
Privacy: I built this for the community, so I’ve kept it lean. No trackers, just the data sharing needed to show you your battery status.
Any feedback you have would be valued:
Are there specific sensors you use that aren’t showing up?
Is there something that you find extremely confusing in the application?
Any other “hidden” fit file data you wish you could see in a simple dashboard?
It’s totally free to use. If you have a spare minute to connect your Garmin/Wahoo and let me know if the data looks right, I’d really appreciate it!
I like the idea but, unless I’m missing something, what’s holding you to use Intervals.icu for this?
If the info is in the FIT file, Intervals Custom Activity Fields could be used. You probably discovered some of those un-named fields and that info would be welcomed here. And at least one other dev is looking to get as many details as possible for all those hidden/unnamed FIT file fields - gotoes.org has now the possibility to show all those fields, but there is still a lot to be identified.
You could certainly use the Intervals API to pull the FIT files from, Intervals already is connected to a lot of platforms and that should make it easier for your app if you can get all the FIT files from the same source.
You mention HRM’s but screenshot isn’t showing one. Just to be clear, it can show battery voltage from a Polar H10 strap?
Gonna give it a try and I’ll report back with other comments.
Here’s a screenshot of ~1/4 of the existing fields in a Garmin FIT file detected by gotoes.
Could be useful but the Dropbox sync does not work unfortunately. And will it recognise the compressed file format fit.gz that Intervals uses for back up?
Thanks for making me note the compression, the main focus has been to directly integrate to wahoo and garmin to provide a seamless experience outside intervals.icu as well! But i’ve now gone ahead and squashed the bug you were encountering during your onboarding, and also added support for consuming the compressed backup files from dropbox backup, in parallel to the pure .fit files!
The main thought about creating this as a dedicated no-configuration service, is to open the functionality to a broader community than just intervals.icu users.
This approach specifically allows notifications and channels which intervals.icu does not, providing users with real time feedback, when they need it, and not when they have time to sit down and log on intervals.icu, which is something that me and my local community has had ample real world need for, i.e. arriving after the morning commute, but not realizing that you are going to be running on fumes for an extended trip back in the evening!
I would for sure also consider looking at the intervals.icu API for syncing but for now we have identified the primary channels as beeing Wahho and Garmin for whom we can tailor a quiet good experience and rely on the quality of the data, as opposed to Strava and other alternatives.
In regards to the Polar H10 we do see support, though the sensor output is rather primitive, and not an actual percentage. We go ahead and convert it into a percentage on the platform though, as to fit it into the threshold configuration framework.
As for the hidden fields here it is something that we will need to monitor at a slightly bigger scale before we can look at any specific manufacture support, we do see Polar H10 providing one of these for example but it would require quiet individual testing to confirm across multiple samples.
This is really cool! I setup the app straight away and it mapped all my devices: 2 power meter, SRAM gear, 1 cycle computer, 1 radar and 1 HR band!
Can you also add Stryd? It really annoying start running and figuring out the pod is running out of battery!
I’ve been investigating a bit, and cannot initially see that Garmin Forerunners seem to record sensor details on the same level as cycling computers sadly. But I have only looked at samples with HRM. Perhaps you can provide me with samples of your use case by sharing a .fit file with Stryd details and what ever recording device combo you utilise on that end!
@Miguell 's awesome Battery Status mod Custom Activity Field (adaptation from previous Tw_W_'s one) Gives sensor Battery Status and sensor Battery Level if implemented at watch, sensor and fit file level (unfortunately many manufactures do not implement all the features).
In your case
For Suunto Race watch, Suunto does not implement reporting Battery Status or Battery Level, even with Polar H10 having both and Stryd having Battery Status only
I will do a test with the Sryd & Tymewear HR & breahting sensors later but below is a previous workout where I was using a Stryd, Garmin Epix 2 Pro & a Garmin HRM Dual. It looks like the Stryd did not report battery status or Garmin did not record it.
This is the FIT downloaded from the Stryd itself (Powercentre) for the same run. It names the watch & the make of HRM.