This page is the shortest reliable path from a nearby Polar H10 to a saved session folder on disk.
Before You Start
- Wear the strap and wet the electrodes.
- Make sure Polar Beat, Polar Flow, or another BLE client is not already connected to the same H10.
- Confirm Bluetooth is enabled on the Windows machine.
- Build the repo once with
dotnet build PolarH10.sln.
WPF App Path
Start the app:
dotnet run --project src/PolarH10.AppScan for nearby straps and identify the intended device by alias or address.
Connect the device.
Confirm the session is healthy before recording:
- HR updates begin
- ACC counters move
- ECG or ACC charts start updating on the Live tab
If you want RR-derived coherence, open Coherence Workflow only after HR and RR are already live.
If you want short-term HRV, open HRV Workflow only after HR and RR are already live and let the RR window run long enough for the first solve.
If you need breathing output or breathing-dynamics entropy, open Breathing Workflow first and Breathing Dynamics Workflow only after calibration is complete.
Open the Record tab, choose the output folder, and start the capture.
Let the session run long enough to confirm real data is arriving, then stop cleanly.
Open the saved folder and verify that
session.json,hr_rr.csv,ecg.csv,acc.csv, andprotocol.jsonlexist.
CLI Path
Scan for the strap:
dotnet run --project src/PolarH10.Cli -- scanRun a quick connectivity check against the chosen Bluetooth address:
dotnet run --project src/PolarH10.Cli -- doctor --device <ADDRESS>Record a short session:
dotnet run --project src/PolarH10.Cli -- record --device <ADDRESS> --duration 30 --out .\session\first-runConfirm the output folder contains the expected files.
If you want to inspect the data without hardware, replay the saved session:
dotnet run --project src/PolarH10.Cli -- replay .\session\first-run
What Success Looks Like
session.jsoncontains a session ID, timestamps, and nonzero sample counts.hr_rr.csvcontains heart-rate rows.ecg.csvandacc.csvcontain timestamped sensor samples.protocol.jsonlcontains PMD and CCCD traffic that matches a clean start and stop sequence.- If you open the coherence, HRV, or breathing-dynamics tabs, their values should move off
--only after the relevant warmup and stabilization phases.
If The First Attempt Fails
- Use Troubleshooting for the fast failure checklist.
- Use Platform Guides if Windows BLE access or local application-control policy gets in the way.
- Use Output Formats if files were written but you are not sure what they mean.