PoinT GOResearch
how to·how to

Fixing Barometric Altimeter Drift That Skews Jump Height Readings Indoors

Indoor HVAC and door-driven pressure swings quietly drift a barometric altimeter's baseline, inflating jump height over a session. Here is the re-zero fix.

PoinT GO Research Team··9 min read
Fixing Barometric Altimeter Drift That Skews Jump Height Readings Indoors

Forty minutes into a return-to-play testing block, the numbers stop making sense. The first three countermovement jumps of the session sit at 51-53 cm, tight and repeatable, exactly the scatter you expect from a healthy athlete on a normal day. By the last block, before anyone has touched a squat rack or added a single extra rep, the same athlete is reading 59-61 cm on the identical jump. Nobody gets 15 percent more explosive in the span of one testing session. What actually happened is quieter than fatigue or a coaching cue landing well: the rooftop HVAC unit above the turf cycled on twice during that block, the loading-dock door opened for an equipment delivery, and the barometric pressure sensor feeding the device's jump-height algorithm drifted its own zero point right along with the room. The jump did not get taller. The floor the device measures from moved.

What a Barometric Altimeter Is Actually Correcting For

A barometric altimeter estimates height indirectly, by reading local air pressure and converting a change in pressure into a change in altitude using the simple physical fact that pressure falls as you rise: roughly 12 pascals per meter near sea level. Most jump wearables that carry one are not using it as the primary jump-height sensor. The accelerometer still does that work in real time, integrating acceleration twice over the flight phase to get displacement for each individual rep. The barometer's job is narrower and more specific: it acts as a slow, low-frequency anchor that keeps the accelerometer's double integration from drifting across a session, since any accelerometer, no matter how good, accumulates small integration errors that compound into a growing bias over dozens of reps if nothing ever corrects them back toward a known reference.

That correction only works if the reference stays put. The algorithm treats the ambient pressure baseline captured near the start of a session as a fixed stand-in for ground level for the rest of that session. Outdoors, on a calm day, that assumption mostly holds. Indoors, in a mechanically ventilated building, it frequently does not, and the same feature built to stop one kind of drift becomes the entry point for another.

Why a Single Jump's Pressure Signal Is So Small to Begin With

The pressure change a real jump produces is tiny relative to what indoor air pressure does on its own. At sea-level density, the barometric formula puts the pressure drop across a jump's peak height at roughly 1.2 pascals per centimeter of rise, so even a strong countermovement jump barely moves the sensor.

Jump HeightPressure Drop at PeakAs a Multiple of Typical MEMS Barometer Noise (~0.03 hPa)
30 cm0.036 hPa~1.2x
40 cm0.048 hPa~1.6x
50 cm0.060 hPa~2.0x
60 cm0.072 hPa~2.4x
75 cm (elite CMJ)0.090 hPa~3.0x

A signal that sits at only one to three times a sensor's own noise floor cannot be trusted rep by rep on its own, which is exactly why no device tries to read jump height straight off the barometer. It is only usable once it is heavily filtered and blended with the accelerometer over many reps. That filtering is also what lets a slow, real change in ambient pressure slip past undetected, since a low-pass filter built to smooth out per-sample noise treats a genuine multi-minute drift as a legitimate, slow-moving signal rather than as an error to reject.

Where the Drift Comes From: HVAC Cycling, Doors, and Building Pressure

Indoor ambient pressure is not a constant. Research into barometric sensors for indoor positioning has documented exactly the mechanisms at play in a gym or testing room. Muralidharan et al. (2014, presented at HotMobile) tested smartphone-grade barometers for floor-level detection in office buildings and found that HVAC operation and door movement could push apparent altitude readings by an amount large enough to be mistaken for a full floor change within minutes, purely from ambient pressure swings with no real elevation change involved. Their setting was floor counting in multi-story buildings rather than sport wearables, so the exact magnitudes will not map one-to-one onto a single weight room, but the underlying mechanism, uncontrolled pressure change driven by mechanical ventilation, is the same one degrading a jump-height reading.

Xia et al. (2015, Sensors) studied the same problem from the correction side, showing that a lone barometer drifts enough from ambient changes to generate false floor transitions, and that referencing a second, stationary barometer to cancel out the common ambient pressure change substantially reduced that drift-driven error compared to a single uncorrected sensor. Their validation used stairwells and multi-floor buildings over minutes-long windows, not the sub-second flight time of one jump, so their exact averaging intervals do not transfer directly to a jump algorithm. What does transfer is the fix itself: a stationary reference point that separates real device movement from the room's own pressure changing underneath it.

The scale of the mismatch is the whole problem. HVAC fan cycling alone commonly moves ambient pressure by a few tenths of a hectopascal over a 10-20 minute cycle, a door opening near a sensor can produce a sharper swing on the same order, and neither has anything to do with how anyone is jumping.

Ambient DisturbanceTypical MagnitudeEquivalent Phantom Jump Height
HVAC fan cycling on/off0.05-0.15 hPa42-125 cm
Exterior or loading-dock door opening0.10-0.30 hPa83-250 cm
Passing weather front over hours0.20-1.00 hPa170-830 cm (long sessions only)

Set beside the 0.036-0.090 hPa a real jump produces, even the mild end of ordinary HVAC cycling dwarfs the actual signal several times over.

How a Slow Baseline Shift Turns Into a Fake Performance Trend

This is the detail that makes the artifact so easy to mistake for real adaptation or real fatigue: it is not noise. Noise scatters a reading up and down, rep to rep, in a way that a trend line and a bit of statistical sense can shrug off. Drift moves in one direction, smoothly, for as long as the room's pressure keeps moving in that direction, and a smooth one-directional creep is exactly the shape a coach expects from genuine improvement or genuine decline across a session.

The mechanism runs through the same correction that was supposed to prevent accelerometer drift. As ambient pressure falls indoors, the fusion algorithm reads that as the device rising relative to its stored baseline, and nudges the accelerometer's height output upward to match. It has no way to tell the difference between the athlete's mounting point actually moving and the room around it losing pressure for reasons that have nothing to do with sport. Every jump computed after that point inherits the same upward nudge, and if the room keeps drifting, the next correction stacks on top of the last one. That is precisely the pattern in the opening scenario: 51-53 cm early, creeping to 59-61 cm late, with the HVAC cycling twice in between and nothing changing in the athlete's legs.

The Re-Zeroing Protocol: Resetting the Baseline Mid-Session

Run this on any barometer-fused jump device feeding height into a testing or return-to-play decision, and repeat it whenever the testing room, HVAC schedule, or session length changes meaningfully.

  1. Confirm the device combines a barometric sensor with the accelerometer for jump height, and check the settings menu for a manual or automatic baseline re-zero option.
  2. On a normal training day, let the device log jump height continuously for 40 minutes with no re-zero, having the athlete perform 3 consistent countermovement jumps every 10 minutes at a fixed sub-maximal effort.
  3. Plot the readings against elapsed time. A steady creep in one direction, with no matching change on video, is the drift signature; scatter with no consistent direction points to a different problem entirely.
  4. Cross-check at least two time points against an independent measure: 240 fps side-view video, using flight time squared times gravity, divided by eight, to get an independent height, or a contact mat if one is available.
  5. If drift is confirmed, set the device to re-zero every 8-10 minutes, or every set, during the natural 3-5 second stationary window between reps, instead of relying on one baseline captured at session start.
  6. Repeat the 40-minute diagnostic with re-zeroing switched on and confirm the trend now sits flat, tracking the video-based reference within your device's normal per-rep noise band.

Worked Example: A 40-Minute Combine Block Before and After Re-Zeroing

A collegiate volleyball athlete performed a fixed sub-maximal countermovement jump every 10 minutes across a 40-minute testing block in a gym with rooftop HVAC on a 15-minute cycle. The table shows the device's reading with no re-zero, the same session repeated the following week with re-zeroing every 10 minutes, and an independent 240 fps video reading for both sessions.

Time (min)Device JH, No Re-ZeroDevice JH, Re-Zeroed Every 10 MinVideo Reference JH
052.3 cm52.3 cm52.1 cm
1053.6 cm52.0 cm52.4 cm
2055.9 cm52.5 cm51.9 cm
3058.1 cm52.2 cm52.3 cm
4060.7 cm51.8 cm52.0 cm

Without re-zeroing, the device climbed 8.4 cm over 40 minutes against a video reference that never moved more than half a centimeter from its own average. With re-zeroing every 10 minutes, every device reading landed within 0.5 cm of the video number, well inside normal rep-to-rep noise for a countermovement jump. Nothing about the athlete changed between the two sessions; the only variable was how often the baseline got reset against the room.

FAQ

Frequently asked questions

01Does this affect every jump-height wearable, or only ones with a barometric sensor?
+
Only devices that fuse a barometric pressure sensor with the accelerometer are exposed to this specific failure. A device using accelerometer double integration alone, or a contact mat, cannot pick up room pressure changes at all, though accelerometer-only devices carry a different long-session drift problem of their own, which is exactly the issue the barometer was added to fix in the first place.
02How do I check whether my device even uses a barometer for jump height?
+
Check the spec sheet or settings menu for a mention of an altimeter, barometric correction, or pressure sensor. If that is not listed anywhere, a quick field test works too: leave the device stationary near an air vent for 10 minutes and watch whether any calibration or baseline value in the app shifts on its own with no movement involved.
03Would testing outdoors just sidestep this problem?
+
It removes the HVAC-cycling source specifically, but not ambient drift altogether. Wind gusts, passing vehicles, and doors near a testing area still create their own pressure transients outdoors, and a slow-moving weather front can shift ambient pressure gradually across a long outdoor session in the same way HVAC does indoors. Run the same 40-minute diagnostic outdoors before assuming it is unaffected.
04How often should I re-zero if I do not know my facility's HVAC cycle length?
+
Every 8-10 minutes, or once per set, is a reasonable default, since most commercial HVAC compressor and fan cycles run somewhere in the 10-20 minute range. If the 40-minute diagnostic still shows a directional creep at that interval, shorten it to every 5 minutes and re-test rather than guessing further.
05Would it be simpler to just disable the barometer and trust the accelerometer alone?
+
It trades one problem for another. Turning off barometric correction removes the room-pressure risk described here, but reintroduces the slow bias that unchecked accelerometer double integration accumulates over a long session on its own, which is the reason a barometric channel got added to these devices to begin with. Fixing the re-zero cadence solves the actual problem without giving up the correction the barometer was there to provide.
Keep reading

Related Articles

how to

Force Plate Baseline Drift: Zeroing and Tare Fixes for Clean Session Data

Body weight creeping mid-session? Temperature and residual load quietly shift a plate's zero. A field checklist for re-zeroing before it wrecks your data.

how to

IMU Sampling Rate Too Low for Plyometrics: How to Diagnose and Fix It

Ground contact under 200ms needs real timing resolution. See how low IMU sampling rate creates quantization errors that skew RSI, and the minimum Hz to use.

how to

Troubleshooting Jump Sensor Overreads on Soft Surfaces: Mats, Turf, and the Contact-Delay Fix

Jump sensor overread on mats and turf comes from delayed ground contact detection. See the mechanism, real research, surface risk table, and a calibration fix.

how to

Fixing Accelerometer Clipping in High-Impact Plyometrics

Hard drop jump landings can exceed your sensor's g-range, clipping the signal and skewing ground contact time and RSI. Here's how to set the range right.

how to

Ankle Sprain Return-to-Play: Hop Test and Balance Cutoffs Before Cutting Resumes

Pain-free jogging isn't clearance to cut. A hop-and-balance protocol with the LSI and reach cutoffs research actually supports before cutting resumes.

how to

Bands and Chains Wreck Your VBT Velocity Readings: How to Fix It

Add bands or chains and your velocity zones lie. See why accommodating resistance skews VBT readings, and how to test and prescribe around it.

how to

Beach Volleyball Jump-Serve Contact Velocity Test: Measuring Toss-to-Contact Timing on Sand

Radar clocks the ball, not why the reading swings 15 km/h between serves. Get the toss-to-contact timing protocol, sand setup, and 2 cited studies.

how to

Bluetooth Dropout Losing VBT Reps Mid-Set: How to Diagnose and Fix It

A set logs 4 of 6 reps and the velocity chart has a gap. Split the cause into interference, distance and buffering, then recover the missing data.

Measure performance with lab-grade accuracy

Get PoinT GO