# Instrumenting a Small-Batch Tea Roaster

Small-batch tea roasting sits in an awkward middle ground: the equipment is simple enough to run by feel, but the product changes dramatically with a few degrees of drum temperature or a minute of airflow. In our 2 kg electric roaster, the goal is not automation for its own sake. The goal is repeatability: preserving the roasted-nut sweetness of a Tieguanyin batch without flattening its floral top notes.

## Sensors Before Software

The most useful upgrade was adding independent thermocouples for inlet air, exhaust air, and leaf mass. The stock controller only reported heater temperature, which lagged behind the actual leaf environment and made profiles hard to compare. By logging all three channels once per second, we could separate heater behavior from moisture release and see exactly when the leaves stopped cooling the drum.

```yaml
profile:
  batch_size_g: 1200
  charge_temp_c: 118
  dry_phase_min: 7
  roast_temp_c: 142
  airflow_percent: 55
  finish_on_exhaust_c: 96
```

## Building a Roast Curve

A practical tea roast curve is less aggressive than a coffee curve. We ramp slowly through the drying phase, hold airflow high enough to remove grassy volatiles, then reduce heat before the leaves become brittle. For rolled oolongs, we track exhaust temperature more closely than drum temperature because it responds quickly when internal moisture starts leaving the leaf.

## Batch Notes Matter

The logger produces clean CSV files, but the operator notes are just as important. Leaf shape, oxidation level, storage humidity, and resting time all affect how the roast behaves. A technically identical profile can taste dull if the tea entered the roaster too dry, so each batch record includes pre-roast moisture, ambient humidity, and a short cupping note after 24 hours.

## What We Learned

The biggest improvement came from controlling airflow, not heat. Stable heat prevents scorching, but airflow determines whether aromatics concentrate or vanish. Once the roaster had reliable sensing and a simple profile format, we stopped chasing perfect automation and started using the data as a shared language between production, tasting, and maintenance.