First, an apology.
It has been far too long since I wrote a proper update here.
That is partly because the project has been busy, and partly because every time I thought I had reached a sensible point to stop and write about it, something else changed.
A roaster failed.
Another arrived.
The Green Bean Ledger grew up.
The little Raspberry Pi recorder became something considerably more useful.
I started recording the Gene Café itself over Bluetooth.
Then its electrical power.
Then I changed microphones.
Then I discovered that listening for coffee cracks without first learning what the machine itself sounds like may have been slightly backwards.
There has also been a lot more coffee.
Different origins. Different processing. Robusta for the first time. More reading. More questioning of things I thought I understood. And a gentle reminder from people watching the channel that perhaps I ought to spend a little more time formally tasting the coffee rather than disappearing down another tunnel full of graphs.
So this is the overdue catch-up.
Not every experiment deserves its own grand conclusion, and quite a few things below are still very much work in progress.
But the direction of the project has changed again.
The short version
Coffee | One Roast at a Time started with a fairly simple question:
Can I learn to roast decent coffee on a Gene Café CBR-301?
That became:
Can I understand why one roast works better than another?
Then:
Can I record enough useful information that I don’t have to rely on memory?
And increasingly the question is becoming:
Can I understand the coffee, the roaster and my own decisions well enough that each roast teaches me something useful?
That distinction is probably the biggest development.
I am less interested now in finding the correct profile.
I am much more interested in building a system that helps me understand why a particular roast behaved the way it did, what evidence I actually have, and what I should change next.
Another Gene Café chapter
The previous update ended with another heater-system failure.
That mattered more than simply having a broken roaster.
By then I had enough roast history that I could see the danger of treating all of my data as though it came from one perfectly unchanged machine.
It didn’t.
Different heater states had changed the pace of the roaster. A wrong-voltage replacement heater complicated things further. Eventually the machine was restored with the correct 230 V heater, and later I moved onto a replacement CBR-301.
That forced a useful change in thinking.
Machine state is part of the roast record.
A 250 g roast at 250°C is not automatically comparable with another 250 g roast at 250°C if the machine producing the heat has materially changed.
That sounds obvious written down.
It was considerably less obvious when I had a spreadsheet full of numbers that looked wonderfully comparable.
So the newer machine started with fresh reference roasts rather than the assumption that all the old timings could simply be copied across.
Some of them were close.
Some weren’t.
That is exactly why the references were needed.
The Green Bean Ledger has become the memory of the project
The Green Bean Ledger started because I was becoming embarrassingly bad at answering a simple question:
How much of that coffee have I actually got left?
It now does rather more than count bags.
The Ledger connects the green coffee to the roast.
It holds things such as:
- lot and supplier
- origin
- variety and process
- starting stock
- roast identity
- input and output weight
- weight loss
- roast telemetry
- colour readings
- roast plans
- operator observations
- later tasting information
More recently it has also become the place where RoastAid results return after a roast.
That is important because I don’t want a collection of clever little tools that each own a different version of the truth.
The Ledger owns the roast identity and the coffee.
The roast-side system records what happened.
The results come home again afterwards.
There have been bugs.
There are still too many clicks in places.
At least one “Send to RoastAid” button has developed the delightful software characteristic of sometimes looking very busy while apparently achieving spiritual fulfilment rather than sending anything.
But the architecture is becoming clear.
And that matters more than polish at this stage.
RoastSignal became RoastAid
The audio experiment has also changed quite substantially.
What started as CrackWatch and RoastSignal was mainly about recording the roast and looking afterwards for possible first-crack activity.
RoastAid is becoming the live companion version of that idea.
The Raspberry Pi now sits beside the Gene Café with a touchscreen.
It can receive the planned roast from the Green Bean Ledger and capture:
- roast timing
- manual events
- Gene Café Bluetooth telemetry
- microphone audio
- electrical power from the roaster
- cooling
- final roasted weight
- calculated weight loss
It still does not control the Gene Café.
That remains deliberate.
I am much more interested in good decision support than another box that believes it should be in charge.
The Gene Café is still operated normally.
RoastAid watches, records and, eventually, should help me notice useful things at the right time.
That is quite a long way from where the first Raspberry Pi experiment started.
Bluetooth has opened another window into the machine
One particularly useful development has been read-only Bluetooth access to the Gene Café.
That gives RoastAid a live machine data stream independently of the phone app.
The goal is not to reverse-engineer the machine so that I can control it.
It is to understand what it is reporting.
Temperature is the obvious part.
But there are potentially machine states in those packets that could tell us more about fan behaviour, protection states and what the controller itself thinks is happening.
We have not decoded all of that yet.
That last sentence is important.
There is a great temptation when you find an interesting byte changing in a data packet to give it an exciting name.
For now it remains an interesting byte.
The evidence gets to earn the label.
And now I can see what the roaster is doing electrically
The other new signal is RoastPower.
A small power monitor records the Gene Café’s electrical consumption during the roast.
This has already made the machine easier to understand.
During most of the heating phase the heater is essentially running flat out, somewhere around the 1.4 kW region on these roasts.
Near the target temperature the behaviour changes.
Instead of gradually reducing heater power, the machine begins cycling the heater off and back on.
The genuine regulation events we have looked at are short — generally only a few seconds — and can recur roughly every half minute or so while the machine is trying to hold its target region.
That gives us another machine phase to recognise.
It also provides a useful reminder about operator behaviour.
When I press COOL, I will sometimes remove the glass chamber when it reaches the right position, empty the beans, replace the chamber and restart cooling.
Anything the machine does after that first COOL command may therefore be me rather than some mysterious autonomous behaviour.
That sounds like a trivial note.
It isn’t.
Without it, a perfectly innocent heater shutdown at COOL can look remarkably interesting on a graph.
The audio experiment has had its most useful failure yet
The microphone work has probably taught me more through being wrong than through being right.
The earlier audio processing had been developed around a cheap microphone.
I have since moved to a calibrated UMIK-1.
Initially I was a little disappointed that the new microphone had not suddenly transformed crack detection.
That was unfair to the microphone.
The recording quality is good.
The problem is that the processing was still looking for features that had been developed around a different microphone and a much less developed understanding of the machine.
The UMIK recordings have exposed something much more useful.
There is a strong recurring machine sound roughly every few seconds in parts of the roast.
It is highly regular.
Coffee cracking generally isn’t.
That means an algorithm looking simply for transients can very confidently discover the Gene Café doing Gene Café things and congratulate itself for finding coffee.
That is not especially helpful.
A blind listening test changed the direction again
One roast in particular became useful.
During Roast 165 I heard what I thought was crack-like activity and marked it.
Later I made a series of short audio clips and shuffled them so that I did not know which roast or event I was listening to.
One clip sounded clearly different to me.
My note was essentially:
Definitely cracks.
That clip turned out to be centred on the Roast 165 marker.
Several deliberately included machine-heavy clips I had classified as machine-like.
A clip from a little earlier in Roast 165 contained what sounded like very light possible pops.
That does not prove an exact first-crack timestamp.
It does not even prove that every sound I called crack-like was necessarily a bean cracking.
But it demonstrated something useful:
the UMIK recording contains acoustic information that my ears can distinguish from at least some of the machine noise.
That is a much better starting point than asking an algorithm to invent its own definition of first crack.
Perhaps the machine needs to be understood before the coffee sound
That led to the latest experiment.
Instead of asking:
Can the microphone detect first crack?
I have started asking:
What does the Gene Café itself sound like as it moves through a roast?
That has already produced an interesting result.
Historical Gene Café app logs frequently show the fan moving from level 2 to level 3 in the region around 200°C during ordinary 250 g roasts.
The manufacturer’s system associates automatic fan behaviour with its protection/overheat logic, although I still want the live Bluetooth state independently decoded before attaching that exact label to what we are hearing.
So we tested the new UMIK recordings without letting the algorithm simply hunt for an interesting moment.
The same fixed temperature points were compared across eight different roasts.
Around 202°C, all eight showed the same direction of change in several acoustic measures.
The overall sound level fell.
Higher-frequency energy fell.
Lower-frequency energy became relatively more prominent.
That is starting to look like a reproducible machine-state acoustic signature.
I am deliberately not calling it “the overheat sound.”
Not yet.
But it is very strong evidence that the machine itself moves into a recognisably different acoustic state in that part of the roast.
And that gives RoastAid a much better future architecture.
First:
Understand what the machine is doing.
Then:
Ask what sounds remain that the machine does not explain.
That feels considerably more sensible than assuming every little pop is coffee.
First crack has become less important and more useful at the same time
That sounds contradictory, but I think it is where I have ended up.
I no longer think first crack should carry the burden of being the control point for the Gene Café.
Some coffees are loud.
Some are quiet.
The machine is noisy.
The reported temperature is not bean temperature.
And a single isolated pop is a pretty fragile thing on which to base an entire roast.
But crack-like activity is still useful evidence.
Especially when combined with:
- where the machine is thermally
- whether it has reached target regulation
- the recent rate of progression
- the coffee and process
- what I can hear myself
- total roast time
- final weight loss
- colour
- and eventually the cup
So the project has not abandoned first crack.
It has simply demoted it from oracle to witness.
Probably healthier for everyone involved.
The cup needs a stronger vote
There is another change coming from the people watching the channel.
A viewer, Stewart, has gently nudged me more than once towards tasting and cupping more formally.
He has a point.
I enjoy the roasting, the machine behaviour and the measurement side of this project.
That also makes it remarkably easy for me to spend several hours proving that something happened at 11 minutes and 47 seconds while giving the resulting coffee the rigorous sensory assessment of:
“Yep, that’s quite nice.”
The whole project eventually has to close the loop in the cup.
I already brew and drink the coffee.
But structured tasting is something I have tended to avoid because it is not the bit I naturally gravitate towards.
That is probably exactly why I should do more of it.
I am considering both comparative brewing with the Fellow Aiden and some straightforward cupping.
Not because I suddenly intend to become a Q Grader.
Because building my own sensory memory is another measurement instrument, and currently it is the one I have trained least deliberately.
Robusta has joined the experiment
Another overdue bit of learning is Robusta.
For most of this project I have been roasting Arabica coffees across different origins and processing styles.
That has now changed.
I have started roasting Vietnamese Robusta alongside more familiar coffees.
Visually, the first batches produced rather a lot of pale or quaker-like beans.
That alone was useful.
The coffee did not behave or look exactly like the Arabica coffees I had become accustomed to, which is rather the point of putting it through the same system.
I am not interested in using Robusta as a novelty or as something to sneer at.
I want to understand what it actually does.
How does it roast?
What does the weight loss look like?
What does the cup contribute?
What happens in blends?
And how much of my existing “knowledge” turns out simply to be knowledge of the coffees I happened to roast first?
That last question probably applies well beyond Robusta.
Processing and variety have become much more interesting
The green bean itself is taking up a larger part of the project too.
A year ago, “coffee bean” largely meant the thing that came out of a bag and went into a grinder.
Now I find myself increasingly interested in what happened before that bag existed.
Variety.
Processing.
Fermentation.
Drying.
Elevation.
Producer decisions.
The difference between something inherent to the plant and something created or amplified after picking.
The more I read, the less comfortable I become with very neat explanations.
That is a good thing.
The Processing Explorer and Variety Explorer on the site came out of that wider learning.
They are not there because I think I have mastered either subject.
Quite the opposite.
They are attempts to organise what I am learning in a way that makes the next coffee easier to understand.
Books, research, producer information and people such as Rob Hoos and Lucia Solis have all influenced the questions I am asking.
The important bit is not to turn somebody else’s expertise into one of my rules.
It is to understand the idea, test what can actually be tested in my little home-roasting context, and be clear about where observation ends and interpretation begins.
The owner’s guide became a much bigger job than expected
There is also the Gene Café owner’s guide.
This started with the fairly innocent idea that the official manual leaves a gap between operating instructions and the practical questions an owner has after a few dozen roasts.
It has grown considerably.
The working manuscript now covers the machine, controls, preparation, roasting behaviour, airflow, fan and drum changes, cleaning, troubleshooting, quiet coffees, storage and a lot of the accumulated practical learning from the project.
The important part is how it is being written.
Manufacturer information stays manufacturer information.
Personal observations stay observations.
Repeated evidence gets stronger language than a one-off event.
Things that are uncertain remain uncertain.
That has made the writing slower.
It has also made it substantially better.
I would rather publish an owner’s field guide that says “I don’t know” occasionally than one that fills every gap with confidence.
The learning loop is becoming the actual project
Looking back, I think this is the main change.
The individual tools make more sense when seen as parts of one loop.
The green coffee enters through the Ledger.
A roast is planned.
RoastAid records what actually happens.
Bluetooth tells us what the machine reports.
RoastPower tells us what it does electrically.
The microphone records what it sounds like.
Manual markers record what I notice.
The roasted weight gives us weight loss.
Colour adds another reference when measured.
Then brewing and tasting decide whether any of that cleverness was worthwhile.
The result goes back into the record.
And the next roast begins with slightly more information than the last one.
That is probably as close as I have come to defining what Coffee | One Roast at a Time actually is.
It isn’t really a channel about finding the perfect Gene Café profile.
It is a channel about learning how to learn from a roast.
Where things stand now
There are now well over 160 roasts in the project.
The replacement Gene Café is producing useful reference data.
The Green Bean Ledger has become the central record.
RoastAid has completed real roast captures including audio, Bluetooth telemetry and power.
The UMIK experiment has produced its first useful blind-listening evidence.
The machine itself is beginning to acquire an acoustic fingerprint.
Robusta has entered the roast queue.
Structured tasting deserves more attention.
The owner’s field guide is substantial enough that it now needs editing rather than simply more words.
And there is still an absurd amount I don’t know.
Which is rather reassuring.
Because if I had reached the point where every roast simply confirmed something I already believed, I suspect this project would stop being interesting very quickly.
Sorry this one took so long
So, apologies for the gap between Notes.
It was not because nothing was happening.
Quite the opposite.
I have probably been too busy making the next thing, testing the next roast or discovering that yesterday’s clever theory had a hole in it.
I will try not to leave quite such a gap before the next update.
Although given the history of this project, I should probably avoid making promises involving either coffee equipment or software.
For now, the working loop remains wonderfully simple:
Plan. Roast. Record. Weigh. Taste. Compare. Learn.
Then do it again.
One roast at a time.