BLEWidgets
BLEWidgets is a Windows App that displays live biometric data such as Heart Rate from Bluetooth LE (BLE) devices.
Each subscribed service has its own live notification (system tray) icon, and optional topmost window widget.
Contents
Support
Requirements
Operating System: Windows 10 / Windows 11
.NET Platform: .NET 10.0
Bluetooth: Bluetooth 4.0 with Low Energy (LE/BLE) Support.
Tested Devices: Amazfit Helio Strap (Works).
Should work on all Devices that broadcast standard Heart Rate Service.
Setup
First time launching BLEWidgets you will be prompted to add at least one device/service first.
If you do not know the BLE Address of your device, you can use the Search functionality to find it.
In order to find it, on the device I had to enable 'Heart Rate Push', and then 'Reboot Device'.
Services
Heart Rate
The Widget will display a warning message if no Heart Rate has been received for more than 10 seconds (changeable with App.Settings.HeartRateTimeout).
Settings
(Keys with multiple values are comma separated).
(Boolean values are formatted as text "True" or "False").
Devices
Device and Services configurations are saved per device in the "Device*.ini" files:
| Section | Key | Value(s) | Description |
|---|---|---|---|
| [Device] | DeviceName= | String | Name of the device. |
| [Device] | DeviceAddress= | String | BLE Address of the device. |
| [Device] | DeviceServices= | String[] | Services of the device. |
| [Service_*] | ServiceName= | String | Name of the device service. |
| [Service_*] | ServiceAutoShow= | Boolean | Automatically show the Widget on App launch. |
| [Service_*] | ServiceTopMost= | Boolean | Widget's window is always on top. |
| [Service_*] | ServiceDarkMode= | Boolean | Widget's theme is Dark Mode style. |
| [Service_*] | ServiceShowGraph= | Boolean | Show or hide Widget's Graph. |
(Replace Service asterisk (*) with the Device's Service index count number).
Triggers
Task (Trigger) configurations are saved in the "Tasks.ini" file:
| Section | Key | Value(s) | Description |
|---|---|---|---|
| [Task_*] | TaskName= | String | Name of the trigger. |
| [Task_*] | TaskEnabled= | Boolean | Enable or disable the trigger. |
| [Task_*] | TaskTriggers= | String, String, Int | Condition "When", Condition "Is", Condition "Value". |
| [Task_*] | TaskActions= | String, String | Action "Do", Action "Value". |
(Replace Task asterisk (*) with the Task's index count number).
