Easy BPM Running — Heart Rate Zone Runner
· v1.0.4
About
If you like it, please support:
https://ko-fi.com/deinygp
Most running apps record your heart rate. Easy BPM has one job: keeping you inside the range
you chose while you run. It records the full Garmin activity — time, distance, pace, HR,
cadence, calories, GPS track, laps — and everything on screen exists to answer one question
mid-stride: am I in the zone, and if not, which way do I correct?
The run screen is built to be read with your arm moving: a huge pulse in rounded digits, your
two limits above it, and a five-band scale lying under the number with a cursor that is you —
so you see not just where you are, but how much room is left before the edge. Cross a limit
and the number, the limit and the cursor turn amber; go further and everything turns red, a
correction arrow appears, and every band dims except the one you are violating. The layout
never changes shape, so pace and time never leave the screen while you fix it.
The rules are what make the alerts worth listening to:
- 10-second confirmation — a state only counts once it holds for ten straight seconds, so a
false spike from the optical sensor never fires an alarm.
- 2 bpm hysteresis on every boundary — leaving the zone costs more than entering it, so
running on a limit does not buzz you every fifteen seconds.
- The low side starts asleep — your pulse climbs from rest, so "too low" is not an error yet.
The low alert stays silent until you first reach the zone, or until three minutes in. The
high side watches from second zero.
- No data means no data — lose sensor contact and the state freezes, the screen shows `--`,
nothing sounds. After 30 s you get a single "no pulse" cue, and the gap counts neither for
nor against your percentage.
Nothing is averaged: the number you see is the number the watch reports.
Set the range on the watch — two big numbers, 1 bpm per press, hold to repeat — or pull it
from your own Garmin profile zones (Z1–Z5, labelled with your real bpm). Everything is also
editable from your phone, over the same settings, so the two never disagree.
Turn GPS off for the treadmill: no pace, no distance, much more battery, and the activity is
saved as a treadmill run so Connect files it correctly.
**Features**
- Target range with an outward tolerance band: five states, not two
- 10 s confirmation, 2 bpm hysteresis, low side armed on first entry — all adjustable
- Huge pulse + five-band scale with a live cursor; correction arrow when out of range
- Six distinguishable tone and vibration signatures, both switchable
- Full Garmin activity recording: GPS, pace, distance, cadence, laps
- Four custom FIT fields in Garmin Connect: % in zone, time above, time below, times you left
- Live pulse on the home screen before you start, so you know the sensor has you
- Preset from your Garmin profile HR zones, or two numbers set by hand
- On-watch settings and phone settings over the same values
- GPS off = indoor mode, saved as a treadmill activity
- Optional auto-pause · works with the touchscreen **and** the physical buttons
- Resolution-independent, 44 round Garmin watches, no phone required to run
Honest limitation: wrist optical heart rate lags real effort by 20–30 s, and the 10 s
confirmation sits on top of that, so on a hill the alert can arrive up to about 40 s late.
That is the sensor, not the app — the confirmation window is adjustable, and a chest strap
cuts the lag a lot.
What's new
### What's new (v1.0.4)
The first real run out on the road showed what the screen was missing.
- **Distance and time now lead the main page.** They are the two things you ask a running
watch besides your pulse, so they sit at the top: distance in cyan with the unit in a
smaller face so the number gets the room, elapsed time under it, and the limits moved down
to where a setting belongs. The pulse and the five-band scale are unchanged.
- **GPS status on the home screen.** A satellite over the word GPS: steady grey when GPS is
switched off, grey and pulsing while it hunts for a fix, amber on a usable one, lime on a
good one. You can see the fix arrive before you press start.
- **The end menu has icons** — a play triangle for Resume, a floppy for Save, a bin for
Discard — so the choice is made on the shape, before the word is read.
- **The bpm editor got its space back.** The number you are changing is nearly twice the
size, and so are the minus, plus and DONE targets.
If you like it, please support:
https://ko-fi.com/deinygp
### What's new (v1.0.3)
The run screen was leaving half the glass empty. Everything on it is now sized to be read
with your arm moving.
- **The pulse is more than twice the size** — 145 px of ink against the 66 it had. The old
face came from Easy Series and topped out there; these are cut from the original typeface,
one size per screen, so a 454 px watch fills its glass and a 360 px one still fits.
- **The two limits nearly doubled too**, and a hairline rule now sits between them and the
pulse: the two blocks read as one instrument instead of floating apart.
- **Time and pace went from dim grey at 19 px to white at 38.** That line is meant to be
glanceable and it simply was not.
- **The correction arrow moved up beside the limit and gained a white rim.** Flat red on
black, drawn without antialiasing, read as a stepped smudge; the rim is what gives it a
shape. Out of range you now get "arrow down, 155", which is the instruction itself.
### What's new (v1.0.2)
Stopping a run was too fiddly. It is one press now.
STOP stops. Pressing START/STOP pauses the activity and opens the end menu right away, the way the native running app does it — Resume, Save, Discard. A tap on the screen does the same thing.
Nothing has to be held down any more. Ending a run used to mean holding BACK for the best part of a second, which is hard to hit while running and sits one gesture away from a short BACK, which marks a lap. BACK is only ever a lap now.
Save and Discard ask first, with the watch's own confirmation dialog, and then leave the activity: Save shows the summary, Discard goes straight back to the start screen. Resume never asks — backing out of the menu resumes too, because the menu is what paused you.
If you like it, please support:
https://ko-fi.com/deinygp
### What's new (v1.0.1)
A second zone page, with **total distance and total time**. The pulse tells you how to run,
but not how much is left to run — now both are one button away without leaving the zone
screen behind.
- The head does not move. Pulse, limits, correction arrow and the five-band scale stay at
exactly the same coordinates on both pages, so flipping between them shifts nothing your eye
is tracking; only the footer changes.
- The pages now cycle the way the native running app does it: **DOWN** goes to the next page,
**UP** to the previous one — zone → zone with distance and time → data → zone. Swiping still
works, following the watch's own convention: up goes forward.
- Time is the activity timer, so it excludes pauses. With GPS off the distance shows `--` if
the watch reports none, though on a treadmill it usually still estimates it.
First release. Zone engine with confirmation and hysteresis, the run screen with the five-band
scale, a data page and an end-of-run summary, full activity recording with four custom FIT
fields, on-watch settings with 1 bpm steppers, presets from your Garmin profile zones, si