# ANT+ to Bluetooth LE Bridge Bridge an ANT+ cycling power trainer over Bluetooth Low Energy, allowing modern devices that don't support ANT+ to receive power and cadence data. ## Why this exists Modern training apps and devices (phone apps, many power meter displays) support Bluetooth LE but lack ANT+ radios. Previously, hardware-based Bluetooth-to-ANT+ bridges were available for this purpose, but these have now been discontinued. This project provides a simple, software-based alternative using a standard USB ANT+ dongle. This bridge listens to ANT+ data from a wired trainer and re-broadcasts it as a standard Cycling Power Profile service over BLE. ## How it works 1. Opens a USB ANT+ dongle (vendor ID `0x0fcf`) and listens for broadcast messages from a specific trainer device number. 2. Parses power (Watts) and cadence (RPM) from the trainer's ANT+ data pages. 3. Exposes a Cycling Power Measurement BLE service via the system's Bluetooth adapter, updating values as new ANT+ messages arrive. ## Requirements - Linux - D-Bus (for BlueZ Bluetooth management) - A Bluetooth adapter - An ANT+ USB dongle - An ANT+ cycling power trainer **Note:** This program must be run as root to access the USB dongle. ## Tested hardware - USB dongle: ANT USBStick2 (Dynastream Innovations, vendor `0x0fcf`, product `0x1008`) ## Setup The Linux `usbserial` driver must be prevented from claiming the ANT+ dongle. Create the following udev rule: ```bash sudo tee /etc/udev/rules.d/99-ant-usb.rules > /dev/null <