Field Notes

We walked the chrono out to 60 yards. The model held.

Two mornings, three different arrows, five distances each. The vane-drag fix ended with a promise to verify it downrange — here's the data.

David Marcus · July 2026

The last post ended with an IOU. The vane-drag fix was calibrated from separate sessions at 20 and 30 yards, and I wrote that the exact size of the brake "gets pinned by one clean run — launch, then move the Garmin to 50–60 yards." So that's what these two mornings were: the Garmin Xero C1 parked at a fixed spot, and me walking back to 20, 30, 40, 50, and 60 yards, shooting groups at each. Every reading is the arrow's actual speed at that distance — the same numbers the app claims to predict on its Launch & Impact tile.

Three different arrows crossed the chrono: a 523-grain Victory build, a 457-grain Black Eagle build, and — on day two, specifically to try to break the model with a shaft it hadn't seen — a 464-grain Easton 5.0 with a different diameter and a different front stack. All field points, all at Colorado elevation (~6,500 ft, which the app corrects for).

Day one: the model passed — and the chrono audited my inputs

The 523-grain arrow gave five clean, monotonically-falling readings, and the app tracked them within about 2 fps at every distance. The per-yard speed decay the Garmin measured landed almost exactly where the vane-drag model said it would. Promise kept.

The 457-grain arrow was more interesting: the app read 6–11 fps low against the chrono. Before touching the physics, I checked the build — and found the error on my side of the glass. That build had the bow entered at 80 lb with different string-accessory weights than my other builds, left over from before I'd scaled the limbs. The chrono arbitrated: with the bow entered correctly (84 lb, measured), the energy model predicted both arrows' launch speeds within about 1 fps. Same bow, same morning, two builds — the "inaccurate" one was the one describing a bow I don't own.

A chronograph doesn't just test the app. It tests your inputs. If two builds off the same bow disagree with the chrono by different amounts, look at the build entries before you blame the physics.

Day two: a shaft the model had never seen

Calibrating a model on one arrow and confirming it on the same arrow proves less than it seems to. So day two led with the Easton 5.0 — fatter shaft, different insert, a build the drag model played no part in tuning. Shot fresh, 20 through 50 yards, its measured speed decay agreed with the model's prediction to about a tenth of a percent. Here's the app's full prediction chain against the Garmin at every distance:

Velocity — fps

Distance App Garmin Δ (app − chrono)
20 yd295.2296.4−1.2
30 yd291.9293.9−2.0
40 yd288.6290.8−2.2
50 yd285.4286.9−1.5
60 yd282.1280.9+1.2

Kinetic energy — ft·lb

Distance App Garmin Δ (app − chrono)
20 yd89.890.5−0.7
30 yd87.889.0−1.2
40 yd85.887.1−1.3
50 yd83.984.8−0.9
60 yd82.081.3+0.7

Momentum — slug·ft/s

Distance App Garmin Δ (app − chrono)
20 yd0.6080.610−0.002
30 yd0.6010.605−0.004
40 yd0.5940.599−0.005
50 yd0.5870.591−0.004
60 yd0.5810.578+0.003

Velocity within ±2.2 fps. Kinetic energy within 1.3 ft·lb — under 1.5% — at every distance. Momentum within 0.9% (the Garmin displays power factor; the momentum column converts its measured speed and arrow weight with the same formula the app uses, so the comparison is apples to apples). And because KE scales with speed squared and momentum scales with speed, getting velocity right downrange is the whole game: the energy and momentum tables are accurate because the speed table is.

One more check that costs nothing and proves a lot: run the model backwards. Take each downrange reading and ask what launch speed would decay to exactly that number by that distance. This is a sharp test, because if the drag curve were wrong, the answer would drift with distance — a too-gentle model would make the far readings imply slower and slower launches, a too-aggressive one the opposite. For the 523-grain arrow, all five of day one's distances implied the same launch: 286 fps. Day two's sessions — different morning, different light, twenty-some shots into the session — implied 285 to 287. Ten sessions, two days, one number. That's what a model that has the decay curve right looks like, and it says the bow is as repeatable as the math.

The honest section: fatigue is a phantom drag term

Both mornings I shot the far distances last, and both mornings it shows in the data. Day two's last session (60 yards, after ~25 shots on an 84 lb bow) launched about 3 fps slower than the first four, which were constant to within a foot per second. A naive curve fit reads that slowdown as extra drag — the arrow arrived slower, and the math can't tell a tired shooter from thicker air. One session even recorded an arrow faster at 30 yards than at 20, which no drag model can produce; that's shot-to-shot launch variation, full stop.

So if you run this test yourself: shoot the far distances first, keep the shot count per session up, and treat any distance that reads faster than a nearer one as a launch-consistency flag, not a data point. The model's residual errors in the table above — a couple fps — are the same size as my own launch-to-launch spread. At that point the chronograph is measuring the shooter, not the software.

What changed in the app

Almost nothing — and that's the point. The vane-drag constant stayed exactly where the last post put it: the two arrows bracket it from either side, and the verification run said leave it alone. The real finds were an input-entry lesson, a testing-protocol lesson, and a pile of evidence that the numbers on the Launch & Impact tile are the numbers your arrow actually carries. The tools these tests exercised — the energy model, the altitude correction, the vane-drag curve — are live in the app today.

Two-day scorecard — app vs. Garmin Xero C1

Arrows tested523 gr / 464 gr / 457 gr, three shaft models
Distances20 / 30 / 40 / 50 / 60 yd
Downrange velocitywithin ±2.2 fps
Kinetic energywithin 1.5%
Momentumwithin 0.9%
Same arrow, both days — launch inferred from all 10 sessions286 fps every time

Same pattern as every post in this series: shoot it, measure it, find where the app disagrees with the chronograph, and let the data move the model. This time the data's verdict was to leave the model alone — which, after a month of it moving, is the best result there is.

Appendix: the full data, all three arrows

Every session, including the flawed ones — because the flawed ones are where the lessons live. Speeds are session averages (3–5 shots each); KE and momentum follow directly from speed and weight, so velocity is the honest scoreboard.

523 gr Victory HLR 250 — both mornings

Distance App Garmin day 1 Garmin day 2
20 yd280.8279.7280.3
30 yd278.0276.2280.5 *
40 yd275.1274.9275.2
50 yd272.4270.4271.4
60 yd269.6267.3269.3

Two independent mornings landing within a couple fps of each other and of the app at nearly every distance. The starred day-2 reading at 30 yards came from a two-shot session with a 6.5 fps spread — an arrow can't be faster at 30 than at 20, so that's launch variation, kept here on purpose.

464 gr Easton 5.0 — day two

Distance App Garmin Δ (app − chrono)
20 yd295.2296.4−1.2
30 yd291.9293.9−2.0
40 yd288.6290.8−2.2
50 yd285.4286.9−1.5
60 yd282.1280.9+1.2

The headliner — a shaft the model was never tuned on, shot fresh, five for five. The 60-yard session was the last of the morning and launched ~3 fps slow (see the fatigue section), which is why its delta flips sign.

457 gr Black Eagle Rampage 300 — day one

Distance App Garmin Δ (app − chrono)
20 yd298296.9+1.1
30 yd295296.2−1.2
40 yd292296.0 *−4.0 *
50 yd289288.5+0.5

The arrow that found my input error — these are the numbers after the build entry was corrected to the bow's true draw weight. The starred 40-yard session is the physically impossible one: 296.0 fps at 40 yards vs 296.9 at 20 is essentially zero decay over twenty yards, which no drag model can produce. Its −4.0 delta is a measurement of my launch consistency that session, not of the app. No 60-yard session for this arrow — daylight ran out.

Enter your build and see the downrange numbers these tests validated — velocity, energy, and momentum at every distance.

Get ArrowForge →