The Science Behind
Zone Pedal
How Zone Pedal's HR-guided trainer control works, what the evidence supports, what we removed, and where the honest gaps remain.
Executive Summary
On supported steady workouts, Zone Pedal can guide compatible smart-trainer resistance using heart rate as the primary feedback signal, rather than fixed power targets. That control requires the trainer to have usable resistance headroom above its floor. The system uses a feedforward-first control architecture with a recursive Bayesian estimator that learns your personal cardiac gain: the relationship between how hard you pedal and how your heart responds.
Conventional smart trainers use ERG mode: they hold a fixed power regardless of your physiological state. During prolonged exercise, cardiac drift causes heart rate to rise 5–20 bpm at constant power (Coyle & Gonzalez-Alonso 2001). ERG mode ignores this. When the trainer has room to respond, Zone Pedal can reduce power to keep the ride closer to the prescribed heart rate zone; when it is already at the floor, the app labels that limitation instead of reporting clean controller authority.
Key Evidence
| Claim | Evidence | Result | Verdict |
|---|---|---|---|
| Maintains HR below ceiling | Safety checks | Software safety checks cover supervisor, dropout, and transitions; out-of-family testing added 0 new max-HR breach scenarios | Supported |
| Bounded HR-guided control | Controller checks | Controller behavior checks cover HR-guided trainer control and floor-limited authority reporting | Supported |
| Learns rider cardiac gain | Synthetic rides with known ground truth | Bias 0.049 bpm/W, RMSE 0.062 bpm/W, CI coverage 99.6% | Partially supported |
| Cross-workout knowledge transfer | Interval-to-Zone-2 simulation | 58.5% feedforward error reduction | Supported in simulation |
| First-ride calibration quality | First-ride calibration simulation | 8/8 criteria met: prior accuracy, zone accuracy, noise robustness, cross-archetype | Supported in simulation |
| Compensates for cardiac drift | Cardiac drift simulation | Drift MAE 0.071 bpm/min, compensated HR error 0.65 bpm. 8/8 criteria met. | Supported in simulation |
Validation is synthetic or computational, with real-ride replay used to characterize behavior on recorded rides. No clinical trial has been conducted. No IRB review has been performed. Zone Pedal is a fitness application, not a medical device.
System Architecture
The system models your cardiovascular response as a first-order system: your heart rate at any given power output is determined by a personal baseline plus a gain factor (K) multiplied by power. The controller inverts this model to compute the power needed for your target heart rate, clips it to hardware limits, then applies small feedback corrections.
In plain terms: the system predicts what power should put you in zone, asks the trainer for that resistance when the trainer can execute it, and makes small adjustments based on what your heart rate actually does. The better it knows your K, the better the first guess.
The Core Equation
Where K is your cardiac gain (bpm per watt), β0 is resting baseline, δ is the drift estimate, and K_safe is a conservative bound on K that biases toward lower power when uncertainty is high. The system earns feedforward authority as the K estimate tightens.
Five Control Modes
The controller selects between five modes depending on workout phase and effort duration. This matters because heart rate lags power changes by 10–80 seconds, and closed-loop HR control only works when the effort lasts long enough for the cardiovascular system to reach approximate steady state.
| Mode | When Active | Strategy |
|---|---|---|
| Open Loop Warmup | First 150s + ramp + dither | Power-controlled. HR observed for estimator but not used for control. |
| Calibrating | Initial K estimation | Ternary dither excitation. Estimator running, feedforward not yet active. |
| Feedforward + Trim | Steady-state and long intervals (>3 min) | Feedforward power command + deadband trim. Primary operating mode. |
| Open Loop Recovery | Recovery between intervals | Fixed low power. HR drops naturally without feedback chasing. |
| Power Assist Sprint | Short intervals (<30s) | Power-led targets. HR used only as ceiling. |
Bayesian K Estimation
A bank of parallel Kalman filter models, each assuming a different cardiac time constant, run simultaneously and are reweighted by their predictive accuracy. The posterior K estimate is a precision-weighted mixture across all models. The coefficient of variation (CV_K) determines how much the controller trusts its feedforward estimate. When uncertainty is high, the system defaults to feedback-only trim control.
What We Tested
The evidence is intentionally scoped. It supports the ride-control path, controller behavior, safety supervisor, HR-dropout handling, floor-limited authority reporting, and phase transitions. It does not prove clinical outcomes, broad trainer certification, or real-rider performance under controlled study conditions.
Safety Behaviors
The controller uses three escalating intervention layers to reduce overshoot risk. It checks both a model-based 45-second lookahead and a slope-based 30-second extrapolation, then applies whichever limit triggers first.
| Layer | Trigger | Action |
|---|---|---|
| Freeze | Predicted threat exceeds zone_max + 2 bpm | Hold current power; block increases |
| Emergency | Predicted threat exceeds max HR − 5 bpm | Reduce power to 70% of current |
| Hard Stop | Smoothed HR exceeds max HR | Set power to floor |
Evidence Summary
The strongest evidence is for bounded software behavior: the app can compute and apply conservative trainer commands, label cases where the trainer floor dominates, and avoid introducing new max-HR breach scenarios in the out-of-family physiology test set.
| Behavior | What It Checks | Takeaway |
|---|---|---|
| HR ceiling behavior | Freeze/starvation guard, hard-stop latency compensation, and safety supervisor behavior | Supervisor intervenes as designed |
| Dropout handling | How the controller behaves when HR data becomes stale or unavailable | Falls back conservatively |
| Phase transitions | Work/recovery transitions without feedback chasing or unsafe command jumps | No unsafe command jumps found |
| Trainer limits | Floor-limited rides are reported as limited authority, not clean HR control | Limits are labeled |
| Out-of-family physiology | 0 new max-HR breach scenarios vs. the first-order baseline | No new breach scenarios found |
Learning Your Heart
The controller's first guess depends on how well it knows your cardiac gain (K): how many beats per minute your heart rate tends to rise for each additional watt. We tested that estimate across synthetic rides with known ground truth, then checked whether the learned value behaves plausibly on real ride files.
The Protocol Matters
The single most important finding: interval workouts teach the model far more than flat Zone 2 rides. Without meaningful power variation, there is very little information about how your heart rate responds to power changes.
Intervals give roughly 10x better K estimates than flat Zone 2 because they create the power variation the estimator needs.
Cross-Workout Transfer
The product thesis is that useful rides teach the controller something it can use later. In simulation, riders completed interval rides followed by Zone 2 rides. Carrying learned K forward reduced Zone 2 feedforward error by 58.5% compared with starting each ride from a neutral prior.
Interval rides teach the system your cardiac gain. That knowledge makes later Zone 2 feedforward estimates materially better in simulation.
Calibration Protocol Design
Calibration should be long enough to observe cardiac response and varied enough to teach the model. The evidence supports conservative guidance: use a practical endpoint at or below 85% of max HR and treat short flat-power protocols as low-information.
Cardiac Drift Compensation
Cardiac drift is the gradual rise in heart rate at constant power during longer exercise. In synthetic drift tests with known ground truth, the drift estimator tracked physiologically typical drift rates within 0.65 bpm after compensation. That supports the core reason Zone Pedal exists: fixed power can drift away from the intended physiological zone.
Real-Data Characterization
47 real cycling rides from 5 athletes in the GoldenCheetah OpenData corpus were processed. The K distribution (mean 0.323 bpm/W, range 0.200–0.641) overlaps published literature. The negative correlation between K and peak power (r = −0.72) is directionally consistent with exercise physiology: fitter riders tend to show lower cardiac gain.
Real rides do not provide ground-truth K values, so this is characterization, not accuracy proof. It shows the estimator behaves plausibly on real files; the synthetic tests above are where accuracy can be measured directly.
Fitness Estimates
Zone Pedal can estimate VO2max from the learned cardiac model, using the Storer-Davis cycle ergometry formula applied to an extrapolated maximum power. The app only produces an estimate when K uncertainty is low enough to avoid fake precision.
Quality Thresholds
The estimate is confidence-labeled, and it is withheld when the K posterior is too loose.
| CV_K Range | Quality | Estimate Produced? |
|---|---|---|
| < 0.10 | High | Yes |
| 0.10 – 0.20 | Moderate | Yes |
| 0.20 – 0.25 | Low | Yes |
| ≥ 0.25 | Insufficient | No |
VO2max estimation was validated against synthetic ground truth, not against laboratory measurements. No head-to-head comparison with laboratory VO2max testing or other consumer device estimates has been performed.
What We Removed
Several physiological features were built or researched and then kept out of the app. The rule is simple: if the signal cannot change the ride experience reliably, it should not become a rider-facing claim.
| Feature | Decision | Why |
|---|---|---|
| HRV readiness | Not shipped | Moderate recovery states were too hard to distinguish from noise reliably enough for rider-facing advice. |
| Fatigue detector | Removed | The detector missed most simulated fatigue while still producing false alerts under consumer-level noise. |
| Bad-legs-day classifier | Research only | The thresholds are engineering choices, not physiologically derived rider advice. |
Fatigue Detection
The fatigue detector tracked K trajectory changes during a ride. It failed both sides of the tradeoff: 15.0% false positive rate, 15.0% true positive rate, and no useful post-onset detections. Under noise, false positives first exceeded 20% at 4 bpm. That is not good enough to earn a place in the app.
The detector was removed rather than shipped in a state that would train riders to ignore the system.
Stress-Testing Assumptions
Most validation in fitness apps tests the system against its own assumptions. If the estimator assumes a first-order cardiac model, and the simulator uses the same first-order model, then strong results prove internal consistency, not real-world robustness. We also tested against a second simulator that deliberately violates those assumptions, then replayed 52 real cycling rides through the system.
Three Evidence Tiers
Every result in this document falls into one of three tiers:
| Tier | What It Proves | Example |
|---|---|---|
| Exact-match simulation | Internal consistency: the system works when reality matches its assumptions | Synthetic rides with known ground truth |
| Robustness simulation | Resilience: the system degrades gracefully when assumptions are violated | Out-of-family cardiac model |
| Real-data replay | Ecological validity: the system produces plausible results on actual rides | Recorded ride files |
Out-of-Family Model Testing
We built a second cardiac simulator with six physiological effects the controller model does not capture: logistic HR saturation near max, time-varying K and tau (warmup acceleration + fatigue decay), BLE latency jitter and dropout, Student-t noise with ectopic spikes, heat/hydration drift, and a soft HR ceiling. Then we ran the main checks against it.
| Behavior | Count | Meaning |
|---|---|---|
| Maintained | 12 | Performance equivalent to ideal-model testing |
| Degraded | 5 | Measurable loss but still functional |
| Failed | 3 | Falls below acceptable threshold |
Safety held everywhere: zero new ceiling activations, zero max-HR breaches. The primary boundary was time-varying K/tau: warmup and fatigue dynamics that the controller model intentionally simplifies.
Real-Ride Replay
52 real cycling rides (47 from the GoldenCheetah OpenData corpus + 5 internal Tacx Neo 2T rides) were replayed through the system. Total: 77 ride-hours.
| Metric | Value |
|---|---|
| Rides replayed | 52 |
| Total ride-hours | 77 |
| K estimate median | 0.31 bpm/W (matches synthetic distribution) |
| Feedforward RMSE median | 26.3 bpm |
| BLE delay sensitivity (0→10s) | +5% RMSE (negligible) |
Real rides introduce dynamics the controller model does not capture: nonlinear cardiac responses, autonomic nervous system effects, environmental conditions, and sensor noise. The system produces physiologically plausible K estimates and degrades gracefully rather than failing catastrophically.
DFA Alpha1 Threshold Detection
DFA alpha1 estimates aerobic (VT1) and anaerobic (VT2) thresholds from heart rate variability during a stepped power ramp. The Aerobic Threshold Finder workout uses a 35-minute protocol with 6 power steps and requires a chest strap transmitting RR intervals.
The validation tested four dimensions across 16 criteria:
| Experiment | What It Tests | Result |
|---|---|---|
| Alpha1 accuracy | Computation against known signals (white noise, 1/f, physiological) | All 4 checks met |
| Threshold detection | VT1/VT2 crossing on synthetic ramps (gradual, steep, varying gaps) | All 4 checks met |
| Noise robustness | Detection under typical chest strap noise (σ=10ms, 2% ectopic, 1% dropout) | All 4 checks met |
| Protocol end-to-end | Full Aerobic Threshold Finder workout simulation with 5 rider archetypes | All 4 checks met |
Noise shifts alpha1 values upward but preserves the descent shape. A piecewise linear breakpoint detector finds the inflection point where cardiac control transitions, making threshold detection robust to the noise levels typical of consumer chest strap monitors.
Known Limitations and Honest Gaps
No Clinical Trial
Most results in this document come from deterministic synthetic simulations or Monte Carlo parameter recovery on simulated riders. The out-of-family model testing and real-ride replay extend beyond internal-consistency validation, but they are still computational evidence. No clinical trial has been conducted. No real riders have been studied under controlled conditions with the Zone Pedal controller active.
K Estimation Requires Power Variation
The estimator learns your cardiac gain (K) from power variation during a ride. A power-variation gate prevents low-information rides, like flat Zone 2 steady state, from corrupting the K estimate. In practice, this means interval workouts and calibration rides teach the system; Zone 2 rides mostly use what was already learned.
Zone 2 Is Structurally Unobservable
Zone 2 rides provide near-zero Fisher information about K because power variation is minimal. The estimator cannot learn K from Zone 2 rides alone. This is not a defect. It is a mathematical fact: without power variation, the HR-power relationship is not identifiable. The system handles this by retaining K from prior informative rides and gating K updates when power variance is below 1.0 W².
Fatigue Detection Was Removed
We built a fatigue detector, tested it, and removed it from the app. The single-signal approach could not separate fatigue from sensor noise well enough to trust. We chose to remove the feature rather than ship one that would erode trust in the rest of the system.
Limited Real-World Data
The replay set includes 52 rides from 6 athletes: 47 GoldenCheetah rides plus 5 developer rides. That is enough to characterize replay behavior, but not enough for population-level inference. Elite, elderly, cardiac-compromised, and pediatric populations are not represented.
No Head-to-Head Outcome Comparison
No study has compared training outcomes between Zone Pedal's HR-adaptive control and conventional power-based ERG training. The evidence for HR-based training equivalence comes from Akubat et al. (2013), not from Zone Pedal's specific implementation.
No Medical Device Claim
Zone Pedal is a fitness application. It has not been evaluated by the FDA or any regulatory body. It does not diagnose, treat, or prevent any disease. Users with cardiovascular conditions should consult their physician before using any exercise equipment.
Unvalidated Capabilities
| Capability | Status |
|---|---|
| VO2max estimation against laboratory reference | Not yet validated |
| Long-term fitness trend detection from K trajectory | Not yet validated |
References
Published Literature
Akubat I, Patel E, Barrett S, Sherwin Z. Methods of monitoring training load and their relationships to changes in fitness and performance in competitive road cyclists. J Sports Med Phys Fitness. 2013. PMC3737823.
Argha A, Su SW, Celler BG. Automated PID control of heart rate during treadmill exercise. J Biomech Eng. 2016.
Argha A, Su SW, Celler BG. Heart rate regulation during cycle-ergometer exercise via bio-feedback. Conf Proc IEEE Eng Med Biol Soc. 2017.
Hunt KJ, Fankhauser SE. Heart rate control during treadmill exercise using input-sensitivity shaping. J Sports Sci Med. 2019;18(1):47-55. PMC6370964.
Hunt KJ, Hurlimann N, Fankhauser SE. Physiological systems modelling for heart rate control during cycle-ergometer exercise. Proc Inst Mech Eng H. 2024.
Coyle EF, Gonzalez-Alonso J. Cardiovascular drift during prolonged exercise. Sports Med. 2001.
Achten J, Jeukendrup AE. Heart rate monitoring: applications and limitations. Sports Med. 2003.
Storer TW, Davis JA, Caiozzo VJ. Accurate prediction of VO2max in cycle ergometry. Med Sci Sports Exerc. 1990;22(5):704-712.
Evidence Notes
| Claim | Evidence Used |
|---|---|
| Safety checks | Software safety checks cover supervisor behavior, dropout handling, phase transitions, floor-limited authority reporting, and out-of-family max-HR behavior. |
| Real-ride replay | 52 recorded rides, 76.9 ride-hours, and 26.3 bpm median feedforward RMSE characterize behavior on real files. |
| Cross-workout transfer | Simulation shows a 58.5% Zone 2 feedforward-error reduction when interval-learned K carries forward. |
| Calibration guidance | Small protocol comparisons support conservative calibration guidance, not broad protocol optimization claims. |
| Fatigue detector decision | 15.0% false-positive rate, 15.0% true-positive rate, and no useful post-onset detections led to removal. |