Free tool · no signup · runs in your browser

Masters Mix Calculator

Enter your block count, finished block weight, and target moisture — get the exact hardwood fuel pellets, soy hulls, gypsum, and water to weigh out for the classic 50/50 masters mix — sized to your bags (a 10 lb fill for a 12.5 lb Unicorn bag) and scaled to any batch. Built on dry weight ratio math, not volume scoops, by a working gourmet mushroom grower.

Your batch
5 lb is the standard gourmet block
Weigh out
Water to add
litres · adjusted for starting moisture
Dry hardwood fuel pellets
as purchased, at your starting moisture
Dry soy hulls
as purchased, at your starting moisture
Gypsum
of bone-dry solids
Total batch
finished, hydrated weight
Formula: 50% sawdust / 50% soy hulls — by dry weight. Water = finished weight − as-purchased dry ingredients. Gypsum is figured on bone-dry solids, not the finished batch. Weigh everything — volume scoops don't hold the ratio.
What this calculator does

Scale the masters mix without drowning the block.

Masters mix is 50% hardwood sawdust and 50% soy hulls, by dry weight, hydrated to field capacity with water and buffered with a little gypsum. It's the standard bulk substrate for gourmet species like oyster and lion's mane because the soy hulls add nitrogen the sawdust alone can't — more food, more yield — but that richness only pays off if the moisture and sterilization are both right. This tool scales the recipe to any block count and weight, corrects for the water already sitting in bagged "dry" ingredients, and hands you a shopping list in whichever units you weigh in.

Everything runs client-side. Nothing is stored, nothing is sent — change any input and the result updates live.

The masters mix formula, explained

The math behind the recipe.

Work backward from the finished, hydrated block

Growers think in finished block weight — the 10 lb bag going into the sterilizer — not in bags of raw sawdust. So the calculator starts there and works backward: your target moisture content tells it how much of that finished weight is bone-dry solids versus water, then it splits the solids 50/50 and adds back whatever moisture your ingredients already carried.

# W = total finished (hydrated) weight of the batch
W = blocks × block_weight

# m = target moisture fraction, s = dry-ingredient starting moisture fraction
dry_solids = W × (1 − m) # bone-dry mass in the finished batch
as_purchased = dry_solids ÷ (1 − s) # ingredient weight as weighed, carrying s

sawdust = as_purchased ÷ 2 # 50/50 by dry weight
soy_hulls = as_purchased ÷ 2
water = W − as_purchased # remainder brings it to field capacity
gypsum = dry_solids × gypsum_pct

Why "as purchased" isn't the same as "bone dry"

The recipe ratio — 50/50 — is defined on bone-dry solids. But you don't weigh bone-dry sawdust off a shelf; you weigh a bag that already carries moisture (s). Dividing dry solids by (1 − s) converts back to the heavier "as purchased" number, so the sawdust and soy hulls you actually put on the scale account for the water already inside them — and the water you add separately is only what's left to reach field capacity, not double-counted.

Worked example

20 bags at 10 lb each, 60% target moisture, hardwood fuel pellets at 8% starting moisture.

W = 20 × 10 = 200 lb finished. dry_solids = 200 × (1 − 0.60) = 80 lb. as_purchased = 80 ÷ (1 − 0.08) ≈ 87 lb.

HWFP = soy_hulls = 87 ÷ 2 ≈ 43.5 lb each. water = 200 − 87 = 113 lb (≈ 51 L). gypsum = 80 × 2% ≈ 1.6 lb.

Per bag: ≈ 2.2 lb HWFP + 2.2 lb soy hull + 5.6 lb water (the classic 2 + 2 + 6 at bone-dry) — a 10 lb fill for a 12.5 lb Unicorn bag.

The part no calculator farm writes

When the standard number is wrong.

"50/50 masters mix" is one of the most-repeated numbers in gourmet growing — and also one of the most-misapplied. Here's where it quietly goes sideways.

"50/50" is by weight, not by scoop

Soy hulls and hardwood sawdust pack at meaningfully different bulk densities — soy hulls are lighter and fluffier per unit volume than sawdust. Fill two equal buckets and you do not have a 50/50 dry-weight mix; you have whatever ratio the bulk densities happen to produce, and it's usually sawdust-heavy. Weigh both ingredients on a scale. Volume is for estimating how many totes you need, not for setting the recipe.

Your "dry" ingredients are not bone-dry

Bagged hardwood sawdust and soy hulls typically arrive carrying 5–15% water already, depending on storage and season. If you calculate water as though they were bone-dry and add the full amount, you overshoot field capacity and drown the block — a classic cause of anaerobic pockets and contamination. Set the starting-moisture field to your ingredients' actual moisture (get it from the supplier spec sheet, or estimate from a squeeze test on the raw material), or do the squeeze test on the finished mix and hold water back until it's right. Hardwood fuel pellets are the exception — they arrive near bone-dry (~6–8%) but need near-boiling water and time to break down and expand before they'll hold field capacity, and they must be pure hardwood, not softwood or binder-added heating pellets.

Field capacity is a squeeze test, not just a percentage

A moisture-content number is a target, not a substitute for checking the substrate with your hand. Squeeze a handful hard: a couple of drops (1–3) running out between your fingers means you're at field capacity. A steady stream means it's too wet — heading toward anaerobic conditions and a much higher contamination rate. Nothing coming out at all means it's too dry, and colonization will be slow and patchy. Use the calculator to get close, then let the squeeze test make the final call — every load of sawdust is a little different.

Richer mixes raise yield — and raise the sterilization bar

Soy hulls (or added wheat bran) push biological efficiency up because there's more nitrogen for the mushroom to convert into fruit body. But that same richness is exactly what Trichoderma and other contaminants want too. A nutrient-rich masters mix block that gets a marginal or shortened steam cycle is a much easier target than plain hardwood sawdust would have been. If you're enriching, don't shorten the sterilizer load to compensate — if anything, verify it more carefully. Check your sterilizer load →

Notes from the farm
From the grow room

The batch that taught me this was a big one — a full Bubba barrel run of masters mix I'd scaled up in a hurry, guessing at how wet the soy hulls were straight out of a new pallet. I ran the water calculation like the ingredients were bone-dry, because that's what the recipe card said, and the blocks came out of the mixer heavier and slicker than anything I'd made before. Half the load went anaerobic in the bag before it even hit the autoclave — sour, sulfurous, unusable. The fix wasn't a different recipe. It was weighing the moisture I already had before I added more, and squeezing a handful before I called it done instead of trusting the percentage on the screen. The calculator gets you to the target fast — your hand still has to confirm you're there.

Wire this into your farm data

Track every batch, flush, and yield — not just the recipe.

A substrate calculation is a starting point. The value shows up when you log it against colonization time, flush weight, and contamination rate across every batch and every grow room — and spot a room drifting before you lose a crop. That's what a Farm-Ops tracker does automatically.