This is an Ant+ to BLE (Bluetooth Low Energy) Bridging app for ANT+ Cycling Speed and Cadence (CSC) sensors, ANT+ heart rate sensors, and ANT+ Stride based speed and distance sensors. The app will act as a Cycling speed/cadence and/or HR BLE sensor and/or BLE Running speed/cadence so other BLE device (phone, PC, Mac, tablet) can reads data from ANT+ sensors.
V1.3 screenshot | pre V1.3 screenshot (old original version) |
---|---|
Or you can download the apk in release and use adb
to install:
adb install -r /path/to/app-release.apk
This is an Android app which reads ANT+ cycling speed/cadence (CSC), heart rate sensors, and/or stride based speed and distance (SDM) sensors in the background (actually in an Android foreground service), and advertises itself as a Bluetooth Low Energy (BLE)
device which implements Cycling Speed and Cadence Profile (CSCP)
, Heart Rate Profile (HRP)
, and/or Running Speed and Cadence (rsc)
so that other devices can see this Android device as a Cycling Speed & Cadence Bluetooth, Heart Rate BLE sensor and/or Running foot pod sensor.
This is useful when you only have ANT+ CSC/HR sensors but you want to connect to them as BLE sensors (provided that you don't have an USB ANT+ stick around but happen to have an ANT+ enabled Android device like a Samsung phone).
Long hold on the sensors name on top of the screen to rescan for Ant+ devices after the "Start BLE bridging" button has been pressed. All sensors will automatically scan for Ant+ sources when the "Start BLE bridging" button is pressed.
I want to try out Zwift desktop version but I can't get a USB ANT+ Stick anywhere now in my country (due to the C-19 pandemic). So I decided to write one.
I can now sees my speed and cadence coming from ANT+ sensors on Zwift Mac without the need of extra hardware.
Special thanks to pinkemma who implements Heart Rate sensor profile so that this app also reads heart rate from ANT+ sensor and bridges it to bluetooth. (see PR #5 since 10/2020)
- Samsung Galaxy S8 (Android 9)
- Samsung Galaxy J5 2016 - Thanks louisJ20
- Samsung Galaxy S9 (Android 10) - Thanks pinkemma
- One Plus 7 Pro (Android 10) - Thanks michaelrhughes
- Nokia 7 Plus (Android 10) - Thanks leaskovski
- Nexus 5 (CyanogenMod 13 and Ant+ Enabler) - Thanks leaskovski
- OnePlus 5T (Android 10) - Thanks philharle
- Galaxy Note 9 - Thanks larryb84
- Samsung Galaxy S10 (Android 11) - Thanks Chris
- Garmin gen 1 ANT+ only speed and cadence sensor
- Garmin speed cadence combined sensor - Thanks louisJ20
- Garmin HRM-Run
- Garmin HRM3-SS - Thanks philharle
- Garmin Fenix 5s with broadcasting mode on (ANT+ signal) - Thanks pinkemma
- Garmin 935 with broadcasting mode on (ANT+ signal)
- Garmin Fenix 6 with broadcasting mode on (ANT+ signal)
- Garmin HRM2 - Thanks larryb84
- Garmin Fenix 5 with broadcasting mode on (ANT+ signal) - Thanks Chris
- Garmin HRM Tri - Thanks Chris
- Garmin Foot Pod
- Zwift (Mac/iPad/Windows version)
- The Sufferfest (Mac version)
- Zwift (iPad Pro)
- theoretically all other apps that use Bike Speed/Cadence or Heart Rate or Run Speed/Cadence BLE sensors
- On my Samsung S8 sometimes the bluetooth PHY is messed up (for unknown reason). I have to reboot the phone to get it working. (When it doesn't work, the advertising reports success but actually you can't see any).
Code samples:
Spec and Document
- ANT+ Basic
- Introduction to Bluetooth low energy
- CH4 of Getting Started with Bluetooth Low Energy
- Bluetooth GATT Specifications
- Cycling Speed and Cadence Profile/Service
- Heart Rate Profile/Service
- Bluetooth Assigned numbers