Project to enable Bosch + Garmin integration

⚡ EMTB Pro Go Pro — exclusive discounts & ad-free Peaty's 25% off & more · Ad-free browsing · Pro badge See the deals →
That spec gives less data than is already sent from the smart system to the flow app. No motor power, no assistance mode and loads of stuff that's not relevant to MTBers.
 
Tested it the last weekend with my 1040. Works quite well, except the "auto stop" function. I got up to 7km/h speed data even if I'm resting and the bike was laying on the ground.

But I'm okay with it for now and will keep using my ant+ sensore for it.

Power works, battery consumption/state as well. Love it. That's all I wanted.
 
Hi all,
i've integrated the new Bosch protocol with and esp32 (as a gateway) to my Suunto watch. I needed the ESP32 because Suunto can only act as a Master in the communication and unluckily Bosch is also a master. I'm pretty sure it can be easily done also on a Garmin via Monkey C.
Don't have a lot of time to follow the project but i've make it open source so you can all take a look if needed.


I also leave a link to the original post I made on Suunto Forum
 
Hi all,
i've integrated the new Bosch protocol with and esp32 (as a gateway) to my Suunto watch. I needed the ESP32 because Suunto can only act as a Master in the communication and unluckily Bosch is also a master. I'm pretty sure it can be easily done also on a Garmin via Monkey C.
Don't have a lot of time to follow the project but i've make it open source so you can all take a look if needed.


I also leave a link to the original post I made on Suunto Forum
Very nice. I’m kinda doing the same thing to be able to connect a Garmin Edge 530, which isn’t supported by Garmin beta update.

For development I’m using an M5 stack stick. But will use something with an esp32 when the software works good enough.
 
I've just published a new release of my code which will now transmit both ANT+ and BLE power sensors so you can choose which one to use on your GPS. I've found that my Garmin 830 has a fairly fragile Bluetooth stack and running with the phone connected and the Bluetooth power sensor caused some issues. The 830 has a dedicated ANT+ chip and I've had no issues at all when using it with the ANT+ sensor.

I've tried to document the new board build process as clearly as possible, but I didn't do a clean install from scratch so may have missed a couple of details. Please let me know (here or Github) if anything needs updating. I've also focused this build solely on the Seeed XIAO nRF52840 Sense board as there's a bit more config work to set the board up in the new environment and I don't have an Adafruit board to test it with.


Next steps will most likely be looking at adding the LEV (ebike) ANT+ profile alongside the power sensor which will enable a bit more data to be displayed. Might also look at an option to grab power, cadence and battery from the new Garmin BLE profile which could allow you to just use the board rather than needing the phone as well.

Oh and if anyone is using it I'd love to know the configuration of motor, phone, board and GPS so I can update my 'known working' list.
 
Last edited:
Hi all,
i've integrated the new Bosch protocol with and esp32 (as a gateway) to my Suunto watch. I needed the ESP32 because Suunto can only act as a Master in the communication and unluckily Bosch is also a master. I'm pretty sure it can be easily done also on a Garmin via Monkey C.
Don't have a lot of time to follow the project but i've make it open source so you can all take a look if needed.


I also leave a link to the original post I made on Suunto Forum
Quick update to share some updates I made to my personal project:
I’ve added a new branch in the ESP32 repo:
GitHub - SellA/BoschEBikeESP32 at feature/multi-mode

Besides the standard bridge mode, it now supports exposing standard BLE sensor profiles as well:

  • Power + Cadence
  • Speed + Cadence
  • Power only
These modes don’t provide the full Bosch telemetry, but they work without the companion SuuntoPlus app and integrate natively with Suunto’s internal metrics and training features. For example, power data is correctly used for Suunto power zones, training load calculations, and related analytics. Should be working with all other devices that support standard BLE sensor so Garmin watches and bike computers.

I also updated the integrated WiFi access point UI, where all bridge settings can now be configured directly from the browser:
1779313692670.webp


There is now also a simulation mode that allows testing the connection with watches and bike computers without needing to connect to the actual eBike. Useful for validating the setup or experimenting with different configurations without having the bike nearby.
 
Has anyone been able to connect a Garmin watch (which watch?) to a Bosch eBike with the latest software updates?
 
I think the official Bosch-Garmin connection only supports some specific Edge models at the moment, maybe they'll add more support in time. FWIW my wife's Venu 4 finds the sensors that my SmartBridge solution generates.
 
Hi @HexagonSun,
I have startet to prepare the switch to ANT+, but I am kind of stuck... In your tutorial you write

Link your ANT account to your Github account to gain access to the ANT libraries. Select Apply for Evaluation License at the bottom of My ANT+ - THIS IS ANT

How is this supposed to be done? I have successfully transformed my user to Adopter, but I can't find any option to continue as described...
 
How is this supposed to be done? I have successfully transformed my user to Adopter, but I can't find any option to continue as described...
Try this link - looks like I posted the wrong one in the README - please let me know how it goes

 
I successfully migrated to the ANT+ version and tested on a 40min ride without any issues, everything worked flawlessly! Thanks a lot for your great work @HexagonSun
 
I've just published a new release of my code which will now transmit both ANT+ and BLE power sensors so you can choose which one to use on your GPS. I've found that my Garmin 830 has a fairly fragile Bluetooth stack and running with the phone connected and the Bluetooth power sensor caused some issues. The 830 has a dedicated ANT+ chip and I've had no issues at all when using it with the ANT+ sensor.

I've tried to document the new board build process as clearly as possible, but I didn't do a clean install from scratch so may have missed a couple of details. Please let me know (here or Github) if anything needs updating. I've also focused this build solely on the Seeed XIAO nRF52840 Sense board as there's a bit more config work to set the board up in the new environment and I don't have an Adafruit board to test it with.


Next steps will most likely be looking at adding the LEV (ebike) ANT+ profile alongside the power sensor which will enable a bit more data to be displayed. Might also look at an option to grab power, cadence and battery from the new Garmin BLE profile which could allow you to just use the board rather than needing the phone as well.

Oh and if anyone is using it I'd love to know the configuration of motor, phone, board and GPS so I can update my 'known working' list.
Hi @HexagonSun

EDIT - self correction - I was stuck on Step 9 of your Readme on the SmartBridge Firmware update
"9. In the nRF Connect extension WELCOME panel select Open an existing application and open the "SmartBridge_Zephyr" folder from your cloned repository."

I had downloaded a zip file from the latest Github page but had unzipped the file and a location that Visual Studio Code couldn't read. Once I moved the folder to my main "user folder" in MacOS - it could read the folder path.

I completed the rest of the build and now have Ant+ power connected via my phone. Off to test on the bike now.

My hardware is:
Phone = Android Nothing Phone 3
Motor = Bosch Performance Line CX Drive Unit
Garmin = Epix 2 Pro Watch

@HexagonSun - I would be very interested in getting the LEV profile working and/or otherwise getting eBike Battery power showing on Garmin. My eBike Controller only shows 5x bars (in two colours) so it would be great to see the actual % without getting phone out (and I'm not always catching the notification pings to my phone on the 5%/10% drops). If you could get the SmartBridge to connect straight to the Bosch Controller - that would be great and remove one extra step of the phone.

But thanks again for all of the development work - it is great!
 
Last edited:
Any chance for iOS working solution?
All the code is public on Github but there's some Android specific Kotlin at the moment. If anyone can translate the Android specific Kotlin bits so they work on Kotlin Multiplatform/IOS then it's possible but I think Apple will only retain an unofficial app for 7 days before it needs to be verified again so that's more of an overhead.

Once I've got ANT+ LEV fully working I'll take a look at using the new Garmin live data interface but that's missing some of the data fields that are currently grabbed from the Flow app data feed so functionality would be reduced, but it wouldn't need the phone in use. The seeed nrf52840 board doesn't support wifi so expect the app would still be needed to configure things before use, though as that'd be set up over BLE it could be do-able via nRF Connect.

Anyhow got a few wrinkles to get out of the LEV profile first - I'm running into the same issue that Bulcan users had where speed isn't zeroing and forcing it to zero can have "unintended consequences". Maybe the LDI protocol handles that better!
 
A request to anyone using SmartBridge - as part of the LEV development I'm trying to isolate battery capacity from the data but can't be 100% sure with only the data from my bike, Could you grab a log or two from your bike during your next ride using the 'Start Logging' button in the app and share it either here or on the github feedback discussion topic (Feedback · Nilogax SmartBridge · Discussion #2). Also please let me know what your battery capacity is. Ideally someone with a battery other than 400 Wh and/or someone with a Powermore to see if that's listed separately.

Thanks!
 
A request to anyone using SmartBridge - as part of the LEV development I'm trying to isolate battery capacity from the data but can't be 100% sure with only the data from my bike, Could you grab a log or two from your bike during your next ride using the 'Start Logging' button in the app and share it either here or on the github feedback discussion topic (Feedback · Nilogax SmartBridge · Discussion #2). Also please let me know what your battery capacity is. Ideally someone with a battery other than 400 Wh and/or someone with a Powermore to see if that's listed separately.

Thanks!
Sure, I will collect and share. I have a 800wh battery!
 
Hi @ATeam - yes a log from an 800Wh battery would be great thanks. I've done a bit more digging and what I thought was battery capacity turned out not to be so I don't think "in ride" logs will help much. I've found something that is sent as soon as the bike connects so I'm hoping that could be useful. The only trouble is that the app's "Start Logging" button isn't enabled until the bike is connected so the only way to capture this data is by using the nRF Connect app - if you're happy doing that it would be really useful thanks.
 
Keep reading
    Browse all

    Similar Threads

    Community Stats

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