Recovery · ejection charge sizing Report a problem

Black Powder Charge Calculator

Sizes the FFFFg (4F) ejection charge for a parachute bay using a force‑first model — it solves for the force needed to shear pins and eject the recovery laundry with authority, then derives the pressure and powder mass. This corrects the main weakness of fixed‑pressure calculators, which under‑charge small airframes and over‑charge large ones. Always treat the result as a ground‑test starting point.

Inputs

Enter the bay you are pressurizing. Measure length from the rear bulkhead to the point of separation.

Solve for
Units
in
in
lb
lb
in
Protection
0.70
Target by
Workflow 1 physical: diameter, length, masses & shear pins 2 match recovery packing to reality 3 tune safety factor for an energetic velocity (or leave Auto‑tune on)
lbf
Auto-tune
40 %

How to use this calculator

A two-minute orientation to the workflow, every setting, and how to read the result.

What it does — in one paragraph

It sizes the FFFFg black-powder ejection charge for one parachute bay. Instead of guessing a pressure like most calculators, it works from the force the charge must deliver — enough to shear any pins and overcome the nose-cone friction, scaled by a safety factor — then derives the pressure and powder mass for your tube diameter and packing. It also reports the resulting separation velocity so you can confirm the deploy is energetic. The output is a starting point for ground testing, never a guaranteed flight charge.

Quick start

Enter your airframe inner diameter and bay length (rear bulkhead to the separation point). Tap a diameter preset if one matches.
Leave Target by → Required force selected (recommended). Add your shear pins and set the nose-cone friction. Optionally enter the masses and shoulder length to see the ejection velocity.
Read the big number — that is where you start ground testing. It already includes the 40% safety factor. Use the Ground-test protocol tab to confirm the real charge.
Check the ejection velocity reads in the energetic 20–50 ft/s range; if it’s low and you want a snappier deploy, raise the safety factor in Advanced.

The two readouts in the result box

Recommended charge (big orange figure) — the powder mass that produces Fetter’s required force, (pin shear + nose friction) × (1 + safety factor), using his conservative packed-against-the-charge heat absorption for your bay and packing. It already includes the 40% safety factor, which covers black-powder variability and ensures an energetic deploy. It is still a bench starting point — ground test in the flight configuration before you fly.

Ejection velocity (teal figure) — how fast the two halves separate, computed from the required force acting over the nose-cone shoulder length against the rocket and nose-cone masses. Fetter calls 20–50 ft/s energetic for a medium rocket. This is a diagnostic: it does not change the charge. A heavier rocket separates slower but carries more momentum, so a lower velocity is usually fine; if it reads low, raise the safety factor. Leave the masses blank and the charge still computes — you just won’t get the velocity check.

Every setting, explained

Solve for: Charge
The default. Given the bay and the force/pressure you want, returns the powder mass.
Solve for: Check a charge
The reverse. Enter a powder mass and see the pressure and bulkhead force it produces, plus how many pins it could shear — handy for sanity-checking a charge you already use.
Target by: Required force
Recommended. You set the force; the tool derives the pressure for your diameter. This is the accurate path and the reason force — not a fixed psi — drives the math.
Target by: Pressure (classic)
The old-school method: you pick a target psi directly. Provided for comparison with legacy calculators; remember the same psi means very different force on different tube sizes.
Units: in / mm
Switches the diameter, bay length, and piston stroke fields between inches and millimetres. Display only — the calculation (and the data you submit) is unchanged. Values convert as you toggle.
Airframe inner diameter
The inner diameter of the tube at the bulkhead — this sets the bulkhead area, so it matters a lot. The “Common airframe body tubes” dropdown fills this from real inner diameters (remember the nominal name isn't the ID — a 4-inch tube is ~3.9″ inside), and also auto-fills the rocket and nose-cone masses with typical averages for that airframe so the velocity isn’t thrown off by a forgotten field.
Bay length
Length of the cavity being pressurized, rear bulkhead to separation point. Sets the volume to fill.
Deployment: Chute / blanket vs Piston
Chute / blanket — the gas fills the bay and contacts the laundry, which soaks up most of the heat (the default). Piston — a sealed piston isolates the chute from the gas, so far less heat is lost and the charge drops to roughly 40–50% — if it seals and slides freely. The cross-check shows your piston charge against the equivalent packed-chute charge.
Charge location: Aft / Head-end
Aft — charge at the rear bulkhead firing forward (the usual arrangement). Head-end — charge at the forward end firing down the whole body column with the laundry in the gas path the entire way. The charge sizing is the same as aft (Fetter’s worst-case high heat-absorption curve is already the default); the practical difference is that head-end needs a long (3″+) charge canister so the powder burns completely.
Piston stroke
Only shown in piston mode. The distance the piston travels until separation — simplest value is your nose-cone shoulder length. Defaults to 1 caliber and tracks the diameter; type a measured overlap to override. It feeds the pre-move spike estimate; the charge itself is sized on the bay volume (Fetter’s piston = direct model with reduced absorption).
Recovery packing — how full is the bay?
The single biggest variable in Fetter’s testing. The chute and chute-protector absorb most of the charge’s heat, so a stuffed tube (factor 1.0) can need ~10× the powder of an empty one (0). Presets: Loose ¼, Half, Snug (default), Stuffed. The recommended charge uses the conservative “packed against the charge” absorption.
Shear pins / retention
Add a set per pin size. Per-pin force auto-fills from Fetter’s formula (π/4 × minor-dia² × nylon shear strength) but is editable. Defaults: #2-56 ~31, #4-40 ~50, #6-32 ~75, #8-32 ~119 lbf. Friction-fit, no pins? Set the count to 0 — the charge then comes from nose friction alone and can be very small.
Nose cone friction
The force (lbf) to overcome the grip/friction holding the nose or coupler in — ~1–2 lbf for a slip fit, more for a snug one. Added to the pin force before the safety factor. This is separate from packing: per Fetter, packing factor accounts for heat absorption, not pull-out friction. Default ~2 lbf.
Rocket mass & nose cone (masses + shoulder)
Total rocket mass, nose-cone mass and nose-cone shoulder length feed the ejection-velocity diagnostic only — they do not change the charge. Per Fetter, mass sets how fast the halves separate, not whether they do. Picking an airframe from the dropdown auto-fills the two masses with typical averages for that size (interpolated from builder data), so a forgotten field won’t skew the velocity — edit to your actual build. Shoulder length defaults to 0.75 caliber and tracks the diameter; type a measured value to override.
Target pressure (classic mode)
Only shown under “Pressure (classic).” Sets bay psi directly; the help text lists typical ranges by setup.
Safety factor & Auto-tune
In the main panel (not Advanced), because it’s the primary control. Fetter’s core margin (default 40%): the powder generates this much force above the shear-plus-friction minimum, covering black-powder variability and setting how energetic the deployment is — a higher safety factor raises the ejection velocity. The Auto-tune toggle (on by default) follows Fetter’s workflow: it starts at the recommended 40% and raises the factor as needed to put the ejection velocity in the 20–50 ft/s band (it never goes below 40%). Drag the slider to override; Auto-tune re-applies when you change pins, friction or masses. Editing the shoulder length changes the displayed velocity but never the charge (Fetter sizes the charge from shear force × safety factor; the shoulder only sets the velocity). Turn it off to set the factor purely by hand.
Advanced · Loose-chute sensitivity band
Off by default. Fetter’s calculator sizes to the conservative “chute packed against the charge” absorption. Turn this on to also see the smaller charge if the chute sits loose and far from the charge.
Advanced · High-altitude physics
Beyond Fetter’s published calc (which assumes sea level). Models ambient pressure vs. altitude (US Standard Atmosphere). Thinner air carries less of the charge’s heat into pressure, so more powder is needed — and the collapse is sharper than the base model suggests, so only part of the heat term is credited, calibrated to Fetter’s vacuum-chamber measurement. Above ~20k ft the figure blends toward sizing on the added gas alone (his own prescription for high flights). Use a long charge canister and treat the result as a floor to ground test against. See Method & sources for the reasoning.
Advanced · Ambient temperature
Air temperature at deployment (default 70°F). Colder air is denser and takes slightly more heat; a minor effect.
Advanced · Piston isolation
Only in piston mode (an extension beyond Fetter’s published calc). Effective heat absorption with a piston — the chute is isolated but the coiled shock cord still absorbs some. ~0.7–0.8 (default 0.75); lower = less powder.
Advanced · Extra ground-test cushion
Optional additional percentage on top of the safety factor, shown as a second “work up to” figure. Default 0, because the 40% safety factor already covers variability. Raise only for a deliberately hot deployment.

Reading the rest of the panel

The stat grid shows the working numbers (bulkhead area, bay volume, peak pressure, required force, heat absorbed, total pin force, nose friction, and ambient pressure). The cross-check bars compare this tool’s Fetter-enhanced result against the classic fixed-15-psi m=PV/RT formula and the D²·L·0.006 rule of thumb. Warnings flag a very small charge (friction-fit, no pins), an ejection velocity outside the energetic 20–50 ft/s range, the piston pre-move spike, head-end and altitude caveats, unusually high pressure, a charge large enough to threaten an unreinforced phenolic airframe, and inputs that sit outside the sizes Fetter actually tested.

The one rule that overrides everything

Ground test before you fly. No calculator can know your exact friction, leakage, packing, or powder lot. Treat every number here as a smart starting estimate, confirm it on the bench, and fly with margin. The Ground-test protocol tab walks through it step by step.

Something wrong, or something missing?

Bug reports and requests for this tool go to one public tracker, shared with the rest of the Mountain Man Rockets tools and the site. Report a problem, at the top of the page beside the version, fills the report in for you: the version, your browser, and a link that reopens the calculator on the exact numbers you were looking at, so a problem can be reproduced rather than guessed at. Both forms open by asking which tool it is about — pick Black Powder Calculator. That menu cannot be filled in for you, and it is what gets the report to the right place.

Requests count too, and that includes content — a reference table you want added, a procedure you want written up (“how to assemble an Aerotech RMS motor”), a worked example. No GitHub account? Email admin@mountainmanrockets.com and I’ll file it for you — reading the tracker needs no account, filing one does. With no signal the report is handed to your mail app — which sends it once you are back in range — and copied to your clipboard as well where the browser allows it. Ground-test results are a different thing and go in the Share a result tab, where they tune the model.

Version history

  • v2.25The tool was unusable on a tablet, and it had been telling people their ground-test results were saved when they were not. On any window between roughly 760 and 920 pixels wide — an iPad held upright, a browser filling half a laptop screen — the result panel sat on top of the entry form and covered it completely: you could not see the fields and a tap landed on the result instead. It now sits above the form the way it already did on a phone. On a phone the page itself ran off the right edge and had to be scrolled sideways to read; it fits now. The controls that are meant to grow under a fingertip — the sliders, the pin steppers, the little help buttons — had been quietly losing to the mouse-sized versions since they were added, so a phone got desktop-sized targets; they now apply. In Share a result, any submission the server turned away — a value outside its range, its hourly cap, a hiccup at its end — was reported back as “recorded”, and the form was wiped: the result was gone and nobody knew. It now tells you what actually happened and leaves everything you typed on screen. And a saved setup with a shear-pin force box left blank used to come back carrying a force you never entered. No change to the model or to any charge it calculates — but that last fix means a saved setup with a blank pin force now returns with no pins, rather than a force the tool made up.2026-09-21
  • v2.24The version badge in the header now tells you when there’s something newer. Until now the only way to know you were on an old copy was a support conversation — “try refreshing a few times.” It now checks quietly in the background, and if a newer release is live the badge turns into a button: click it and the tool reloads straight onto the new version, instead of you guessing whether the number changed. Separately, two more fixes to the shared site-menu strip: at some in-between window widths — a tablet, a split screen — a couple of menu items used to scroll out of view with nothing on screen to show they were there; the strip now fades at whichever edge still has more to scroll to. And the outline that marks where you are, moving through that strip with a keyboard, no longer clips anywhere along it — the v2.23 fix above only covered the left and right ends. No change to any charge.2026-09-03
  • v2.23The site menu strip stays on one line at every window size. It was a single row on a phone and a single row on a full‑width laptop, but at any width in between — a tablet, a split screen, a half‑width browser window — it broke onto two or three rows and pushed the calculator down the page. The strip is one row everywhere now, and when the menu is wider than the window it scrolls sideways instead of stacking. The fix is in the shared menu renderer this tool takes from the website, so every Mountain Man Rockets tool gets the same one. If you move through that strip with a keyboard rather than a mouse, the outline marking where you are is also no longer clipped at the left or right end of the menu, at any window width. No change to any charge.2026-08-12
  • v2.22The site menu at the top of the page is the real one again. Those links were baked into the calculator and still pointed at the old website, so when the site moved they went stale and the only cure was a new release of this tool. The strip at the top now reads the menu the website publishes and draws it in the calculator’s own colours, high‑contrast included, so a change to the site’s menu shows up here on the next load with nothing released. There is a search box in the same strip that searches the website. None of it can reach the calculator: if the menu cannot be fetched — no signal at a launch site, most likely — you get the last menu this device saw, or the one baked into this release, and everything below the strip behaves exactly as before. No change to any charge.2026-08-12
  • v2.21There is now a way to tell me something is wrong. Until now the tool could show you a number you did not believe and offer you nowhere to say so. A Report a problem button now sits at the top of the page beside the version. It opens a report with your setup already attached — a link that reopens the tool on these exact numbers, what it was showing, the version and your browser — so a problem can be reproduced rather than guessed at. With no signal it copies that report and hands it to your mail app, which sends it once you are back in range, so a bug found at the pad is not lost by the drive home. Feature requests (including write-ups you would like added) and an email address that needs no GitHub account are in the footer. Ground-test results still go in the Share a result tab — that is calibration data for the model, not a bug report. No change to any charge.2026-08-12
  • v2.20Opening a saved setup link with no signal works again. The tool moved to a new host, and on that host the address it had been saving its offline copy under now bounces to a slightly different one — enough that the browser refused to serve the saved page back. The result: tapping a “copy a link to this setup” link at a launch site with no reception could land on the browser’s error page instead of the calculator, which is the one moment this tool exists for. The offline copy is now stored and served under the address the host actually uses, and the app icon and home-screen details are saved with it. If you have the tool installed, open it once with signal to pick this up. No change to any charge.2026-08-11
  • v2.19Piston stroke now does something, and the altitude “check” note is clearer. The piston stroke field previously changed nothing. In a piston deployment the ejection force acts over the stroke (the piston’s travel), the same way it acts over the nose-cone shoulder in a direct deploy — so the stroke now drives the ejection velocity reading in piston mode. It still does not change the recommended charge (that is sized on the bay volume), so it cannot introduce the old shoulder-changes-the-charge problem. Separately, the note shown when checking a charge at altitude now explains plainly why that pressure is not padded by the sizing margin. No change to any charge.2026-08-04
  • v2.18Pre-beta audit — a sweep of fixes, no change to the sizing model. A multi-reviewer audit found and verified a batch of issues, now fixed. The important ones: a shared link (or a reopened saved setup) sometimes showed a smaller charge than you actually set, because the safety factor was being re-tuned on load — it now shows exactly what was saved; a mangled link no longer blanks the page; the “check a charge” value is restored correctly from a link; and a raft of accessibility gaps (unlabelled switches and pins, the Share form’s fields, keyboard tab navigation, contrast of the diagram labels, and a screen-reader-friendly result announcement) are closed. Three ground-test fields that were being collected but silently dropped are now actually submitted. The charge, pressure and velocity numbers are unchanged.2026-08-04
  • v2.17“Fire the charge” is back, and looks like a button worth pressing. The control that plays the separation had been quietened to a small grey “Preview the deployment”; it is orange and prominent again, and called what a rocketeer would call it.2026-08-04
  • v2.16Uses the room a big screen actually has. The layout was pinned to 1240 px, so more than half of a large monitor sat empty. It now widens in steps: past 1400 px the result and its bay drawing get the extra room, and past 1800 px a third column appears with the shear-pin forces and airframe inner diameters permanently to hand — no more scrolling to the Reference tab and back while filling in a field. Click any airframe in that list to use it. Prose stays at a readable line length no matter how wide the window, and the headline and charge figure scale with it. No calculation changes.2026-08-04
  • v2.15Works with no signal, and is easier to use with cold hands. The tool now keeps a copy of itself on your device, so it opens at a launch site with no reception. It still fetches from the network first whenever there is one — an out-of-date charge model is exactly what you do not want handed to you — and the saved copy is only used when the network cannot be reached, with a notice at the top when that happens. It can also be added to a phone or tablet home screen and opened like an app. On touch screens the sliders, switches, chips and buttons are larger; on a mouse they are unchanged. No calculation changes.2026-08-04
  • v2.14Your setup travels with you, and the answer comes first on a phone. Work a charge out at the desk and Copy a link to this setup gives you a URL that reopens with those exact numbers — bookmark it, send it to your phone, or paste it into a thread. The tool also remembers your last setup, so reopening it at the field no longer drops you on the defaults. On phones and small tablets the recommended charge now appears above the inputs rather than below all of them, since at the pad you are usually confirming a number rather than exploring. And a new High contrast switch in the header swaps to a light, high-contrast palette for reading a screen in direct sun at a launch site; the choice is remembered. No calculation changes.2026-08-04
  • v2.13An airframe margin gauge, and an honest velocity label. Fetter’s upper-limit tests are a scale with measured points on it, so the result now shows one: where your charge falls between his energetic charge, the 1.32× and 1.58× that left an unreinforced phenolic tube undamaged, and the 2.1× that split it — before the shear pins let go. Separately, an ejection velocity between 50 and 70 ft/s used to be labelled “energetic (20–50)”, contradicting the band printed next to it; that range now reads “above the band, still fine”. No calculation changes.2026-08-04
  • v2.12The bay is now drawn. The result opens with a cross-section of the bay you are sizing, built from your own numbers: the tube in proportion, the charge on the bulkhead, the nose shoulder inserted, pins across the joint, and the recovery laundry filling as much of the free volume as your packing factor says. That last part is the point — packing is the single largest variable in Fetter’s testing, and as a bare 0–1 there was no way to tell a sensible entry from a mistaken one. Now the tube fills and a wrong value is obvious. A piston shows as a disc walling the gas off from the chute; head-end moves the charge to the forward end. Fire the charge plays the separation at the computed velocity. No calculation changes.2026-08-04
  • v2.11Sharing a result now tells you what actually happened to it. The tool previously sent submissions blind — the browser had no way to see the server’s reply, so it said “sent” whether the result was stored or thrown away. It now reads the response: a stored result is confirmed as recorded, and a rejected one says so instead of quietly disappearing. If your browser blocks the reply it falls back to the old behaviour and says so plainly, rather than resending and risking a duplicate. No calculation changes.2026-08-04
  • v2.10Better handling of shared ground-test results. Charge values are now range-checked before sending, and if the largest charge that failed isn’t below the one that worked the form asks you to look again before accepting it — those two together are what make a small dataset worth analysing. Submitting the same result twice no longer files it twice. The confirmation now says your result was “sent” rather than “recorded”, because the browser genuinely cannot see whether the server stored it. Each submission also carries a little more about how the charge was derived, so results stay comparable as the model changes. No calculation changes.2026-08-04
  • v2.9Calmer input panel. Each field’s explanation now sits behind a small ? next to its label instead of always being on screen, which cuts the input panel by about a third without removing a single word — click any ? to read it. The live “chute absorbs ≈x% of the heat” readout moved out of that prose so it stays visible. Solve-for and Units share one row; the rarely used Head-end charge location moved into Advanced. Accessibility: every field label is now properly tied to its input, segmented controls, switches and tabs report their state to screen readers, the result panel announces itself when it changes, and the smallest text was enlarged. No calculation changes.2026-08-04
  • v2.8High-altitude sizing corrected — it was under-charging. The altitude model fed the full combustion-heat term into the pressure calculation, but Fetter’s own vacuum-chamber tests show that heat contribution collapses in thin air: at 3.3 psia (~39k ft) he measured 10.21 psi where that model predicts about twice as much, and with a chute filling the tube barely more than the added gas alone would make. The tool now credits only part of the heat term as ambient pressure falls, calibrated to that measurement, and above ~20k ft blends toward sizing on added gas alone — his own prescription for high flights. Sea-level results are unchanged. New warnings: a charge large enough to threaten an unreinforced phenolic airframe (Fetter’s tube split at 2.1× the energetic charge, before the pins sheared), airframes larger than he tested with a parachute, high pin counts where he has acknowledged the percentage safety factor over-scales, and black powder’s unreliability above ~45k ft. The safety-factor note now states the ±14% shot-to-shot spread it is covering.2026-08-04
  • v2.7Housekeeping, with no change to any result. The tool is now assembled from separate source files and ships with an automated test suite that checks every release against Fetter’s spreadsheet — the charge, pressure and velocity for his reference case, the absorption curve, the bench pressure measurement, and the rule that charge falls gently as diameter rises. Those figures used to be re-checked by hand. It still downloads as one self-contained page.2026-08-04
  • v2.6Maintenance release; development now tracked in git. Fixed the ejection-velocity meter rendering with no track and two missing panel borders (an undefined CSS variable), styled the loose-chute and extra-cushion lines under the recommended charge, fixed a blank velocity readout in pressure mode when the target force is below nose-cone friction (now correctly reads ~0), removed dead legacy markup, and corrected the Head-end glossary text — head-end sizing uses the same worst-case heat-absorption curve as aft; the canister requirement is what differs.2026-08-04
  • v2.5Shoulder length no longer changes the charge. Fetter’s spreadsheet sizes the charge from shear force × safety factor and uses the shoulder only to report ejection velocity — so a shoulder-only change should move the velocity, not the powder. Auto-tune had been re-tuning the safety factor (which does drive the charge) whenever the shoulder changed, indirectly inflating the charge for short shoulders. Auto-tune now evaluates its target velocity at a fixed 0.75-caliber reference shoulder and no longer re-runs on shoulder edits; the shoulder field still drives the displayed velocity diagnostic. The recommended charge now matches the spreadsheet exactly across all shoulder lengths.2026-06-23
  • v2.4Choosing an airframe from the dropdown now auto-fills the rocket and nose-cone masses with typical averages for that size (interpolated log-log from builder data), so a forgotten mass field no longer skews the ejection velocity. Default nose-cone shoulder length changed from 1 to 0.75 caliber.2026-06-23
  • v2.3Moved total rocket mass, nose-cone mass and shoulder length up beside diameter and length as core physical characteristics, since they drive the ejection velocity. Auto-tune is now mass-aware: it eases the target velocity toward the lower, momentum-backed end of the energetic band for heavier nose cones (per Fetter’s note that a more massive rocket is fine at a lower velocity), so big rockets no longer get an inflated safety factor chasing a high velocity.2026-06-23
  • v2.2Reworked the safety factor into the primary control: it’s now front-and-centre next to a live ejection-velocity meter showing the 20–50 ft/s energetic band, with a short 1-2-3 workflow strip. New Auto-tune toggle follows Fetter’s own stated workflow — start at 40% and raise the safety factor only as needed to reach the energetic band, never below 40% — re-applying whenever pins, friction, masses or shoulder change. Manual slider override still works.2026-06-23
  • v2.1Model corrected to faithfully match Fetter’s calculator spreadsheet (rev 1.3), reproducing its charge, pressure and ejection-velocity outputs exactly. Required force is now (pin shear + nose-cone friction) × (1 + safety factor) — nose-cone friction is a small explicit input, separate from packing (which is energy absorption only). The old g × nose-weight ejection authority is removed: rocket mass now drives a reported separation velocity (energetic = 20–50 ft/s), not the charge. The pressure floor, free-volume subtraction and the v2.0.1 area-scaling pull term are gone (none are in Fetter’s model). Fixes the small-airframe over-charge: a 24 mm tube now reads a sane ~0.03 g friction-fit instead of ~3.9 g. Charge varies gently down with diameter at fixed pins, matching Fetter’s Section 17.2026-06-22
  • v2.0.1Interim diameter-scaling tweak (an area-scaling pull-clear force). Reverted in v2.1 as not part of Fetter’s model.2026-06-22
  • v2.0Major engine rewrite to Thomas Fetter’s NARCON-2025 enhanced combustion model: peak-pressure physics (Chevreuil’s equation + air heating), packing-factor absorption, head-end deploy, a physics-based piston and altitude model, ambient temperature, and updated shear-pin values cross-checked against Damerau’s measurements.2026-06-22
  • v1.8Added a minimum-pressure floor so large-diameter airframes size sensibly instead of returning the same charge as a small tube.2026-06-21
  • v1.7.1Polish & QA pass — guards invalid diameter/length input and hardens the cross-check bars; all controls and links verified.2026-06-21
  • v1.7Replaced the diameter presets with a dropdown of common airframe body tubes by true inner diameter, plus a full airframe reference table.2026-06-21
  • v1.6Added an inches / millimetres toggle for the diameter, bay length, and piston stroke inputs.2026-06-21
  • v1.5.1Fixed the piston-stroke (and advanced) fields showing when they should be hidden.2026-06-21
  • v1.5Piston stroke now auto-tracks the airframe diameter (1 caliber) with clearer “use your shoulder length” guidance and a re-link control.2026-06-21
  • v1.4Added piston deployment — models the reduced gas volume (area × stroke) and shows the powder saving vs. direct ejection.2026-06-21
  • v1.3Added the “Share a result” panel — one-click submission of your ground-test data to help calibrate the tool.2026-06-21
  • v1.2Added this How-to-use guide, clearer “start vs. flight charge” labels, and a visible version stamp.2026-06-21
  • v1.1Added #8-32 nylon and 1/8″ styrene rod shear-pin options.2026-06-21
  • v1.0Initial release — force-first sizing, check mode, cross-checks, reference data.2026-06-21