DIY · kitchen

Coffee Grinder Simulator

A propeller in a cup, or a gap you set. Watch what the beans actually do.
bed depth decides everything
—

Which grinder

A propeller in a cup. No gap, so nothing sets the size except how well the beans circulate.

The chamber

—

—

The beans

The motor

The gap

750 µm
what the burrs are set to

The burrs

Turning the handle

One arm on a short handle sustains somewhere between ten and thirty watts. This is the least certain number on the page.

The dose

Try one

Inside the burrs

a cut through the burr set
— speed
whole bean part-broken through the gap fines the gap is drawn wider than scale, or it would be a hairline

Inside the grinder

a slice through the middle
0.0 s speed
whole bean part-ground ground fine blade sweep the shaded band is the bed the blade cannot stir
What is happening in there
Bed depth
—
in bean diameters
Lid strikes
—
per bean per second
Grind spread
—
coarsest tenth ÷ finest, by mass
Median grind
—
—
—

What it does to the temperature

—
Energy into the beans
—
Grounds come out
—
Time
—
Every joule you put in ends up as heat. The uncertain part is how much stays in the grounds rather than going into the burrs, the housing and the air — assumed here, not derived, and stated in the field notes.

The same coffee, three ways

all aimed at the same median

Where they hit, and what came out

—
Left: the lid seen from above, each ring shaded by strikes per unit of area — an outer ring holds far more lid than an inner one, so raw counts would flatter the middle.

How much should you put in?

press to run every fill level
nine fill levels, three seconds of grinding each
The mechanisms

Three ways to break a bean

A grinder either has a gap or it does not. Everything below follows from that one fact.

Why the numbers come out as they do

Four things worth knowing

The last halving costs the most. Grinding follows Bond’s law, so energy rises as 1/√d. Filter grind takes about 49 kJ per kilogram; espresso takes twice that for a particle only three times smaller. It is why hand-grinding espresso is such work — and why a bean hit twice as often does not come out half the size, which is what turns an uneven strike count into boulders and dust.
Bed depth decides a blade grinder — not grams. A struck bean has to fight out through the beans above it, and bean-on-bean restitution of 0.35 means four layers absorb over 99% of a strike. Past about five beans deep the lid-strike rate rises again, and means nothing: the bed is simply close enough to touch the lid.
Every nip makes fines. A particle larger than the local gap is broken into one coarse child near that gap, plus a small mass fraction that shatters far below it. A few per cent by weight at filter, near a tenth at espresso — but by count those fines are most of the particles, which is why everything here is weighted by mass. Fines are not a fault: they carry much of the body, and a grind with none would taste thin.
Every joule ends up as heat. The only question is where. A blade grinder’s energy is carried by the beans themselves inside a plastic cup that conducts nothing away; a burr set is a lump of steel sitting in the middle of the process and takes most of it. The split is assumed, not derived, and it is the least certain thing on this page.
Reading the instruments

What each readout is actually telling you

Questions

Things people ask

Worked example: why four layers of beans swallow a strike

Bean-on-bean restitution is about 0.35, and the energy a bounce keeps goes as the square of that: 0.35² = 0.12, so a bean struck from below rises to about an eighth of the height it would have reached unhindered.

Stack four layers and the fraction of a strike that reaches the top is 0.124 ≈ 0.0002 — over 99% absorbed. The beans nearest the blade are hit again and again while the ones above wait their turn, which is why a blade grinder is set by how deep the bed is and not by how long you hold the button.

Why does the amount of beans matter more than the time in a blade grinder?

Because there is no gap to grind to. The only thing deciding the size is how well the beans circulate past the blade, and that is set by how many beans deep the pile is, not by how many grams are in it. A struck bean has to fight out through the beans above it, and bean-on-bean restitution is about 0.35, so four layers absorb over 99% of a strike.

What is the real difference between a blade and a burr grinder?

A grinder either has a gap or it does not, and everything follows from that. A burr grinder sets a gap and nothing larger gets through; a blade grinder is a propeller in a cup, and the size is whatever circulation happens to produce.

Is the lid heatmap a measurement?

An illustration with a calibrated scale. It is good for comparing one setting against another, not for predicting the microns your grinder will produce. Free-flying grains in a slice, verified against the model, and honest about being a picture.

How hard does a hand grinder make you work?

One arm on a short handle sustains somewhere between ten and thirty watts, and that is the least certain number on the page — which is why it is a slider rather than a fact.

Field notes

A simulation is a set of decisions about what to leave out

2Dslice

It is a slice

A vertical cut through an axisymmetric chamber, so a lid strike at radius r is spread over the whole ring. Bean counts on screen are a slice’s worth: a 75 mm chamber is ten beans wide, not what is in your grinder.

µm

The micron scale is calibrated

A ten-second grind at a quarter fill was set to land on filter. The spread is physics; the absolute number is a calibration, though it then predicts hand-grinder effort correctly, which it was never fitted to.

Beans shrink; real beans shatter

Following every fragment to filter grind is about two thousand particles per bean. Each is carried as one shrinking particle sized by the energy it has absorbed: right distribution shape, wrong number of pieces.

The burr drawing exaggerates the gap

At 750 µm in a 40 mm burr set the channel is a hairline. The number is real and the narrowing is real; the width on screen is not to scale.

1700J/kg/K

Where the heat settles is assumed

The energy is Bond’s law and coffee’s specific heat is about 1700 J/kg/K, but the split between grounds, burrs, housing and air is reasoned from what each machine is made of, not measured. It would also climb through a session as the steel warms.

×1.5 / ×1.35

Ceramic against steel is reasoned, not measured

A blunter ceramic edge crushes where a sharp one cuts, and ceramic insulates where steel conducts, so more fines and more heat left in the coffee. Both directions are well attested; the multipliers (×1.5 fines, ×1.35 retained heat) are estimates, and the blade count and pitch effects come from a hazard model rather than any measurement of a real head.

No burr mechanics

No torque, no burr flex, no popcorning at the intake, no grounds retained between doses, no dulling. Real burrs do all five.

2.48 vs 2.55

Pulsing: unresolved for evenness

Compared at equal blade-on time over ten seeds, 2.48 steady against 2.55 pulsed with a scatter of 0.27: a quarter of the noise. The heat benefit is real and shown; the evenness one this model cannot see, and tuning it until it agreed would have been dishonest.

Not modelled at all

Air drag, static cling (which is why grounds climb a real lid), moisture, oil, bean shape, and roast level: a dark roast is more brittle and grinds finer at the same setting.

An illustration, not a measurement. Free-flying grains in a slice, with a calibrated size scale — good for comparing one setting against another, not for predicting the microns your grinder will produce. Verified against grinder_model.py.
Version history · 4 releases
  1. v4.922026-09-10Coffee grinder: 7 fps to 60, and 12,676 characters of prose turned into eleven diagrams
  2. v4.932026-09-10Coffee grinder: four reported bugs, blade heads and pitch, ceramic burrs, and 1,700px of dead strip removed
  3. v4.942026-09-10Coffee grinder: pooled blade statistics, and the blade-count claim was wrong in both directions
  4. v4.952026-09-10Coffee grinder: measured the burr's scatter, decided against pooling it, and gave the burr a dose that ends

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.

Rules of thumb are approximations, offered to get you to the right order of magnitude fast. Check anything load-bearing against its source or the exact tool. Privacy · Terms

© 2026 Rules of Thumb · Runs entirely in your browser