Recovery · ejection charge sizing

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.

Version history

  • 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