Eleven Minutes Before the Chaff Caught Fire

Roasting Profile Curve Engraving
🎮 Play: Curve Engraver
Ceramic mug upside down with a roasting curve being engraved into its base
Ceramic mug upside down with a roasting curve being engraved into its base

Eleven minutes and forty-three seconds. That’s how long my first roast lasted before the popcorn popper caught fire.

Not a big fire. Just the chaff catcher. But enough to scatter me across the kitchen with a wet towel while 80 grams of Ethiopian Yirgacheffe went from “approaching first crack” to “carbon.”

The thing is, I had data. Beautiful data. My K-type thermocouple was buried in the bean mass, logging to an ESP32 at half-second intervals, pushing to a web dashboard I’d hacked together at midnight using the same sensor-calibration code from the fermentation rig. The curve climbed exactly like I’d read about: steep ramp to 150°C, gentle flattening through the Maillard phase, then the telltale hesitation around 196°C where the beans release more heat than they absorb.

First crack. I heard it through the fire alarm.


This hobby exists because two days ago I was logging sourdough rise curves and realised the chemistry is identical. Maillard reaction in bread crust, Maillard reaction in coffee roasting—amino acids meeting reducing sugars, cranking out hundreds of aromatic compounds in the 140-165°C range. The only difference is moisture content and how fast you’re driving the reaction.

So: instrument the roaster. Log the profile. Do something with the data.

The “something” came from staring at a mug this morning. Ceramic. Glazed. The bottom blank and waiting. What if every mug carried the thermal fingerprint of the beans you’re drinking from it?


Carbide bits don’t work on ceramic. I learned this the hard way—three skipped lines and a tiny starburst crack in the glaze where I pressed too hard. Diamond-tipped bits in the 1.5mm range, run slow, maybe 12,000 RPM. Light pressure. Let the abrasive do the work.

The trick is depth control. My hand doesn’t traverse arcs at constant speed—humans are terrible at that—so the line varies from a whisper scratch to a visible groove depending on how fast I was moving. Tomorrow I’ll print a depth stop. Tonight I’m looking at the wobbly result and grinning anyway.

Development Time Ratio: 18.7%. That’s what I engraved beside the curve, tiny numerals that took longer than the curve itself. It’s the percentage of total roast time after first crack. Below 15% and you taste grass. Above 25% and it’s bitter. The number predicts cup quality better than colour ever could.

I don’t know if the coffee will be good. The beans are resting in a mason jar, off-gassing CO2, waiting the customary 24 hours before grinding. The mug is cooling on my desk, curve etched permanently into its base.

Every time I drink from it, I’ll know exactly what happened inside that popcorn popper at minute seven. Which is approximately when the chaff ignited.

Worth it.