Project to enable Bosch + Garmin integration

@slavio did you already receive the new update for your bike?? I thought this would be released tomorrow only (May 4)

I'm still on Flow App v1.34 so NOT the version with 120Nm. It looks Bosch must have included already the Garmin intetgration in that release. The trick that allowed me to connect Flow app with Edge was the latest beta update for Garmin Edge (v31.23) which was released on 1st May

 
Last edited:
⚡ EMTB Pro Go Pro — exclusive discounts & ad-free Peaty's 25% off & more · Ad-free browsing · Pro badge See the deals →
1000055239.webp

I got it working eventually but the pairing was very unreliable from the Bosch flow app side. It was also very difficult to get the Garmin to download and install the beta, I had to connect it to my laptop and get a previous update installed first.
 
It also took me several tries to pair Flow app with Garmin.. I kept on getting these messages in the Flow app to check if my Garmin MAC was the same as in the Flow app but it didn't actually show any MAC address in the Flow app. After couple of tries it finally clicked and paired succesfully
 
@ATeam I've just updated the github repo with a new version of the Arduino sketch. I didn't have any issues with the connection on my ride today so let me know how this works for you. Thanks for the info about reverse charging from the phone, I've updated the README to include that.

 
Forgot to mention in my previous post, but as @slavio already found out, the Bosch Garmin integration only works with beta firmware installed on your Garmin device.
 
Last edited:
@ATeam I've just updated the github repo with a new version of the Arduino sketch. I didn't have any issues with the connection on my ride today so let me know how this works for you. Thanks for the info about reverse charging from the phone, I've updated the README to include that.

Thanks @HexagonSun , I have already uploaded it to my bridge and will test it tomorrow in the evening. In the meantime I have also seen that the Pixels seem to have some issues in the Bluetooth stack, so this might also be a reason for the dropouts that I experienced today.
 
I just signed up for the beta program for my Edge Expore 2, but - as to be expected - there is no new update to version 31.23 available yet, it is still on 30.19
I'll let you know if there are any new developments in this regard
 
I just signed up for the beta program for my Edge Expore 2, but - as to be expected - there is no new update to version 31.23 available yet, it is still on 30.19
I'll let you know if there are any new developments in this regard
Do please keep us posted as I thought the syncing didn’t work with the edge explore. The cheapest compatible Garmin seems to be the 540.
 
@Rockhopper70 for sure I will. From what I have seen there is still hope. Explore 2 as a more or less up-to-date HW platform, but receives new features usually a bit later. Lets keep our fingers crossed and see...
 
It took me a few on and off of my Garmin to get the latest beta firmware.

Now when you search for sensors you can search for a Bosch e-bike in the e-bike section.

Hope to get a ride into today to test.
 
@HexagonSun I went for a 3h ride today and had no issues. I noticed two times the message that the sensor was reconnected, but this can be neglected
Thanks for the new version of the sketch 👍
Just had a quick play around. I have the Garmin beta firmware and can search for Bosch e-bikes in the sensor search.

How do i pair in the flow app? I can’t see an obvious option?
 
My Garmin Edge 540 is now beta enrolled, and I have the firmware 31.22, so it should be able to connect to Bosch eBike.
Following the instructions of the video above (thanks Manchesteremtb!) I went to settings -> sensors -> add sensor -> eBike, but there is no Bosch eBike... Only Shimano eBike and Other. Under other it just tries to find an ebike in the vicinity. Unfortunately my ebike is not nearby; I'll try to test this tonight and revert tomorrow. Fingers crossed!

Edit: I kept trying to update the firmware, now I have the 31.22B. However still there is no Bosch eBike selection... I'll keep searching for updates...

Edit2: Finally i got the firmware 31.23, and now the Bosch Smart System eBike option came up under the eBike section. Feeling optimistic!
 
Last edited:
I am gutted my trusty edge 530 isnt supported by the new garmin / bosch firmware.

I am just glad this smartbridge solution is here. I am going to order the bits and give it a try thanks @HexagonSun
 
I similarly am keen to get this working on an older Garmin Fenix watch. I've just downloaded the app, got it connected to my eBike, quickly span up the pedals and was getting data come through the log (although cannot make sense of the CSV file but it wasn't all 0's). I will be ordering the hardware next.

Edit 7th May - ordered the Board and Battery!
 
Last edited:
My Garmin Edge 540 is now beta enrolled, and I have the firmware 31.22, so it should be able to connect to Bosch eBike.
Following the instructions of the video above (thanks Manchesteremtb!) I went to settings -> sensors -> add sensor -> eBike, but there is no Bosch eBike... Only Shimano eBike and Other. Under other it just tries to find an ebike in the vicinity. Unfortunately my ebike is not nearby; I'll try to test this tonight and revert tomorrow. Fingers crossed!

Edit: I kept trying to update the firmware, now I have the 31.22B. However still there is no Bosch eBike selection... I'll keep searching for updates...

Edit2: Finally i got the firmware 31.23, and now the Bosch Smart System eBike option came up under the eBike section. Feeling optimistic!
Well, it didn't work out... Flow App is at the latest version.
Tried numerous times, rebooted all devices, spinned the crank in case it needed this to wake up the sensors, all unsuccessfully...
My bike was kept on purpose to the old firmware, where the torque was 85Nm/600W, in order not to waste more battery, and because I didn't like to have even more power.
I decided to make the latest update to the bike firmware (750W and 100 or 120 Nm), and then be bothered to undo the extra power by parametrizing the assist modi. Unfortunately I still did not manage to connect the Edge 540 to the bike...

I did all steps of the video as described, but at the step where you add accessories through the flow app, it never finds any accessory. Beta problem? My actions are somehow wrong? Who knows...
 
Well, it didn't work out... Flow App is at the latest version.
Tried numerous times, rebooted all devices, spinned the crank in case it needed this to wake up the sensors, all unsuccessfully...
My bike was kept on purpose to the old firmware, where the torque was 85Nm/600W, in order not to waste more battery, and because I didn't like to have even more power.
I decided to make the latest update to the bike firmware (750W and 100 or 120 Nm), and then be bothered to undo the extra power by parametrizing the assist modi. Unfortunately I still did not manage to connect the Edge 540 to the bike...

I did all steps of the video as described, but at the step where you add accessories through the flow app, it never finds any accessory. Beta problem? My actions are somehow wrong? Who knows...
Everything works for me. I’m on the current Flow app and Garmin firmware 31.23 beta. I did the pairing simultaneously. On the Garmin Edge, I added new sensors → eBike → and there was a new item Bosch Smart System. I confirmed it and let the search run. Then I went into the Flow app → Components → Add new device → Accessories, and the Garmin was immediately found and paired.
 
My phone just showed a new update to the flow app. (v. 1.35.5), which yesterday was not available to download, even though it says that it came out 3 days ago.
In the "what's new" section it talks only about increased torque etc and nothing mentions Garmin, but I hope this will be the key point to make the connection. I'll check it tonight!
 
My phone just showed a new update to the flow app. (v. 1.35.5), which yesterday was not available to download, even though it says that it came out 3 days ago.
In the "what's new" section it talks only about increased torque etc and nothing mentions Garmin, but I hope this will be the key point to make the connection. I'll check it tonight!
But only if you have a capable device in Beta software.
 
Here are the steps I had to take to get it to work.

Log into Garmin Connect website and enroll in beta (top right under the watch icon)
Use garmin express to update
Use garmin express to update again until you get 31.23
Go to system>about> check for updates

You should now see software 31.23B

Next turn on the bike and garmin
Go to the sensors setting on the garmin and search for all
A box will pop up saying "Not seeing your device"
When you click on that it will prompt to search for bosch e bike
This puts it in discoverable mode, now go back to the flow app in components and add new components. It will be there

This is far more complicated than I have seen anyone else describe, but it worked for me
 
IMG_4790.webp


Quick test in the driveway and I am getting rider power. It seems to only update once a second or so. When you get on the pedals it takes a second to relfect. On my Levo SL2 it was more instaneous. Perhaps a non beta update will fix this, but I am happy to have this again in my data set. Now I need a power meter for my push bike
 
Finally it worked for me too!
So the steps are exactly like described on the video that @Manchesteremtb posted, but here are the prerequisites that troubled me earlier.
1) you enroll your compatible Garmin device (mine is the Edge 540) to beta mode and update it until you get the firmware 31.23 (or later I suppose). Before this, there is no option on the Garmin to add Bosch eBike.
2) you update your Flow app to version 1.35.5. This was the part that gave me some trouble, as it didnt appear on my phone until yesterday, and without it, it doesn't find Garmins.
3) Update the bike firmware to the version that the Flow 1.35.5 will bring. I had the bike fully updated before the 1.35.5, but still it couldn't connect to Garmin even after I installed the 1.35.5. After updating the bike firmware to this update though, when I went to connect a new accessory, on the bottom right of the accessories icon it indicated the number 1 and immediately they paired successfully.

So remember: Garmin beta 31.23, Flow app 1.35.5 and bike updated to the firmware that will appear after updating the app to the 1.35.5

I had on the garmin Cadence, power, connectivity over a 1.5 hour ride was excellent, but it never showed the assist mode, which honestly i dont care about, nor the remaining battery, which I would have liked.

Edit: It does show the remaining battery %
 
Last edited:
I am gutted my trusty edge 530 isnt supported by the new garmin / bosch firmware.

I am just glad this smartbridge solution is here. I am going to order the bits and give it a try thanks @HexagonSun
I'm in the same situation. I have an Edge 530, which is more than enough for my needs.

I wonder if the data via bluetooth can be reverse engineered.
 
I wonder if the data via bluetooth can be reverse engineered.
Yes it can be and has been


I'm currently working on adding an ANT+ power meter to the board, then populating what I can in the LEV profile.
 
Finally it worked for me too!
So the steps are exactly like described on the video that @Manchesteremtb posted, but here are the prerequisites that troubled me earlier.
1) you enroll your compatible Garmin device (mine is the Edge 540) to beta mode and update it until you get the firmware 31.23 (or later I suppose). Before this, there is no option on the Garmin to add Bosch eBike.
2) you update your Flow app to version 1.35.5. This was the part that gave me some trouble, as it didnt appear on my phone until yesterday, and without it, it doesn't find Garmins.
3) Update the bike firmware to the version that the Flow 1.35.5 will bring. I had the bike fully updated before the 1.35.5, but still it couldn't connect to Garmin even after I installed the 1.35.5. After updating the bike firmware to this update though, when I went to connect a new accessory, on the bottom right of the accessories icon it indicated the number 1 and immediately they paired successfully.

So remember: Garmin beta 31.23, Flow app 1.35.5 and bike updated to the firmware that will appear after updating the app to the 1.35.5

I had on the garmin Cadence, power, connectivity over a 1.5 hour ride was excellent, but it never showed the assist mode, which honestly i dont care about, nor the remaining battery, which I would have liked.
La batteria dovrebbe segnalarla, l'unica cosa che non segna è l'assistenza.
 
@HexagonSun
I'm a MacOS user. I was following your ReadMe and it was all working great until I came to "upload the sketch" in Arduino (step 7) and I got errors saying that "Python wasn't found" (or similar). This seems to be an "Arduino / Python / OSX" issue - not to do with your Guide/ReadMe or your coding.

Things I did to troubleshoot and fix this:

I installed Python via the official MacOSX installer

I tested that it worked in Terminal:
Code:
python3 --version
>>> Python 3.14.5rc1

So I knew that was installed properly. MacOS prompted me to install "Command Line Developer Tools" (official Apple software) in the background - which auto installed and were fine.

I ended doing some more web research and found that (as per above) - the python command in OSX is "python3" and Arduino IDE was trying to run "python" as the command.

The fix was via the "platform.txt" file for the hardware - based on current install versions, below was the path to this text file:
Code:
~/Library/Arduino15/packages/Seeeduino/hardware/nrf52/1.1.12/platform.txt

The web research told me to seach for text "recipe.objcopy.uf2" and I found two instances in that "platform.txt" file and I manually edited them to just insert "3" after "python"

ORIGINAL
Code:
## Create uf2 file
#recipe.objcopy.uf2.pattern=python "{runtime.platform.path}/tools/uf2conv/uf2conv.py" -f 0xADA52840 -c -o "{build.path}/{build.project_name}.uf2" "{build.path}/{build.project_name}.hex"
recipe.objcopy.uf2.pattern=python "{runtime.platform.path}/tools/uf2conv/uf2_wrap.py" "{runtime.platform.path}/tools/uf2conv/uf2conv.py" "{build.board}" "{build.path}" "{build.source.path}" "{build.project_name}"

EDITED
Code:
## Create uf2 file
#recipe.objcopy.uf2.pattern=python3 "{runtime.platform.path}/tools/uf2conv/uf2conv.py" -f 0xADA52840 -c -o "{build.path}/{build.project_name}.uf2" "{build.path}/{build.project_name}.hex"
recipe.objcopy.uf2.pattern=python3 "{runtime.platform.path}/tools/uf2conv/uf2_wrap.py" "{runtime.platform.path}/tools/uf2conv/uf2conv.py" "{build.board}" "{build.path}" "{build.source.path}" "{build.project_name}"

There were some other guides online about "symlinks" to link any references to "python" >>> "python3" but I tried one and it didn't work, so sticking with the above manual work around. If I get the "symlink" to work I will post it here.

I quit Arduino and restarted the app >> Sketch Uploaded to the seeed board and now the SmartBridge app can see the Seeed Board. Next will be taking the bike out for a test ride. I am also awaiting the battery to arrive and I need to get that soldered on.

Massive Kudos to @HexagonSun and all of the other people who have contributed to this thread!

His Seeed Board solution is a very neat fix and I could not believe how small it was when it came arrived. Also it is great that in the UK the Raspberry PI team ship it already in a transparent, screw top case with foam padding.

Further edit
Tested now on the bike with Bosch Flow App 1.35.66 and all is working, Garmin Fenix watch has both Cadence and Rider Power via BT.
 
Last edited:
Thanks for the detail @notshy. The build process for the board will change for the next version as Arduino doesn't support ANT so I've changed to NCS (nrf's development environment). There's a few more steps to the build but the upload is simpler - it'd be great if you could check it on macOS when I publish the next version.

Anyone else following this - the ANT licensing terms are strict so you'll need to register for an ANT Adopter account which can take a day or two to come through so maybe worth getting done in advance. First register at

Register - THIS IS ANT

You will initially be given a basic user account so upgrade (free) to an ANT adopter at


Then finally you need to link your ANT account to github to access the ANT libraries (select evaluation license at the bottom)


That'll be one hurdle out of the way!
 
A few - it's even lower power than BLE, the connection process is simpler (probably more for me than you!), it has better connection stability (Garmins BLE stack is a bit flaky on some devices), the data capabilities of ANT are better (eg the full ebike profile) and some older Garmins only support ANT sensors.

It'll still be possible to build a BLE only version for those that don't want or need ANT.
 
Keep reading
    Browse all

    Similar Threads

    Community Stats

    Since 2018
    668K
    Messages
    40,728
    Members
    Join 30,000+ Riders, it's free!
    Back
    Top