Easy BPM Running — Heart Rate Zone Runner
· v1.1.0
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.1.0)
Two things the first weeks of running with it asked for: the map, and a summary that says
more than one number.
- **The activity now carries its GPS track.** Starting a run switched the receiver on and
then, a heartbeat later, switched it off again — the positioning receiver is shared by the
whole app, and the home screen was still shutting down its own when the run page replaced
it. The recording kept everything except where you went, so Garmin Connect had no map to
draw. It does now.
- **The summary ring is the whole run, broken into four.** Grey for the warmup, lime for the
time in zone, amber for the tolerance band, red for out of range — the same four colours
the run screen uses, in the proportions you actually ran them.
- **Warmup is no longer charged against you.** Everything before your pulse first reaches
the zone is its own grey slice: climbing towards the range is the body doing its job, not
a mistake. It ends the moment you arrive and never comes back.
- **Every slice shows its distance.** Beside each percentage is the ground you covered in
it, so "I spent a fifth of the run above the range" also tells you it was 1.4 km of it.
- **The FIT file gained the warmup time**, next to the percentage in zone, the time above
and below, and the number of excursions it already carried.
- **Every kilometre is announced** — every mile, in imperial — with a signature of its own:
two strikes of the same note and one long buzz, where every zone cue rises or falls. It
also cuts a lap, so Garmin Connect lays out the splits. It obeys the sound and vibration
switches you already have; there is nothing new to turn on.
- **The main page lost its divider.** Three sizes and three colours already separate the
time from the pulse; the line was pointing at a boundary nobody was looking for.
- **Kilometres or miles, and Auto by default.** Auto follows your watch's own units setting
— the same one Garmin Connect uses — so the app and the phone cannot show you two different
numbers for one run. You can still pin it to km or mi, on the watch or from the phone.
- **The correction arrows are equilateral now, with rounded corners.** They were stretched
and sharp-pointed, which read as drawn rather than set beside a typeface built out of
circles.
If you like it, please support:
https://ko-fi.com/deinygp
### 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.
### 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