package icon

Heart Rate Monitor

Monitor heart rate via BLE devices with real-time display, history, and alerts
New in version 4.9.5
- Fixed notification bar closing touch penetration after floating window disappeared
- Fixed custom color pop-up not closing with return gesture
A lightweight heart rate monitoring app for Android, built with Jetpack Compose and Material 3. Connect to BLE heart rate monitors and track your heart rate in real time.

Features:

- Bluetooth LE heart rate monitoring: scan and connect to any BLE heart rate device
- Real-time heart rate display with animated heart icon
- Floating window overlay for always-on heart rate display
- Status bar heart rate indicator with auto color adaptation
- Heart rate history with chart analysis (powered by Vico)
- Heart rate alerts with posture detection (sitting/standing/exercising)
- HTTP server and WebSocket server for real-time data streaming
- Webhook support for pushing heart rate data to external services
- Favorite devices with auto-connect
- Fully customizable UI: colors, opacity, corner radius, size
- Material 3 design with dynamic color support (Android 12+)
- Fair memory management for Chinese OEM devices (vivo, Xiaomi, OPPO, Honor)
- Privacy-friendly: no tracking, no ads, no analytics

Open source under MIT License.

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
  • Version 4.9.5 (57) suggested Added on Sep 09, 2026

    arm64-v8a

    This version requires Android 7.0 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.
    • access precise location only in the foreground
      This app can get your precise 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. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • 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 "location"
      Allows the app to make use of foreground services with the type "location"
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • 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.
    • com.github.heartratemonitor_compose.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 6.4 MiB PGP Signature | Build Log

  • New in version 4.9.4
    - Optimal performance
    - Optimize pop-up animation of update log pop-up window
    - Fixed bugs that could cause crashes
    - Support statistical heart rate history data export
    - Migrate from single Acitvity architecture to multi-activity hybrid architecture, remove Navgation 3 navigation library and custom animation effects, transition animation implementation changed to more reliable, more stable system-native Activity transitions
  • Version 4.9.4 (56) - Added on Sep 07, 2026

    arm64-v8a

    This version requires Android 7.0 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.
    • access precise location only in the foreground
      This app can get your precise 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. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • 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 "location"
      Allows the app to make use of foreground services with the type "location"
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • 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.
    • com.github.heartratemonitor_compose.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 6.4 MiB PGP Signature | Build Log

  • New in version 4.9.3
    - Fixed bug where auto-connect favorites disconnected and reconnected perfectly connected devices
    - Fixed an issue where the heart rate chart probability appears incomplete
    - Fix some bugs that may cause crashes
    - Optimize chart display on heart rate detail page, reduce card height, smooth Bezier curve
    - Optimization specific
  • Version 4.9.3 (55) - Added on Sep 03, 2026

    arm64-v8a

    This version requires Android 7.0 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.
    • access precise location only in the foreground
      This app can get your precise 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. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • 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 "location"
      Allows the app to make use of foreground services with the type "location"
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • 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.
    • com.github.heartratemonitor_compose.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 6.5 MiB PGP Signature | Build Log