New in version 1.9.0
A radar that connects but never sends data now counts as off, so the drop alert and the warning for riding without it can sound. Close passes are measured where the vehicle draws level, and readings closing faster than 126 km/h are left out of close passes and peak closing speed. Switching eBike data on or off takes effect at once. New in Experimental: hold the urgent warning for vehicles to the side. Home Assistant: some close-pass and ride values change meaning (see release notes).
Bike Radar shows and sounds what your rear bike radar sees, on top of whatever app you are already running.
A thin strip down the edge of the screen shows each approaching vehicle's distance, closing speed and lateral position. Tiered beeps rise as the closest vehicle gets nearer, and a distinct urgent tone fires when an impact looks imminent - including while you are rolling slowly toward a junction with a fast vehicle behind. A clear chime sounds when the radar sees nothing left within your alert distance.
Everything runs on your phone: no account, no cloud, no analytics. The optional Home Assistant integration publishes ride stats to your own server and nowhere else. Another app on your phone can ask to use your radar, and nothing reaches it until you allow it on a screen naming the app; that handover happens on the device, app to app.
Features:
- Live overlay with per-vehicle distance, closing speed and lateral position
- Tiered proximity beeps, urgent imminent-impact tone, all-clear chime
- Post-ride summary notification: overtakes, close passes, distance, tightest pass
- Front camera/light auto mode by local sunset (one coarse location read per ride)
- Bosch Smart System eBike telemetry, strictly read-only
- Walk-away and forgot-to-lock reminders
- Optional Home Assistant publishing: batteries, close passes, ride summaries
- Sharing with another app on your phone (with your permission): the radar feed, and if you also allow it control of your tail light and hiding the overlay
- Optional on-device capture log for diagnostics, off by default and never uploaded
- English and Spanish
Requires a supported rear radar paired over Bluetooth (pair it once in system Settings) and Android 12 or newer. There is no standard Bluetooth profile for bike radars, so support is per model; the compatibility list on the project's source page says which units work, and the list is short.
A radar that reports distance only is expected to get the approach beeps, the all-clear and an overlay coloured by distance; the per-vehicle speed and side readouts, the urgent tone and close-pass counting need one that also reports closing speed and lateral position. The radar, camera and eBike integrations degrade gracefully: each works without the others.
Bike Radar is a riding aid, not a safety guarantee. It supplements your own attention and mirrors - it never replaces them.
This is an independent open-source project (GPL-3.0-or-later), not affiliated with or endorsed by any radar or eBike manufacturer.
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
connect to paired Bluetooth devices
Allows the app to connect to paired Bluetooth devices
-
discover and pair nearby Bluetooth devices
Allows the app to discover and pair nearby Bluetooth devices
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "connectedDevice"
Allows the app to make use of foreground services with the type "connectedDevice"
-
run foreground service with the type "mediaProjection"
Allows the app to make use of foreground services with the type "mediaProjection"
-
android.permission.FOREGROUND_SERVICE_SHORT_SERVICE
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
This app can appear on top of other apps
This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
es.jjrh.bikeradar.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
8.0 MiB
PGP Signature
|
Build Log
New in version 1.8.1
"Warn up to" now starts at No limit, so the fastest approaches get beeps and urgent warnings again. In 1.8.0 it started at 126 km/h, which could silence a real vehicle. A speed you chose yourself is kept. To quiet fast phantom readings again, set a speed in Settings → Alerts; 126 km/h was the 1.8.0 setting.
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
connect to paired Bluetooth devices
Allows the app to connect to paired Bluetooth devices
-
discover and pair nearby Bluetooth devices
Allows the app to discover and pair nearby Bluetooth devices
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "connectedDevice"
Allows the app to make use of foreground services with the type "connectedDevice"
-
run foreground service with the type "mediaProjection"
Allows the app to make use of foreground services with the type "mediaProjection"
-
android.permission.FOREGROUND_SERVICE_SHORT_SERVICE
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
This app can appear on top of other apps
This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
es.jjrh.bikeradar.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
8.0 MiB
PGP Signature
|
Build Log
New in version 1.7.1
The Privacy screen now lists what the ride summary sends to Home Assistant, and says it updates during the ride. The example ride, the volume step and Alert sounds explain why the volume buttons can change your wake-up alarm. English and Spanish now use one name each for the all-clear.
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
access approximate location only in the foreground
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
-
connect to paired Bluetooth devices
Allows the app to connect to paired Bluetooth devices
-
discover and pair nearby Bluetooth devices
Allows the app to discover and pair nearby Bluetooth devices
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "connectedDevice"
Allows the app to make use of foreground services with the type "connectedDevice"
-
run foreground service with the type "mediaProjection"
Allows the app to make use of foreground services with the type "mediaProjection"
-
android.permission.FOREGROUND_SERVICE_SHORT_SERVICE
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
This app can appear on top of other apps
This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear.
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
es.jjrh.bikeradar.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
8.0 MiB
PGP Signature
|
Build Log