JUMP TO:

BUY NOW:

  • Amazon.com
  • Backcountry
  • Competitive Cyclist
  • REI
  • Wiggle

My Stupidly Overcomplicated 2021 Bike Mileage Tracking Project

SyncProcess

So, back on Black Friday (Nov 2020), there was a slight deal on Garmin’s V2 Speed sensors, down to $32USD, which can track and store ride data. Which got me thinking – how much does each bike in our family get used each year? No – I’m not talking about our normal sporty road (aka race) bikes that we do workouts on. But our day-to-day bikes used for bike commuting, dropping off our kids at school, etc… As regular readers know, living in Amsterdam we don’t own a car, and do virtually everything by bike.

Sure, I could buy a $15 bike computer and attach it to each to get that summary answer. But I wanted to dig a bit deeper. How much does cycling change throughout the seasons? What’s the average trip length? Does that change on a weekday versus a weekend? And to what extent? Who rides more – me, or The Girl?

Thus off I went to Amazon to order four sensors. Of course, they weren’t actually significantly on sale in any of the Amazon European properties. But it was too late – I was mentally committed to the concept at this point. Click, change QTY 4….Buy now.

image

A week later, those four beauties showed up in my magical smart package delivery box, which in and of itself was a fine example of a typical ‘DCR got distracted’ project. It’s now April, and I started writing this post in December with additions in January and February. So my April the 6th Tuesday morning goal is getting this post completed and in your hands before lunch.

The Setup:

clip_image001

Ok, now that we’ve got the hardware, we’re gonna outfit the fleet of bikes. These bikes are 100% responsible for getting our three kids to school (about a 15-minute pedal each direction), and then to work (10 mins from school) – then all of that in reverse each day.  Plus, every grocery, shopping, Ikea trip, Christmas tree haul, etc…. Basically, anything that involves us going anywhere except the airport involves our bikes. Every day…all day – rain or shine. Snow or more snow.

Our core commuter fleet is basically four bikes:

1) Ray’s Blue Bike: This is the Trek Belleville that I bought years ago, it’s beastly heavy
2) The Girl’s Red Bike: This is her commuter bike that she also bought years ago, it’s basically a tiny circus bike
3) Cargo Bike #1: This has been our main mini-bike-van here for carrying everything from kids to smart bikes
4) Cargo Bike #2: This is another Urban Arrow cargo bike we bought back in December, it still has that new bike smell. Well, it did anyway.

We have a few extra ‘visitor’ bikes that we’ve picked up over the years for friends/family when in town. But given no friends/family have been in town for nearly a year now, and given we never use them ourselves, I’m not bothering with sensors for them. Just the mainstay bikes.

clip_image001[6]

The first thing you’re probably asking is: Wait – what about the normal workout bikes? Like my Canyon road bike, my Giant road bike, my Canyon mountain bike, or my Cervelo triathlon bike. And sure, I could outfit those. But this plan is already stupidly overdesigned, and I didn’t buy 8 sensors on Black Friday…I bought four. And frankly, I don’t really care how much I pedal on those bikes.

The second thing you’re asking yourself is: Why is this stupidly overcomplicated? Oh – I’m glad you asked!

See, the Garmin V2 speed sensor is a normal ANT+ Speed/Cadence sensor that broadcasts out your speed based on inputted wheel circumference, for usage when paired to a bike computer or such. But its secret weapon feature is that it will automatically record every ride you have in the background as you start moving and sync it to your phone via Garmin Connect Mobile. In fact, it can even send that ride onward to apps like Strava, TrainingPeaks, or whatever. Those rides do not have GPS data unfortunately, just speed/distance/time data. Old school style. It’s the perfect sensor for bike commutes, especially where you want the mileage tracked, but might not want the start/end location tracked publicly.

(Still – as I said in my original review nearly two years ago, it would be epic-cool if Garmin would allow you to have the sensors simply start the GPS recording of a ride on your phone when it wakes up as you start pedaling. Sadly, it doesn’t do that.)

Also sadly is one other quirk: You can’t specify a given bike profile on Garmin Connect. Meaning, in my little ideal world, I’d take those four sensor sensors above, and pair them to my own Garmin Connect account/app, and it’d sync the past rides as the bikes were nearby and used every once in a while. Anytime it connects, it’s actually syncing the previous ride, rather than the current ride (since it doesn’t really know the difference between you stopping at a stop-light, versus you ending a ride – until it finally self-powers off).

But because you can’t specify a bike profile, all of the data would fall into a single gigantic bucket. Making my analysis impossible. In fact, making anything usable impossible except tracking total mileage for everything in a given account.

Initial Data Collection:

So the first step to my bike path towards data enlightenment was creating Garmin Connect accounts for each of the bikes in our stable. For now, I just started with two additional accounts – one for each cargo bike, because little red and big blue (the non-cargo bikes) aren’t seeing any usage right now with snowy weather (yes, it snowed today – April 6th), as we’re just using the cargo bikes as our main bikes. After all: Why limit how much junk I can carry around?

image

Now, I did that back the first week of January, that I had missed a few days of automatic data, so I manually backfilled those distances in on each bike. Given it was just to/from the office, it was pretty easy to do – since I know that distance incredibly well.

Then I was on to the next problem: Pairing the sensors.

I started off by logging out of my regular account on my phone and into the new accounts, and then individually pairing up each bike sensor to each Garmin Connect account – ensuring the wheel sizes and such were all correct:

clip_image001[10] clip_image001

Then, I went about logging out and doing the same thing for the next account.

But this immediately presents the obvious issue. The Garmin Connect app can only be logged in with one user at a time (logical in 99.9% of the situations). But in turn, each time I logged out, it actually deleted those sensor pairings from within Garmin Connect Mobile.

TLDR: I couldn’t just use my main phone and have it paired to all the sensors and have it sync to each account. I’d either need to use a pile of phones, or Android or iOS emulators sitting on a computer to handle all the accounts.

I initially went down the emulator route, but turns out none of the emulators I’m aware of support Bluetooth Smart accessories. Thus, I’m stuck with having to use real hardware. The good news is that like most citizens of the year 2021, I have a pile of older phones in a desk drawer. So, I cleaned off an iPhone 7 and then realized my main iPad in the Studio could double as a Garmin Connect mule as well. It’s always floating around for apps like TrainerRoad, Zwift, etc…

Then, I re-paired up the sensors to the bikes on those devices:

clip_image001[6] clip_image001[8]

And at this point, I was in business. And by business, I mean, the business of having a Garmin Connect farm sitting at the DCR Cave. The phones would quietly sync in the background each time a bike arrived. The way the Garmin Speed 2 works is that when it’s in range, it’ll offload data from the previous ride(s). Here, you can see the distance best illustrated:

SyncProcess

Despite that gap, the sync between the bikes and the upstairs actually works astoundingly well. Normally the tablets/phones sit on a charging spot just inside this window, and the bikes get parked outside the main garage door. It syncs seamlessly most days – as long as the iPad is at the charging spot. But if the iPad is on a trainer desk, then it’ll catch-up eventually. Here we are in April, and this is working super well.

The Beginnings of Data:

image

Now with that all set, I’ve got the beginnings of my data set in Garmin Connect. You can see an example above, in miles, for one of the bikes, shown on a weekly basis. As one who rarely uses the ‘Reports’ section on the Garmin Connect website, I was reminded by how limited the options are for date ranges. I can only choose 7 days/4 weeks/6 months/1 year. Why can’t I just choose the date range I want, with filtering at the day/week/month level (like a date range)?

In any case, here’s Cargo Bike #1 thus far (obviously, April just started 6 days ago):

image

And Cargo Bike #2:

image

In any case, in January and till mid-February, the schools were closed again for COVID reasons, which then reduced the daily distances and times dramatically. A typical morning for me is a 12-14 minute pedal to Peanut #1’s school (13:10 below), followed by a 5-8 minute backtrack to Peanut #2 & #3’s school, followed by a 3-4 minute pedal to the office. Sometimes faster, sometimes slower, depending on the lights. Or sometimes with a stop along the way at a bakery or such – as was the case Wednesday, when you can see the 3:20 & 4:40 times below (the 5-8 minute ride split in half for a bakery stop).

image

Yet, here is last Friday with a bunch of errands, including Ikea by bike (out quite a ways). Cargo Bike #1 (this one didn’t go to Ikea):

image

Cargo Bike #2 on Friday (this one went to Ikea and a few other places):

image

As of this morning (a touch over three months in), I’ve tracked 367 rides on the newer cargo bike, and 274 on the older one. This basically puts us on track for 2,500+ cargo bike rides this year alone (it’ll be higher, because January/Feb were COVID-school closure impacted).

clip_image001[8]

The point of this whole thing though is that long term I can look back at the entire year and see how, essentially, the weather impacts our bike usage – both in bike choice, but more likely, trip duration. Even at this point, I’m already seeing some super interesting trends tied to average speed – but I’ll save that for the end of year report.

The weekly commutes won’t change much of course, but the weekend bike journeys will. In the summer we’ll often cargo bike out to the beaches (a 75-90 minute trip each way), or spend hours meandering around the countryside. Plus, we just get out and about more often to parks and such when the weather is more enjoyable to be outside.

At the end of the year I’ll circle back with the final numbers. Purely for fun and my curiosity. Plus, we’ll dig into whether or not this overly complex setup is still working, and any issues I’ve had along the way.

With that – thanks for reading!

Post a Comment

Your email address will not be published. Required fields are marked.
If you would like a profile picture, simply register at Gravatar, which works here on DCR and across the web.

You can click here to Subscribe without commenting

Add a picture

*

45 Comments

  1. Cédric C

    Hi Ray, you can select a custom date range with the ‘progress summary’ report although it’s a lot more limited than the other reports.

    • Interesting. Though, I then lose the charts and weekly/monthly granularity. But, I do gain better summary information.

      Good to know!

    • Martin Mortensen

      You can “Group by Week/Month” in the progress report and it actually follows the calendar instead of just being 7 or 4 weeks.

      I always use that page to see my overall progress (for example average running pace per month)

  2. Matt Wakeman

    Hey Ray –

    Has anybody set up a Strava-tracking tool, so that this could be done from a Strava account?

    I’ve looked at Stravagear.com, but it seems to fail at authentication validation… You could probably get some good temperature, elevation, and other data in there too…?

    • The problem is the lack of identification of data source – meaning, I can sync this to Strava, but there’s no way to know which bike is which from the difference sources.

    • Matt Wakeman

      I figured you probably had a reason ;-).

      It’s pretty simple to go into Strava and update the gear for each ride. Maybe that doesn’t scale for you at this level?

      I wonder if there’s another option for the rest of us who manually update most of our Strava rides with things like titles, gear, and photos. Any suggestions on how to do it in Strava – I know I’d love to hear it!

      Thanks – your posts are always chock full of interesting and entertaining stuff!

  3. Stephane

    Did you consider pairing all the devices to the same account and then, when you are ready to do analysis, just request an copy of your data (fit files) through link to garmin.com. fit files contains the serial number of the device that created the file. Then run a script dumping the data you want to csv/excel

  4. I have one of the Garmin sensors on my road bike and I have found its offloading of data to be spotty at best. I can go for a couple of weeks without it syncing at all, and then it will randomly sync maybe one ride from a week ago and nothing else. Odd.

    • So I’ve actually seen that too, when the iPad ends up being too far out of range for a while.

      The exact specifics are interesting though. Basically, when it gets a huge backlog of data (like a couple weeks as you mentioned), it seems to do offloading spurts. Meaning, it’ll work from oldest to newest, in what seems like 2-4 day chunks of data. What I don’t know is if the chunks are based on the quantity (#) of activities, duration, file size, etc… as it does seem to vary.

      It’ll eventually catch-up, but the silly-easy/instant way I’ve found to force-sync them all is actually just close and re-open the Garmin Connect app. It’ll show the sync icon animation, and then it’ll do a dump of its preferred size, before pretending it’s done. Simply swipe to close GCM and re-open it, and it’ll do another dump. Rinse, repeat till complete.

      I’ve been meaning to ask the nuance to why it does that (if purposeful), or, if just a silly bug.

  5. Mitch

    Awesome. I track all my rides via Strava and manually change the bike I was on (Road1, Road2, Road3, CX, Commuter, Nihola e-Trike), but that doesn’t seem to let me do any analytics around individual bikes. What I’d really like to do is hook up the e-Trike’s power output to a bike computer and see how many watts I’m saving my legs with the battery.

  6. Bernie

    N+1 bikes, LOL
    Great stuff Ray!

  7. Przemek Siemion

    This post will cost me money. I was also thinking about similar thing for our cargo bike.

  8. Dave Lusty

    You may want to look at this demo I wrote to automatically get hold of weather data very cheaply. You can then blend it in with the bike data in something like PowerBI to get those trends automatically…
    link to github.com

    I remember when odometers on bike computers were a standard feature, I really don’t understand why Garmin don’t make an ID tag for bikes to record this stuff in the fit file!

    • That’s cool!

      And hmm…I suspect I could make this silly over the top complicated.

      That said, I also suspect without me tagging the trip purpose somehow, much of the nuance would be lost. For example, today the weather was craptacularly bad. The amount of cargo-bike time was lower, but not because the weather was bad, but simply because P1 didn’t have school today (while P2/P3 still did).

    • Dave Lusty

      Oh I have a demo for that too, you can make an HTML form to enter the trip reason quite easily, an HTML form can submit directly to a POST API in a logic app (these cost about 1 cent per thousand runs…). I also have a drag and drop form to throw files into cloud storage such as photos. You’d be surprised how nerdy I can get! You could make this extremely geeky using ML to find the patterns too so the machine could just tell you which bike you’d take on a given day and conditions.

      Full disclosure, I do work for a vendor so I’m pretty biased on the tech, but all the clouds can do this in similar ways

    • Dave Lusty

      We could also use the GPS track and wind direction to determine how much you hate cycling into wind. I’d actually bet you money that we could extrapolate drag factor from these two data points 😉

    • Daryl

      I thoroughly enjoyed this post and shared with a few friends. My vote is go for silly over the top complicated. 😉

  9. minimaL

    Interesting project.
    Is it possible to upload the speed sensor by default that it will only be visible for myself ( i.e. that forerunner/edge will be uploaded/synched publicly? Or is this a general garmin connect setting?

    I would like to prevent to spam by followers on GC/Strava with a daily load of short activitities.

    • No, there’s no per-device privacy setting on Garmin Connect. I wish there was, as it’s ultimately why I disconnected the sensor on my cargo bike a year ago from my Garmin Connect account – it just kept dumping all this data into my Strava account. Even though I have everything on Strava set to private by default, it’s just too much.

  10. Robert

    It’s fascinating to see that such a simple endeavor – tracking usage by bike – gets so complicated, even with the existence of a wide ecosystem of data gathering and analysis tools. All the apps seem to be all about the user…
    This said, I wonder if you could get something like Golden Cheetah or SportTracks to assign different activity categories to different sensors, giving a means to split them. I know SportTracks does the opposite – assign default equipment to each activity, so if I say a bike ride was a commute, it will pick the bike associated with that; I just don’t know if you can do the reverse.

  11. kepa

    Hi there.

    I do commute bike-train-bike on a daily basis. I purchased this unit for your same goal (albeit for one single bike, one single GCM account, should be easy peasy).

    Yet, as of today, I am out of hope. 2 years after, the warranty about to expire, I have lost all my hope of ever getting any results.

    – Phone sync has worked only 2-3 times on 4 different phones (all Android, though). I have contacted Garmin France and they state that this unit can’t be used without a head unit. And thus they closed my warranty claim. When I tired to explain, the referenced me to their website and the product description. Crappiest customer support I have ever gotten.

    – I had an old Bontrager ANT+ unit sitting on the garage, so I thought that could do the trick. However, after 3 months of weird weird numbers on the computer, I figured out that despite the fact that the bike stays still on the train, the Speed sensor things is going super fast. A 20 km train ride sometimes gets translated into 80-90 kms for the Garmin unit (whereas it should say zero, as no wheel turning is really happening).

    So I basically gave up on my project for the time being, until I have another job and maybe GCM gets better BT downloading from the device on any unit.

    Enjoy the rides.

    pd: Maybe because I have a lot of data waiting to be synced, if I am lucky connecting the device with GCM, it states “syncing” status for about 8-10 minutes and then stops and no activity has been downloaded.

    • dave_arbuthnott

      I have a similar story, single commuting bike with a speed sensor and a lack of reliability with syncing to a phone. Garmin support here in the UK was equally useless with saying the speed sensor can only be used with a headunit. I’ve also somewhat given up on it but maybe I need to give it another try…

    • kepa

      Great to hear I am not alone in the world 😉

      I think I am going to spend another 2 hours for my last try with this thing before it goes into the useless purchases bin forever.

      Have fun!

  12. Jonathan D

    I wonder if there’s a way to get a couple of Raspberry Pi Zero W’s in there. Maybe install android on them and then Garmin Connect that way.

    Just thinking of ways to increase complexity for you.

  13. Augsburg

    I use a Wahoo Elemnt and my wife the Wahoo Roam. We have thousands of rides over the last few years recorded on the Wahoo devices and synced to Ride with GPS. The Ride with GPS app defaults to a particular bike (you can save several bikes in your account). If you ride a bike other than the default, you need to go in and edit the ride data in the Ride with GPS app, or on their web portal. The miles are then saved for each bike, and you can notate comments for each bike – like when you perform maintenance – like changing brake pads.

    The main point is that in this brave, new, #carfree world, many of us have several bikes. My wife and I have our main bike (Riese + Müller), share a Bullitt cargo bike, and then also share a Gazelle as a back up. The ride apps need to catch up and do a better job of accommodating multiple bikes – cycling is not just a sport.

    As an aside, we find the Wahoo Elemnt and Roam are pretty flawless in connecting to speed and cadence sensors and an HRM. (We use both Wahoo and Garmin speed and cadence sensors and Wahoo and Polar HRM’s.) The automatic upload to Ride with GPS is automatic too.

    • Indeed, I’d have loved it if the Garmin/whomever app, simply detected the wake-up of the bike and started a GPS recording track in the background. Would have been super cool to see heatmaps over time.

  14. David

    I really like this plan. I wonder if a raspberry Pi could be used to scrape and post the data ? A pi can run android natively link to pimylifeup.com and has the bluetooth hardware so this might be a simple cheap way to have a data collection app going

  15. Nathan B

    I feel like this should be so much simpler in the Garmin Eco System.
    Why can I not just associate a profile on my Edge/Fenix device to a sensor group and bike?

    Eg, when I select “MTB” it doesn’t look for and connect to my Vectors which are on my road bike?
    If I’m putting my HR strap on and syncing with GPS for a run, don’t connect to my Tacx trainer in the next room.

    • Robert

      They (Garmin) moved away from this a couple of years ago with the “sensor pool” concept for all their devices. So each recording device has a list of sensors to be used for all activities (and on all bikes). And now you must be careful not to wake up the power meter on the “other” bike when going for a ride, and so on. Simplifies pairing sensors, makes life simpler when you have 3 HR straps and never know which one is which, but goes against the track-by-bike concept.

  16. Brent

    Think it is time to make connect on iPad, truly an iPad compatible app!!!!! 🙂

  17. Hi Ray,

    I suppose with all your secret service contacts you could easily get access to Garmin’s API? AFAIK their API exposes the original FIT file, so you could use a single account and then just sort out the actual gear based on the device IDs used to track the distances. Going the API way you could also play with some other metrics, weather data etc.

    I actually did my own automation thing for Strava as well, but in my case it was mostly just selecting the correct gear based on activity properties (speed, location, etc), and tracking specific components mileage to alert me when it’s about time to replace them.

    It’s free and open source 🙂 https://strautomator.com

    Igor

  18. Luke Selby

    Its amazing to me (and apparently to everyone else) that you can’t teach garmin/strava/whomever that you have 3 bikes, and however many sensors, and that when they see this sensor (speed, head unit, power meter) that automatically means you rode this bike. I’m too lazy to change the “default” bike for different garmin / strava rides, but it shouldn’t be that that hard to be taught that the power meter is on this bike while the speed sensor is on a different one.

  19. Augsburg

    I think it is important to realize this “problem” in the use of our bike gps is not a technical problem. It a a problem endemic in the bicycle industry, where the mindset of industry insiders too often limits the the thinking of how bicycles and their accessories are used by today’s cyclists. As long as the cycling industry continues to promote cycling only as a sport and only hires road race oriented personnel, we will face continue to face these limitations. Only when the composition or the industry better reflects their customers will the problem be addressed. See this video to illustrate: link to youtube.com

    As an alternative, look at what REI has done the past few years, where they have taken great effort to diversify their marketing and product line so they are no longer only accessible to a few hard core mountaineers and hiking enthusiasts.

  20. Hubert

    Well, the most impressive would be to actually finish the year with all the bikes still in your possession, none of them stolen 🙂

  21. Ortwin De Witte

    I think I’m getting this overview by combining Strava and Veloviewer ?

    • Yeah, but only if you manually tag every ride after the fact and which bike they came from. Realistically, that’ll never happen for the volume of rides. Also, I don’t really want all these tiny 400m long rides to a grocery or whatever cluttering my Strava feed. :-/

  22. don rhummy

    > TLDR: I couldn’t just use my main phone and have it paired to all the sensors and have it sync to each account. I’d either need to use a pile of phones, or Android or iOS emulators sitting on a computer to handle all the accounts.

    That’s not true, if you have an Android phone you can still it (is a pain). You can create multiple users and actually have the same app installed for each and they’ll be fully isolated from each other. Of course, you cannot run both at the same time, but you can switch back and forth

  23. Magnetless sensors – it’s a BULLSHIT

    On photo Compare magnetless Garmin vs O-Synce (magnet)

    Use Google.Translate for read full theme link to forum.velomania.ru

    • Yeah, as I said on your other post – something is clearly wrong with your setup. Be it something in the wheel hub, something in the sensor, battery, whatever else. It’s certainly not normal. There’s years of data from tons of people and none of it looks like that. All of mine looks spot-on perfect across more of these sensors than I care to admit I’ve bought over the last few years.

  24. Augsburg

    We are no where near in DC Rainmaker’s league, but we’ve owned at least 30 speed and cadence sensors for various bikes over the years. Sensors by Polar, Wahoo and Garmin – both magnet and “magnet-less”.

    The magnet sensors would lose the magnet, or more often, the magnet sensing piece would get knocked out of alignment. The magnet-based sensors were a constant hassle.

    We’ve used magnet-less, Wahoo or Garmin, speed and cadence sensors the past 3 or 4 years, and they have been flawless. We change the batteries every 6 to 12 months, and that’s it. They always connect and record good data.

  25. Luc Theriault

    Two Urban Arrows!? I’m very very jealous.

    If I lived in a land where temps didn’t fall below zero for a quarter of the year and I had a big enough shed, I’d buy one in a heartbeat. Sadly, space and weather limits me to a cheaper and easier stored cargo bike solution.

  26. TC

    “Are you an Urban Arrow owner and do you still have a bike with red seat straps? In that case we would urge you to make an appointment with your local authorized Urban Arrow dealer to get them replaced with black seat straps.”
    link to urbanarrow.com

    I am not sure if it is relevant for you, but I just read that and I thought I’d share.

    I also have an interest in ‘data science’. The statistics you’ll get out of this seem interesting. Depending on how much extra information (destination, rider, cargo, …) you have for each trip, these would be interesting:
    – average speed per destination (perhaps destination can be determined relatively accurate by distance and time of day?)
    – distance per day compared to amount of daylight (sunset – sunrise, link to timeanddate.com)
    – distance per day compared to amount of rainfall/sunshine (see the KNMI hourly data: link to knmi.nl)
    – distance during daylight vs distance during night
    – …

  27. André Berger

    This is really interesting, and something I have been thinking of doing myself.

    A few years ago I took part in a scientific study which wanted to find out if people cycled more if they got paid a little for every km they did by bike. For that study I used a Dutch app (Sense, made by DAT mobility) used for mobility surveys that ran in the background on my phone and automatically tracked my movements. It also recognized if I moved by foot, bike or car. I’m thinking something like that could work for this kind of experiment, but then you would need one phone per bike, or manually edit each trip to add the bike that was used. Maybe fleet managing software made for businesses that can track multiple vehicles are the way to go, but that’s probably far more expensive…

  28. Mpedersen

    Unfortunately, I also saw this as a great way to log cumulated kilometers, but like so many on the internet I had the same experience with the sensor; the connection is flaky, transfer does not work, errors with Transfer cancelled by app keeps popping up. Reconnecting, restarting garmin connect etc has no effect. I can only conclude that it is basically useless and surprised that garmin has out their name on it, everything else I have had from garmin has been great quality.