IKAWA inlet profile calculator

Discuss roast levels and profiles for espresso, equipment for roasting coffee.

#1: Post by GDM528 »

This post applies to the IKAWA Home, and Pro models that can be set to inlet control. Also, only relevant to those who like to experiment with roasting profiles, as I give zero guidance on whatever the 'best' profile might be - just trying to make the process of figuring that out a bit easier.

Thanks to IKAWA's rather impressive control loop algorithms and high airflow, there's a very tight connection between the programmed inlet profile settings and the actual chamber/bean temperatures. Yes, there's a very large drop in temperature from the inlet, but it's tightly correlated and repeatable enough to allow workable inferences about what's happening downstream.

I've been working on a mathematical model of the setpoint-to-BT relationship, but that has been slow going (due in part to IKAWA's aforementioned algorithms). In the meantime, I gotta have my coffee, so this is what I'm doing. I've found it to be useful and hopefully worth sharing - plus, I might get some good suggestions for future improvements...

I've focused on a linearly-declining RoR profile for several reasons:
It's what the drum-roasting experts seem to strive for, so I can better map their wisdom to my profiles.
It's mathematically simple, and closely approximates the actual thermodynamics.
It's gentle and relatively uncontroversial - the 'safe' profile I use with a new batch of greens, or for cupping across several greens. I save my weird profiles for later.

I was initially concerned that a RoR profile would be kinda limiting, but I found that if I started the curve at the first setpoint (rather than at time=0) I could achieve all sorts of outcomes for dry/brown/develop timing. Kinda analogous to adjusting the charge temperature in a drum roaster, with the RoR curve starting at the turning point.

I've ginned up a spreadsheet that calculates the setpoints to produce a linear RoR profile with just four input parameters. And as I get into the groove with a particular batch of greens, I may only have to tweak one or two numbers to fine tune the roast. This has completely dropped my barrier to experimentation, as I no longer guess at the setpoints, data-log a roast, analyze, and iterate to get the proper shape - now it's one and done. And since I know the shape of the curve, I can make rough estimates of key roasting metrics, which in turn allows me to figure out how to tweak those metrics before committing actual greens. Haven't trashed a roast... yet.

Here's a screenshot as it sits on my phone - that's my preferred platform for convenient transcription to the IKAWA app. It's been organized and sized so I only need to scroll vertically. The green-shaded cells are the inputs; all the other numbers are calculated. There's also room for two different roast profiles to be compared side-by-side - something I find very useful when trying to decide what to try next.

This next chart shows the effect of the 'Curvature' parameter. This will adjust the slope between setpoints to create a straight-line RoR. Setting Curvature to zero will produce a straight line, and a setting of 10 will flatten the end of the profile. And yes, one can create an increasing RoR - good luck with that.

There are also two thresholds, Tbrn and Tfc that help 'train' the algorithms that estimate the roast metrics. With a new green, I watch the real-time temperature readout on the app as the roast proceeds. Tbrn is the temperature where I observe the greens starting to change color and/or roasting aromas start to ramp up. Tfc is the temperature when I hear first crack begin. Yes, it's really crude, but close enough to make some reasonably accurate predictions on how changing the profile might shift something like first crack timing. In effect the algorithms are using actual roast observations to calibrate the offset from inlet temperature to bean temperature, rather than sticking a thermocouple into the beans and logging the temperature readings (which I've also done). This method should adapt to whatever batch size and fan speed you prefer to use - but that also implies that changing those variables from run to run will flummox the predictions.

Does this really work? The chart below is a comparison of the two profiles shown in the spreadsheet. The dashed lines are the setpoints taken from the spreadsheet, and the solid lines are taken from thermocouple readings in the spinning bean mass during the roast:

The measured slope change from 9 to 7 pretty closely matched the spreadsheet. The particular greens I used (Klatch Brazil Diamond Reserve) were virtually inaudible at first-crack temperatures, but over the course of many roasts I've observed first crack when the app reads 250C inlet temperature. FWIW I did hear one feeble crack within about 15 seconds of the predicted time for one of the roasts. I matched finish temperature and AUC, and sure enough, the two roasts are visually indistinguishable, but with a subtle difference (at least to me) in acidity due to the different dry/brown timing.

In the spirit of open-source sharing, I've posted a public share here:
https://docs.google.com/spreadsheets/d/ ... TMHv4/copy

I'm a little (maybe a lot) fuzzy on how to safely share spreadsheets publicly, but I think this link will prompt you to make your own copy of the file, which is essential. I wouldn't be surprised if there are vulnerabilities, so use appropriate caution. If you do try it out: note that time is entered as MMSS, leading zero optional and no colon. I use Celsius units, but Fahrenheit will also work - just be consistent. Also, there is no error-trapping, so the spreadsheet is very breakable. Nonetheless, I would appreciate any bugs spotted.

As for the IKAWA app, the following profile has the requisite six setpoints and is editable without requiring the subscription editor. I found (at least with my current version of the app) that if I edit the name of the profile, it will save as a new profile - so watch out for proliferating profiles in your library.

https://share.ikawa.support/profile_hom ... IAGgAiACgA

Happy to answer any questions, and please post them here so others can benefit.
★ Helpful


#2: Post by SquidMan »

Stuck a probe in for a test run using Curvature 7, Estimated time to FC 5:56, actual time was roughly around 6:11 so not far off at all. I hit start a little bit early while fiddling with the placement of the probe so the times are maybe 15-20 seconds ahead.

GDM528 (original poster)

#3: Post by GDM528 (original poster) »

SquidMan wrote:Estimated time to FC 5:56, actual time was roughly around 6:11 so not far off at all.
Cool. Appreciate your donation of greens for science!

So, I adjusted the first-crack threshold from 252 to 254 so the sheet would predict 6:11 as you observed. Then I used the second profile to figure out how to move first crack back to 6:00 - changing the curvature from 7 to 7.7 did the trick. This is how I use the spreadsheet, but (maybe) not quite that OCD ;) You also helped me spot a formatting bug, where it shows development time as one minute and sixty seconds - oops.

FWIW, I've done some detailed measurement of BT around first crack, and observed a thermal 'signature' of first crack 15-30 seconds before I actually heard any sounds. The timing of the thermal signature was very consistent with temperature, but audible cracks would vary by about 15 seconds between runs.

Interesting to note that the calculated inlet temperatures to shift FC are only 1-2C higher - less than a 1% change in temperature. Really drives home just how delicate first crack timing is. That said, it seems really remarkable to me that two people can tap in the same set of numbers into two different roasters in two different locations with two different greens, and still get first crack timing to land within 15 seconds of each other... Like, wow.

User avatar
Team HB

#4: Post by drgary »

Gary, this is quite a tool. What's involved in changing the temperature readouts to luddite Fahrenheit?

What I WOULD do for a good cup of coffee!

GDM528 (original poster)

#5: Post by GDM528 (original poster) »

Temperature units are whatever you enter - they're just numbers. So, if you input Fahrenheit the calculations will follow suit. This screenshot shows the same roast profile, but in C and F respectively. I just converted my original C inputs to F and reentered for the second profile:


#6: Post by SquidMan »

Mind blown, Audible first cracked happened at the exact temperature I entered randomly on back to back roasts with the first roast starting from cold outdoors. Knowing what I've read from the thermal performance thread the app was reading about 248C-250C and BT was reading 208C when I heard the first few pops.

GDM528 (original poster)

#7: Post by GDM528 (original poster) »

I've developed a habit of running my Home roaster empty at least once before loading in the first batch of greens - and that's when I'm running my roaster indoors at room temperature. I prep the work area, measure out greens, etc. while the roaster warms up. However, that's a pretty significant shift you observed, about double what I've seen. IKAWA's control loop should first-order correct for ambient temperature up to the inlet sensor, but is unaware of the temperature and thermal inertia of the chamber. The roaster produces minimal fumes when empty, so it might be useful to pre-warm it indoors before taking it outdoors.

I salute your dedication to the craft, to be roasting coffee outdoors at 42F!

User avatar
Team HB

#8: Post by drgary »

Gary, you've probably shown elsewhere how preheating affects the curve. Can you link that?

What I WOULD do for a good cup of coffee!

GDM528 (original poster)

#9: Post by GDM528 (original poster) »

This post illustrates a worst-case scenario at room temperature: sudden step and temperature hold:

Ikawa Home thermal performance

After 4 minutes the cold curve still hasn't caught up with the warmed-up curves.

This is less of an issue for steeper profiles, but regardless I'll always do a warm-up run, preferably of the same profile that I plan to use with actual greens. If I'm in some sort of weird headspace where I want shave three minutes off the warm-up time, I'll use this profile:
https://share.ikawa.support/profile_hom ... IAGgAiACgA

Supporter ❤

#10: Post by mgrayson »


First, a big Thank You for doing this!

Here's my first run with the 170 start curve on a Pro 100. 75g of Sweet Marias Polar Exxpresso (misspelled because this forum will NOT allow the correct spelling). Roast Vision 15 - Medium Dark, which is where I wanted it. My FC line is Audible. The RoR signature suggests it was earlier. Sounded like a bit of Second Crack there at the end. will let you know how it tastes...