I used to run a coffee roastery and roasted several thousand batches. This is pretty much how it works. I spent hours of trying to match those curves to the target profile.
Back in the day we had software called Artisan and a few probes inside the machine. It would have benefited of from having much more data being recorded.
For example: environment humidity, the number of the batch (machine itself heats, so batch 1 of the day is very different than batch 11), bean temp and moisture before going in, actions the roaster takes etc.
It seems like I have forgotten some nuances.
(Nice work! This is really nifty. I wish I knew more about coffee so I could better understand the dynamics of the controls and how to achieve a perfect roast.)
If you ever did a writeup on how your ML modelling worked and what real-life data you needed, I'd learn so much point of view of someone who's applied a little bit of control theory to robotics and aquarium controllers, but with traditional models. (Hell, I'd even pay $CUP_OF_COFFEE_PRICE for it, since I'd get that much learning time out of it.)
Also: you advertise custom models for roasters. But can you make a digital twin of my toaster?
Cool website !
I've never paid attention to the minute differences, but if you're the kind of roaster who believes in the art of it versus the science, I think it'd be cool to try to map this model to certain outcomes - eg more or less fruity, chocolate, etc. Or actually throw in stuff like humidity, bean age, time of day, etc.
I've done a few hundred roasts, but by hand cranking a flour sifter over a heat gun. My model inputs are noise, smell, appearance. I've never been interested in pursuing a roast curve or profile, because I'm a barbarian.
I put in 265 grams of dry process coffee - usually some Ethiopian from Sweet Marias - set the temp to 449°F, set the time to 19 minutes, start it up and the set a timer for 16 minutes. At that point I start watching it and hit the stop button when it is a little lighter than I want.
The Gene Cafe is notorious for its slow cool-down cycle, so if you stop the roast when it looks perfect, it will end up too dark. But I've gotten pretty good at guesstimating it. And I do two roasts back to back: a lighter one for myself, and a darker one for my friend who prefers that. So if the first roast is lighter or darker than I planned, I adjust the time for the second one.
One time I thought I would get more precise, so I bought a cooling device on eBay. With this, you run the roast until it looks perfect, hit the emergency stop, and dump the beans into the cooler. (Use a hot pad because the handle will burn you!) But this left way too much chaff mixed in with the beans. So I went back to my imprecise guesstimating method.
I used to have to replace the heater element every couple of years when it burned out, but the last one has been good for ten years. The only current problem is that the rotary knobs - especially the temperature knob - have gotten twitchy. If you turn it a bit, it doesn't reliably go up or down smoothly but jumps around randomly.
Having had some prior experience with rotary encoders, I knew right away what the silly mistake was that the designers made, and how they could have prevented it at little or no additional parts cost. Just for fun, I also described the problem to ChatGPT, and bless her silicon heart, she figured it out too.
Would anyone like to take a stab at this question? What was the mistake, and how could they have kept these rotary encoders from getting jumpy after years of use?
When this machine finally does break down completely, I won't be getting another Gene Cafe. Not because of the problems above, but because of a new "safety" feature they added a few years ago where twice during the warmup, it beeps at you and you get 30 seconds to push a button to keep it going. I roast outside, and I like being able to ignore the machine for 16 minutes.
So what I'm showing on the website is just the model part. I'm not a fan of exposing my hardware in a public demo (the digital twin part), but the idea is that this model evolves with the roaster during the roast (data assimilation) and can help the operator guide the roaster to a desired end goal (e.g. medium roast along some profile or with minimal energy usage).
> A digital twin is a digital model of an intended or actual real-world physical product, system, or process (a physical twin) that serves as a digital counterpart of it for purposes such as simulation, integration, testing, monitoring, and maintenance.
> A digital twin is "a set of adaptive models that emulate the behaviour of a physical system in a virtual system getting real time data to update itself along its life cycle. The digital twin replicates the physical system to predict failures and opportunities for changing, to prescribe real time actions for optimizing and/or mitigating unexpected events observing and evaluating the operating profile system."
Change something in real life, thebdigital twin changes.
Adjust something on the twin, and so adjusts the real machine.
I'm also working on letting people upload their roast profiles for training and serving their own models (including a "library" of bean models!).
A Tuboencabulating Roaster
Can we stop using the expression "Digital Twin" ?