Lead One ECG turns a Polar H10 chest strap into a single-lead ECG recorder. It records your heart's electrical signal, analyses it on your phone and produces a clear A4 report you can save as a PDF. It is free, needs no account, and nothing you record ever leaves your device.
Important: for general wellness and education only. Lead One ECG is not a medical device.
If you feel unwell, with chest pain or pressure, fainting, severe shortness of breath, or a racing or very irregular heartbeat, call your local emergency number now. Do not stop to record it.
Wellness use only: please read
Lead One ECG is designed for general wellness, fitness training and education: understanding your own heart-rate patterns, recovery and heart rate variability over time. It is not a medical device and has not been tested, evaluated, cleared or approved by any medical regulator.
Do not use Lead One ECG to:
- diagnose, or rule out, any illness or heart condition (for example an arrhythmia, atrial fibrillation, heart attack or heart disease);
- monitor a heart condition you already have, or check whether a treatment is working;
- decide whether to take, change or stop any medicine or treatment;
- decide whether you need to see a doctor, or to put off seeing one;
- check on someone else's health, including children; the reference ranges are for adults.
Why: the Polar H10 records one view of the heart (one "lead"), while a clinical ECG uses twelve and is read by a trained professional. Many heart problems cannot be seen with a chest strap at all, the strap can produce misleading signals, and automated analysis can be wrong. A normal-looking report does not mean your heart is healthy, and an unusual-looking one is most often caused by the strap, a dry electrode or movement rather than by your heart.
Words such as "normal range", "borderline" or "outside normal range" in the app describe how a measurement compares with published values for healthy adults. They are not medical findings. For any health concern, see a doctor, and do not rely on this app.
The first time you open the app, it asks you to confirm that you have read and understood this.
What you need
- A Polar H10 chest strap.
- Chrome on an Android phone (recommended), or Chrome or Edge on Windows, macOS or ChromeOS. iPhones and iPads do not support Bluetooth in web apps, so recording does not work there.
- The app's web address: leadone.anonacondacodelab.com
There is nothing to install. To open the app like a normal app, open the address in Chrome, tap the ⋮ menu and choose Add to Home screen.
First-time setup
The first time you open the app it shows a short Before you start notice about wellness use. Tick the box to confirm you understand it, then tap Continue.
Next it asks for your date of birth and sex. These choose the right reference ranges and heart-rate zones; your age is worked out for the date of each recording, so you never need to update it. A name for the reports is optional. You can change all of this later with the settings icon (top right).
Putting on the strap
- Moisten the two electrode areas on the inside of the strap with water.
- Clip the sensor on and fasten the strap snugly just below the chest muscles, with the Polar logo upright.
- Close every other app that uses the strap (Polar Beat, Polar Flow, Elite HRV, ECG Logger and so on). The H10 sends its ECG to only one app at a time.
Making a recording
- Tap Connect H10 and choose your strap from the list. The dot turns green when it is connected.
- Optionally choose a recording context (Morning baseline, Training, Evening, Meditation, Sleep, General rest) and a body position (Lying, Seated, Standing, Walking / moving). These matter more than they look: see Your personal baseline below.
- Optionally add session notes (up to 200 characters), such as "after lunch" or "slept 5 hours".
- Optionally turn on Auto-stop and choose a duration (1, 2 or 2.5 minutes, then in 5-minute steps). With Auto-stop off, the recording runs until you stop it, up to 8 hours.
- Tap Start.
While recording you will see the elapsed time, heart rate, signal quality, strap battery, breathing rate (after about 30 seconds) and a live ECG trace.
- Pause stops counting without ending the recording. Paused time is left out of the analysis.
- Dim screen darkens the screen for long recordings; tap to wake it. Keep the app open in the foreground.
- Hold to stop: press and hold the button until it fills. Holding prevents accidental stops.
- If Bluetooth drops, the app reconnects by itself and marks the gap in the report.
- Data is saved every minute. If the phone or browser closes unexpectedly, the next time you open the app it offers to Analyze recording for the part that was saved.
When the recording ends, tap View report. You can also Save recording file to keep the raw ECG.
Training sessions
Choose the Training context to measure your exercise heart rate, recovery and zones. Two more choices appear:
Training type
- Session: any normal workout (intervals, runs, rides).
- Max HR ramp test: start easy; the app beeps and vibrates every 3 minutes (with a 10-second warning) to tell you to increase the effort, until you cannot continue. This finds your true maximum heart rate.
- LTHR test: warm up, then go as hard as you can sustain for 30 minutes. The app tells you when 30 minutes are up. Your lactate threshold heart rate (LTHR) is the average of the last 20 minutes, and sets your training zones.
Recovery after exercise
- Active: you keep moving gently after stopping (walking, easy pedalling).
- Passive: you stand, sit or lie still.
Heart rate falls faster when you stand still, so the app judges active recovery against a more relaxed limit.
When you finish exercising, tap Start recovery and keep recording for at least 2 minutes. Recovery is measured from that moment, not from a peak in the middle of the session. If you forget, the app tries to find the end of exercise by itself.
Your working maximum heart rate comes from your own data: the highest heart rate you have held for 20 seconds in any training recording, plus 2 %, or the plateau of a ramp test. Age formulas (Fox, Tanaka, Nes, and Gulati for women) are shown for comparison and are used only until you have training data.
Reading your report
The report has these parts:
- Summary, with an overall verdict and the key numbers.
- What this means for you: each result in plain language, with what it is, how yours compares and what to do.
- Training pages (training recordings only): maximum heart rate, recovery and zones.
- Measurements, heart rate and rhythm, heart rate variability, waveform and ECG strips, the detailed pages.
- Event log and methods.
Each result gets a grade:
- Favourable: better than typical for your age and sex.
- Within normal range.
- Borderline: just outside the usual range. Common in a single reading; watch the trend.
- Outside normal range: repeat the reading first, since the strap is the most common cause. If you have any health concern, see a doctor; do not wait for the app to confirm it.
- Not assessed: could not be measured reliably, or does not apply (for example, average heart rate during exercise).
One borderline value does not make the whole report borderline; the overall verdict looks at all results together.
About chest-strap ECGs. The H10 records one view of the heart (one "lead"), while a hospital ECG uses twelve. Waveform measurements such as QTc can read differently from a clinical ECG, and many conditions cannot be seen at all. A single unusual result is most often caused by strap position, movement or a dry electrode, so repeat the reading. The grades are for wellness tracking only and are not a diagnosis; see Wellness use only above.
Saving and changing a report
- Save as PDF opens the print screen. Choose Save as PDF as the printer.
- Save recording keeps the raw ECG file, so the report can be regenerated later or opened on another device with Open a recording file.
- Details lets you correct the context, position, training type, recovery type or notes afterwards. Tap Update report to redo the analysis.
Your personal baseline
After a few readings, the report compares each new reading with your own usual values, not just population averages. This is often more useful: a drop in your heart rate variability compared with your usual range says more than how you compare with other people.
- A reading is compared with readings of the same context and position from the previous 30 days. Comparisons start once there are 5 of them.
- Training sessions are compared by training type and recovery type instead of position.
- Tag your readings consistently. A morning reading tagged "Morning baseline · Lying" is only compared with other "Morning baseline · Lying" readings. If you forget a tag, fix it with Details on the report.
A good morning-baseline routine
Record on waking, before caffeine, after using the toilet if needed, in the same position every day (lying or seated), for the same duration (5 minutes is ideal; use Auto-stop). Breathe normally and stay still. Choose Morning baseline and your position each time.
Your data
Everything is stored only in Chrome on the device you record with, at this app's web address. There is no account and no cloud copy.
- Reading history (the summary of each reading, used for your baseline and trends) is small and kept indefinitely.
- Recordings (the raw ECG) are kept on the device until you delete them from the list on the home screen.
Back up regularly. Clearing Chrome's browsing data ("Cookies and site data"), uninstalling Chrome, resetting or replacing your phone, or using an Incognito tab would lose them. The app shows a reminder when a backup is due.
- Settings → Export history saves a backup file of your reading history. Keep it somewhere safe, such as Google Drive.
- Settings → Import history restores it, on the same phone or a new one. Readings already present are not duplicated.
- To keep a particular recording in full, use Save recording or Save as PDF on its report. Imported history brings back your baseline and trends, but not the raw recordings.
Troubleshooting
"Bluetooth isn't available"
Use Chrome on Android and open the app from its https address. iPhone, Safari and Firefox are not supported. On Linux, enable chrome://flags/#enable-experimental-web-platform-features; in Brave, enable brave://flags/#brave-web-bluetooth-api.
The strap connects, but the timer stays at 00:00:00 or "No ECG from the strap" appears
Another app is holding the strap's ECG stream. Force-close other heart-rate apps, unclip the sensor from the strap for 30 seconds, clip it back on, switch the phone's Bluetooth off and on, then reload the app and connect again.
The strap is not in the list or will not connect
Moisten the electrodes and wear the strap (the H10 sleeps when it is not touching skin). Close other apps connected to it, and try again after toggling Bluetooth.
"Weak" or "Noisy" signal
Moisten the electrodes again, tighten the strap, and keep still. A worn strap or an old battery also weakens the signal.
Breathing shows "…" or "n/a"
Breathing appears after about 30 seconds of still recording. It is measured from chest movement when available, otherwise estimated from the ECG.
The report says recovery was not measured
The recording ended while you were still exercising. Tap Start recovery when you stop, and keep recording for at least 2 minutes.
Privacy
Lead One ECG makes no network requests at all while you use it: no analytics, no tracking, no cookies, no account. Your recordings, history and profile never leave your device unless you export them yourself. The app's source code is open, so anyone can check this.
Support and feedback
Lead One ECG is free and open-source software from Anonaconda Code Lab, released under the GNU General Public License v3. If it is useful to you, you can support its development at ko-fi.com/anonacondacodelab.
Polar and H10 are trademarks of Polar Electro Oy. Lead One ECG is independent and not affiliated with or endorsed by Polar Electro.
Lead One ECG is provided "as is", without warranty of any kind, under the GNU General Public License v3. It is for general wellness and education only and is not a medical device.