//The Lab · TP-200 · Heart-rate control

Inside the zone: where the belt will park your heart rate

In a hardware test, a Zone 2 segment spent an entire workout glued to the bottom edge of its heart-rate band — by design. We dug through physiology, treadmill patents and simulations of our own control logic to find where the app should hold you instead: neither the edge nor the middle.

24 August 2026 Source: hardware test + verified research Method: 4 research tracks, adversarially checked

The observation

On 22 August we ran a hardware test with a Zone 2 segment prescribed at 136–146 bpm. The app raised the belt until the heart rate entered the band — and then it sat at ~136 for the entire segment. Not the middle. The bottom edge, the whole workout. That is measured, straight from the real workout log.

It is not a bug. Today's rule treats the whole band as a place to do nothing: once your heart rate is anywhere inside it, the app stops touching the speed. Engineers call this a dead zone — a range where the app deliberately stays quiet. Arriving from below, "anywhere inside" means the first beat past the bottom edge, so that is where you park.

A fragile edge

The edge holds you there actively. Slip 1–2 bpm below it and the app nudges the belt up, pushing you back to the line — so the line is where you live.

The trouble is that the line itself moves. At the same easy pace, heart rate varies by 5–6 bpm or more from one day to the next. The 136 that sits honestly in Zone 2 today can be upper Zone 1 tomorrow — and the app would still defend it, beat for beat.

And for the first stretch of a run — drift only starts after roughly 10–12 minutes — you simply sit at the weakest point of the zone you asked for. We went looking for anyone who designs it this way on purpose. We found nobody.

Where each policy actually settles Simulated behaviour · four policies on a 136–146 band
Any policy that goes quiet inside a range settles at that range's own bottom edge — arriving from below, the first quiet beat is where you stay. The entry target moves that first quiet beat to 140, then hands the whole band back to silence.

What the gym machines do

We read the manuals and patents behind commercial treadmill heart-rate programs. The pattern is consistent: a single target inside the zone, held with a small tolerance. Not one product documents "the whole zone is a place to do nothing".

True Fitness's Cruise Control patent (US5462504) holds one number within ±3 bpm. A Star Trac patent (US5879270) is the sharpest precedent: it targets LOW+5 and HIGH−10 bpm — deliberately below the middle, keeping the bigger buffer under the top of the zone. Polar's manual points the same way — "the mid-zone is a good target" — while adding that pinning it exactly is unnecessary.

One comparison worth having: those machines adjust the belt every 8–20 seconds. TreadPilot waits at least 45–60 seconds between commands — 2–5× more patient than hardware that has run in gyms for 25 years. We have room to aim better without getting twitchy.

What your heart does

A training zone is a plateau, not a gradient. The middle of the band has no special physiological meaning; the only boundary with real teeth is the top edge. Everything below it is the same easy effort.

Then there is drift. Hold a steady workload in a 22 °C room and your heart rate creeps up ~7–8 bpm between minute 15 and minute 45 — with no change in how hard you are actually working. Indoors at moderate temperature, expect roughly 5–8 bpm over a 45–60 minute run.

Drift is exactly why parking low inside the band is useful: the band above you is headroom, and a 10 bpm band can just absorb a typical 45–60 minute run — if you start low enough. It is also why pinning heart rate to one fixed number forever is the wrong instinct. To hold the number, the belt has to keep slowing, and a clamped heart rate does not even preserve the effort — in a hot-room experiment, holding heart rate constant forced the workload down by 37% in 30 minutes.

Heart-rate drift at a steady workload Published measurement · Wingo et al. 2012, 22 °C room
Heart rate at a steady workload creeps up ~7–8 bpm between minute 15 and minute 45, with no change in how hard you are actually working. Park near the bottom of the band and that creep has the whole band to spend.

The decision

The next update adds an entry target. Arriving from below, the app will not stop at the bottom edge — it will keep nudging until your heart rate reaches the lower edge plus 40% of the band's width, rounded down. For a 136–146 band, that is 140.

Once you have touched 140, the whole band goes quiet again, exactly as today. No mid-band chasing, no perpetual corrections — the same calm, from a better parking spot, with ~6 bpm of drift headroom above you.

We tested the alternatives on a faithful simulation of the app's own decision rules — 30 runs per policy with realistic sensor noise, using the app's own timing and step sizes. Permanently chasing the middle bought +0.13 of band position for 57–75% more speed changes: one noticeable nudge every 2–4 minutes, for the whole workout, forever — and as drift builds, it actively slows the belt. The entry target landed at 0.30 of the band with 7.0 speed changes and zero back-and-forth — fewer than today's edge-riding rule (7.6), because it parks clear of both edges instead of on one, where sensor noise keeps clipping it.

The simulation also killed the tempting shortcut. Every do-nothing-zone policy parks at its own bottom edge — relabel the target "the middle" and you have just built a new edge at 139. If you want the runner somewhere, you move where the quiet zone begins. That is what the entry target does.

One honest footnote: in a simulated 60-minute drift run, the new rule let the heart rate slip above the band for 51 seconds, by at most 1 bpm — a quirk of an existing delay, there to stop rapid back-and-forth, that affects today's rule under heavier drift too. Closing it is a separate, smaller decision, and it is on the list.

Simulation results Simulation · 30 noisy runs per policy, the app's own constants
Mean settling position inside the band (0 = bottom edge, 1 = top) against speed changes per noisy 30-minute run. The entry target reaches 0.30 of the band with 7.0 speed changes — deeper in than today's edge-hold and on fewer changes (7.6); mid-band chasing pays 13.3.
Aim inside

Arriving from below, the app will push past the bottom edge to an entry point: the lower edge plus 40% of the band's width, rounded down. In a 136–146 band, that is 140.

Then go quiet

Once the entry point is touched, the whole band becomes a no-touch zone again — exactly today's calm, from a better spot.

Let drift spend the band

Heart rate creeps upward on long runs. Parking at 140 leaves ~6 bpm of headroom before the top edge trims, so a typical 45–60 minute run rarely needs a slow-down at all.

Safety takes the hint

If the safety ceiling ever forces the speed down, upward pushes stop for the rest of the segment. A fired ceiling is proof the top of the band is the dangerous part.

What stays the same

Everything with safety in its job description. You still prescribe a band, never a number. The top edge behaves exactly as before: drift that reaches it still gets trimmed there, and the app still never pushes into your top zone.

The speed ceilings, the fallback, manual takeover and the give-up rule are all untouched. One guarantee comes on top: if the safety ceiling ever forces the speed down, the upward push is over for that segment — a fired ceiling is proof that the top of the band is where the danger is, and the app takes the hint.

This is a decided change, not a shipped one. It is small and local — a different aim inside a band you chose — and it lands in the next update with its own set of tests.

Safety unchanged

This change only moves where the app aims inside a band you chose. Heart-rate mode stays opt-in and off by default; the speed ceilings, forced slow-down, manual takeover, give-up rule and top-edge behaviour are untouched — and if the safety ceiling fires, the upward push is cancelled for the rest of the segment.

← Back to The Lab