1
0
Fork
You've already forked BikeBridge
0
forked from bg443/BikeBridge
Companion app for e-bikes and components
  • Kotlin 99.6%
  • Shell 0.4%
Find a file
2025年11月21日 17:42:05 +00:00
.idea Update README 2025年09月06日 10:05:52 +01:00
app Preserve alignment in apksigner 2025年11月21日 17:42:05 +00:00
assets Update README 2025年09月06日 10:05:52 +01:00
docs BikeBridge 2025年08月31日 17:08:38 +01:00
fastlane/metadata/android/en-US Update icon 2025年11月15日 14:54:58 +00:00
gradle BikeBridge 2025年08月31日 17:08:38 +01:00
scripts Preserve alignment in apksigner 2025年11月21日 17:42:05 +00:00
.gitignore BikeBridge 2025年08月31日 17:08:38 +01:00
.woodpecker.yml BikeBridge 2025年08月31日 17:08:38 +01:00
build.gradle.kts BikeBridge 2025年08月31日 17:08:38 +01:00
gradle.properties BikeBridge 2025年08月31日 17:08:38 +01:00
gradlew BikeBridge 2025年08月31日 17:08:38 +01:00
gradlew.bat BikeBridge 2025年08月31日 17:08:38 +01:00
LICENSE BikeBridge 2025年08月31日 17:08:38 +01:00
README.md Update README 2025年09月06日 10:05:52 +01:00
settings.gradle.kts BikeBridge 2025年08月31日 17:08:38 +01:00

BikeBridge

Companion for e-bikes using BLE

⚠️ This app is a work in progress ⚠️

Please read below about bike support

About

BikeBridge is a companion app for your e-bike, providing real-time information from your bike and components.

All raw data received from the bike, and sent to the bike (by BikeBridge) is transparent and viewable.

All Bluetooth data and parsers can be found below:

You are also able to send custom payloads to any Bluetooth characteristic on the bike.

Features

  • See statistics (e.g. speed, total distance, gear) in real-time
  • See all raw data transmitted/received to/from bike
  • Send custom payloads
  • Change settings on bike (see support)
  • See bike info (e.g. serial number, MAC address, etc.)
  • HUD

Install

Prebuilt binaries


Build from source

./gradlew :app:assembleRelease

Screenshots

Bike Support

Manufacturer Series Supported
Shimano EP8 Yes
SRAM Eagle AXS Yes

Note: even if your manufacturer/series isn't explicitly listed above, BikeBridge will still try to fetch and display as much information as possible.

For a more detailed table, see advanced support

BikeBridge has only been tested on a Shimano EP8 (Canyon) as that is all I have access to.

Any features added to a bike (e.g. reading total distance) are added through reverse engineering, and can therefore take some time to develop.

Submitting logs

BikeBridge allows you to see all data transmitted to or received from the bike by enabling logs in the settings screen.

Please enable Log GATT table as this shows possible data points that could be queried/written to by BikeBridge.

Censor the log to hide your device serial number and MAC address.

Capturing BLE communication

The most useful information comes from a sniffed connection as it represents what BikeBridge will need to do under the hood.

There are numerous RF sniffers that support Bluetooth low energy or an Android device can be used.

For encrypted/bonded BLE connections, crackle can be used in post to brute-force the temporary key, provided the pairing process was observed.

Permissions

BikeBridge requires a few permissions in order to function:

  • BLUETOOTH/BLUETOOTH_SCAN/BLUETOOTH_ADMIN - used to send and receive data to and from the bike
  • ACCESS_COARSE_LOCATION/ACCESS_FINE_LOCATION - required for Bluetooth scanning

BikeBridge does not, and never will, require an internet connection.

License


BikeBridge is free software: you can redistribute it and/or modify it under the terms of the GNU GPL-3.0-or-later License as published by the Free Software Foundation.

This software is provided with no warranty.