App to create a home coffee menu and data on roasts from Roastmaster

I created a python script to create a little menu for home from my roast data in the Roastmaster app that I use on my iPad when roasting coffee in my Hottop coffee roaster. I created another app that will allow my brother to paste some strategic data about his roasts to a note field in Roastmaster. After the script was complete I converted it to a windows executable (.exe). I tried to do the same with the CoffeeMenu script but was unable to create the exe file. It’s a problem with a python library I am using called Reportlab. I’m still working on it but very discouraged!


Roasting Notes

Hmm. Maybe I should have a Roasting Notes page (…and here it is). Anywhoo, I’ve been doing some reading today and think I should jot down some notes on significant things that I learned. I’ll just paste what I recorded in Evernote for the time being and then distill the important points.

Here’s the link to the Evernote:

Very interesting Home-Barista thread! 

First, it’d be helpful to know what you didn’t like about your roast. Do you have more info on your roast besides ~8 min first crack? Charge weight? Charge temp? Power and fan settings you used?I haven’t roasted this coffee on my hottop but i’ve got a pretty good handle on the machine. It’s very different from Tom’s Quest. For this coffee you’ll want to use low fan and med/high heat with a medium sized charge (I worked with 150 grams).

Try something like 8 power, charge at 200 with 0 fan and let it ride until BT (you have a bean temp probe?) is about 290 (hopefully about 5 minutes) and add 25% fan. At BT~370 (10-15 degrees below 1cb) decrease power to 5. At 1Cb increase (9:30isn) fan to 100%. Drop after about a 1:00-1:15.

The key is to find the charge temp/power to get the drying time to 5:15ish while not building up so much heat that it goes too fast from there and 1c is 4ish minutes later and then coast it in for landing.

I’m a hottop user but not as experienced as Tom or Eric. Nonetheless I would still suggest using a bit of fan even in the initial stage. The reason for me is that the hottop is perforated drum, and the heat element can be harsh on the beans sitting right next to them. That’s just my take. The quest and usrc are both solid drums so I assume this is not an issue. Or, unless you’ve got some suped up fins like Rama does.

In all of my good results with my hottop, except for the initial first minute, and except for the final 3 to 4 min to back down the heat before and during FC, I only change the heat no more than twice, and the fan no more than once, during drying and ramp up. During the initial first minute, I would start with fan = 4 to avoid tipping, and then back down to 1 or 2 for the entire roast. That has worked for me, both for my slow to fast brew profiles and fast to slow espresso profiles. What I would do with a perforated drum is, the gentler the change in your heating and fan, the better. By the way I always stick with the same charge weight of 225g exactly, and charge temp of BT=350F, for all of my roasts so far, and this really depends on your BT and ET probe positions etc etc. This is true from central SHB to indonesian gilang bisah, with great results.

The takeaway point I want to suggest is, the fewer knobs to tweak, the closer you can roast systematically. So what I do is just an example. You can choose to adjust charge weight but keep other elements the same. In the end you choose what knobs to change, and the more you can limit changing, the less frustrating.

Roast, taste, (analyze, adjust roast plan), repeat.

Ok…Stupid question…My artisan says that my drying time ends at that particular point, but it automatically plots that…I have no clue if it’s actually finished drying stage at that point…How do I know for sure when drying stage is complete? Smell or visual inspection? other?

Also, what section of my plot is the 1:20s development time? (sorry i’m such a rookie)

omega probes

K Type Thermocouple Grounded Welded Junction style 1

ETA: using a hottop

You should remove the automatic marking of the drying phase in Artisan. You must have it triggered as it crosses a particular temp range, for most people, this is close to 300°F, but I’m not at the moment looking back at your profile.

The drying phase has occurred when you notice the color change from a pale green to a light straw color on most beans, along with a change in aromatics of wet grass that yield to a light bready toasty aroma. Denser, larger or harder beans will take either more time, or a higher temp in order to reach that phase at the same time as an equivalent charge of less dense beans.


your development time begins at the onset of first crack and continues on till the point that you end the roast.

grounded thermocouples are slower to respond than ungrounded

So you’d recommend ungrounded when i change them out?

What’s the rule of thumb for the drying phase…do we want a long drying phase…short one? depends on coffee?

I’m missing the foundational knowledge unfortunately…Any book or online resource that could help me with the theory behind all this?

SAB wrote:Until this thread, I was unaware of the more superficial sugars and oils on dry processed beans. Your passing comment about changing charge weight and ET, along with your explanation as to why, has helped provide insight into things I should look for and be aware of in my own roasting.

It’s part of the effect from the pulp drying on the pergamino, some higher concentrations of sugars and other compounds are closer to the surface of the bean. You can protect these by roasting with lower ET’s than any typical high grown, dense, washed bean.

SAB wrote:Do you PREFER light roasts for espresso? Or again, bean specific.

I prefer sweet espresso that doesn’t hide cultivar under heavy roast. But sweet is of ultimate importance and my main consideration. If I can’t make a coffee sweetly, I don’t use it as espresso. It’s clearly bean specific. Any cupping roast that cools sweetly can be used for espresso, some better than others.

by TomC on May 30, 2014, 1:54 pm

seacliff dweller wrote:So my question is: what really determines whether a bean is suitable for espresso or not. I am confused.

Ultimately, your palate. Plus what I just wrote in the previous reply. Don’t be afraid to let the Konga rest a bit longer before being pulled as espresso. Most DP and nearly all Ethiopians have longer legs, i.e. they’ll last longer and develop flavors as they rest, better than other coffees. But again, I reiterate, my primary focus is sweetness. I don’t care how amazing a coffee might taste in the cup, if it’s sour and lacking sweetness, there’s no way I want to prepare a concentrated version of it. That’s what so many cafes/roasters fail to ultimately realize. You can’t roast to an Agtron number and call yourself an accomplished roaster, regardless of how you extract it.

TomC on May 30, 2014, 3:42 pm

LDT wrote:Tom,I roasted this coffee last night and hit 1C at a much higher temp than your graph shows. I’m at work so I don’t have the information handy, but I recall it was closer to 390F. I was using a charge weight of 235 gms. Is your temp of 377.4F at 9:36 correct and could this be associated with your roaster you were using? I also realize different themocouples, etc. could explain some of the difference. Any comments?

No lateral correlation can be made between the two different roasters, probes etc.

What’s more important is information about length of drying phase (very important), and post first crack development times. Aromatics from the tryer can tell you if you’ve pushed past the brighter, sour acids and developed the roast without over roasting the sugars. My finish is a tad slower so I can carefully monitor the development and assess the sweet aromatics, so I know once I cross that threshold I can immediately end the roast.

by TomC on Jun 02, 2014, 12:32 pm

Fear not.Just opening the jar proved that a great deal of the coffee has changed. I cracked open the seal and immediately a 2 foot radius around me was enveloped with the exact same aromatics of Verve’s famed Green Tip Geisha. It’s Fruity Pebbles on steroids, on a cocaine bender. It’s fruity :mrgreen:

This is almost not coffee. It could equally be described as a meal replacement beverage :shock: . I swear to God sipping this coffee and enjoying it’s aftertaste is identical to the best late spring breakfast of a tall stack of buttermilk pancakes crammed with as many ripe blueberries/blackberries as you can fit in the batter. Then pour a quart of boysenberry syrup over the entire plate. There’s a hint of cinnamon dancing around in there subtly, makes me think of French Toast too ( the vanilla extract in the egg batter, Mmmmm). This coffee draws out poetry. Let it rest properly and it will blow your friggin mind. The boysenberry flavor won’t leave your palate it’s parked there. I’m still tasting it 8 minutes after my last sip as if I just put it in my mouth.

The ferment is greatly tamed, its no longer waiting to kill the finish after the fruit hits up front like ir did 36 hours-2 days post roast. Now it’s something softer, smoother, and more gently integrated into the cup without insulting it. There’s no doubt that it’s a natural processed coffee, but I can put this in front of 10 professional cuppers and tell them that I’m asking them to assess a new dry processed Geisha and 9 of them would believe me. They’d probably sell a kidney to be able to get it all bought up too.

Ok, a bit more organized:Brewed 4 days post roast, 15:1 Kalita Wave. This time, brew water was 195°F. I think that helped tame the ferment (plus the aging)

Dry Fragrance: explosive, pungent, lush, purfumed blackberries. See Green Tip Geisha

Aroma: Enveloping, bright laser like focused Jolly Rancher berry and about a gallon of agave syrup sweetness.

Flavor: Put on your seatbelt, you’ll be here for a while. I haven’t tasted fruit like this since the Green Tip Geisha (that cost more than 20x per pound) and this has the Green Tip trembling in it’s massive shadow. Again, this isn’t coffee. This is something else entirely. I’ve never experienced anything this focused on one crystal clear blackberry flavor. This has Don Pachi shamed. There’s delicately perfumed jasmine, but it’s not heavy, the only thing my tastebuds can perceive is some kind of ultra sweet pineapple upside down cake that just happens to be buried in a mountain of blackberries. I doubt I’ll ever gush over another coffee like this one. Nobody should miss this experience.

Acidity: moderate, delicate slightly acetic, like a very fine Pinot Noir.

Finish: At least 20 minutes of tongue happiness. This is too good to be artificial, but it would be hard to convince a non coffee nutcase that this is just a ground up coffee bean.

I’ll never expect to score another coffee higher. This is a 97 point coffee, right here, in my kitchen, from my roaster. This coffee kicks dirt on my Geisha blend I competed with. I ordered 5 pounds (after the first 2 for a total of 7 on hand) and I think I’ll go back and buy as much as I can store up. I’ll throw stuff out of the deep freezer to make room for this coffee vac sealed and kept. If I were to sit here and fill out a SCAA scoring sheet, I’d land somewhere near a 93, but the fact that this experience is so focused, so intense, perfectly unique, it redefines what a natural Ethiopian can be, it demands more. This has every Geisha I’ve ever tried (quite a few) beat, and stands only with the Cerro Azul AAA Geisha from Colombia. Nothing else comes close. Not to my palate.

Get this coffee.

Notes on Green Costa Rica Cerro Paldo

I was searching the Home-Barista forums for information about roasting with the Hottop when I came across an interesting thread discussing a group activity where people buy and roast the same bean. I haven’t found any rules or even guidelines for the activity so for now, I’ll just assume that they will compare notes and analyses. Participants work with a different bean in January and February 2014. Everyone also buys the beans from the same source, a natural condition. I was curious so went to to look at the bean for January, Costa Rica Cerro Paldo. Here are some notes: The quote below is from the thread and it’s a comment by a user whose handle is boar-d-laze, very well expressed so I’m not going to try to paraphrase because the author’s own words will serve so much better. “Ken Davids consistently scores the Cerro Paldo bourbons above 90. Sometimes quite a bit more so. The coffee is high grown. Finca Cerro Paldo is 1850-1900m. There’s probably tons of information in English, but the best thing I could find on them was this short article in Spanish. “Red honey” means the fruit is dried with all of the pulp. “Yellow honey” means some of the fruit is removed before drying. The yellow honey process DOES result in a yellow appearing green bean. Yellow and red honeys will cup a little differently, but I’m pretty sure the roaster will treat them similarly. Just like their name, honeys are all about the sweetness. Well, nearly all. There are sweet fruits and flower notes to be had, but you’re going to have to work to not squash them.” It seems that this Red Honey variety requires a very delicate roasting profile. The author continues: “You want to start very gently or you’ll burn the sugars in the soft outer layer. You want to go through the drying phase — bread and rum aromas — gently. Pursue the Ramp fairly aggressively. You’re probably looking for a 1stCs in a drum at 9:00 – 10:00. In a fluid bed??? Gently through the Development stage, with plenty of air. I’m not sure what the max Development interval is in a drum roaster; but 4:30 is near the edge of the envelope to avoid flattening the coffee. Fluid bed? No opinion. “Plenty of air” in a drum so as not to season with smoke as you would, for instance, a West African. If you don’t want to go through the all the sample roasts required to work out a nailed-down profile from scratch, you could do worse than follow Boot’s advice — which happens to be the same as mine (not that I’m any sort of paragon). Low Charge temp; long Dry; long Development; C+, max.” As long as you don’t scorch the sugars in the beginning, and don’t overcook the bean at the end, you should get something very enjoyable. Bringing out the complexities will be challenging. Fast fluid-bed and slow Behmor results should be very interesting.”

My Hottop arrived!

Well I’m behind on following up on this subject. My Hottop KN-8828B-2K arrived three days ago on Wednesday. It was delivered by FedEx in the morning. My plan was to have beans measured out, the RoastMaster app prepared to record the roast and everything ready when the roaster arrived. But due to my slow, meticulous nature I didn’t actually roast until late afternoon. In spite of all my preparation, I felt like I had no idea what I was doing! I was pretty convinced that I would probably blow the roast so I decided that I would practice my first roast on some beans we had brought back from Thailand with us. They had been vacuum sealed and unbeknownst to us, they were quite moist. Even after a couple of roasts, I failed to comprehend this and they ended up getting moldy. I washed them and dried them and have had them in a jar since last Spring, hanging on to them while knowing it probably won’t be safe to consume them. In other words, this was a perfect use for them.

The Hottop or HT as it is usually abbreviated, comes with a very extensive manual which even includes a short history of home roasting as well as the very detailed description of a sample roast. They recommend that you start with a 250 gram roast and consider that the optimum amount to roast. My brother Aaron further explained to me that the size of the roast can substantially affect the length of the roast. The roaster has a preprogrammed preheat period which heats the roaster to 167° f. At that point it beeps quite loudly for about 10 seconds.

There are two Hottop models which are the same except for the control panel. The model I bought, the KN-8828B-2K is considered the manual model while the KN-8828P-2K is considered the programmable model. You would think that the B-2K would be more advanced than the P-2K but actually the reverse is true. It’s true that you can automate the P model more but the B model is more adjustable by the user and for serious roasters that is far more important than automation. Automation would be great if roasting coffee was that consistent and predictable, but that couldn’t be further from the truth. To explain this, think of cooking a chicken. Most people would probably do something like, pre-heat the oven to 400°, put the chicken in the oven (preferably at room temperature). Reduce the heat to 350°. You could have used the weight of the chicken to calculate the amount of time that it should roast, but chances are, you’ll check before the time is up to see how it is coming. Sometime during the roasting, you will have basted the bird, perhaps covered it with foil because it was getting browned on the breast to quickly. And perhaps you turned it down 5 degrees as well, or turned it up or made other adjustments. And when it comes to when to take it out, even if you inserted a thermometer into the thigh, it’s still easy to take it out too soon or too late!

Roasting coffee is like this only it is many times more complex and small variations in factors like the temperature you drop the beans into (charge) the roaster, how quickly you get to 300° f, how quickly you get from there to first crack (I’ll explain first crack later), how quickly you get to second crack (or maybe you should stop the roast before you get to second crack), how you adjust the fan speed, how you adjust the temperature; these and other things can radically alter the flavor of the roasted coffee.

I was just looking at my previous post and see that I had talked about how many steps the Hottop would likely save me with my preparation. I enumerated the following steps that I had to follow with my homemade roaster, the TurboCrazy:

  1. One large colander for cooling
  2. A large bowl, also for cooling
  3. A large fan for cooling
  4. two pot holders for handling and dumping beans (very awkwardly) from the StirCrazy into the large bowl for cooling once the roast has completed
  5. A digital thermometer with thermocouple for recording the bean temperature
  6. A jar containing the pre-weighed beans for each batch I plan to roast during that session (usually two)
  7. An extension cord and power strip
  8. The StirCrazy with aluminum flange
  9. The Turbo Oven
  10. A bolster to sit on
  11. A table to set the roaster parts on
  12. An iPad with two apps running:
    1. RoastMaster
    2. Interval Timer

In fact, here are the things that I ended up using for the HT:

  1. A large bowl that I used to carry out the jar of beans I intended to roast. The bowl was not really necessary and I’ll probably just bring out the jars of beans alone
  2. I brought two pot holders but found I didn’t really need them. They still might be good to have in case of an emergency. The Hottop does get quite hot. Hence the removable grills.
  3. An extension cord but the power strip wasn’t necessary.
  4. A bolster to sit on
  5. A very sturdy chair to set the HT on. The table I used for the TurboCrazy proved to be to rickety for the HT.
  6. An iPad running just one app, RoastMaster, an excellent economical roast logging utility that runs on iOS.

It’s time for bed but I just want to mention some of the things I’ll be talking about in the next post. I’ll post a screen shot of my roast profiles for the three roasts I’ve done on the Hottop so far. I’ll explain the timing and the graph of the Hottop’s built-in temperature probe. I’ll explain what I know about the roasting strategy, how I did and what I think I need to correct.

I just ordered a new coffee roaster!

I just ordered a Hottop KN-8828B-2-K Digital Drum Roaster from The Hottop is, I believe, the most popular, serious roater for home roasters and is supposed to allow the control over the roast necessary to roast as well as commercial roasters costing thousands of dollars. The fact that you are limited to 300g batches is irrelevant to most home roasters. In fact I have probably never roasted anything over about 250 grams and my preferred batch is far lower, probably about 225 grams.

The Hottop will give me far greater control over my roasts than I had with my home made roaster, made from a StirCrazy popcorn popper and a Sumpentown Turbo Oven. It should also be much more convenient. This is especially true because, every time I do a roast I have to carry a number of items outside to avoid smoking the house up. Here is a list:

  1. One large collander for cooling
  2. A large bowl, also for cooling
  3. A large fan for cooling
  4. two pot holders for handling and dumping beans (very awkwardly) from the StirCrazy into the large bowl for cooling once the roast has completed
  5. A digital thermometer with thermocouple for recording the bean temperature
  6. A jar containing the pre-weighed beans for each batch I plan to roast during that session (usually two)
  7. An extension cord and power strip
  8. The StirCrazy with aluminum flange
  9. The Turbo Oven
  10. A bolster to sit on
  11. A table to set the roaster parts on
  12. An iPad with two apps running:
    1. RoastMaster
    2. Interval Timer

With the Hottop I’m hoping to reduce this to items 6, 7, 10, 11 and 12. Also, the interval timer on the iPad should no longer be required.

The Hottop KN-8828B-2-K Digital Drum Roaster

RoastMaster–New beta version

I’m testing a new version of RoastMaster that is out in beta. Puddie has been testing it and suggested to the developer, Danny, that I might like to do the same. Danny is extremely friendly and gracious and really seems to want to please his users and make the app as good as possible. It is already very good. I need to study the improvements so that I can specifically test them.  Here is a list that he sent to us:

New Features

User Interface

  • A more simple, open design
  • Improved typography
  • Improved iconography
  • Support for iOS 7 dynamic text sizing
  • Notes for all items are now edited via a spacious, dedicated full-screen editor
  • Activities are displayed with easy-to-understand activity icons


  • New inventory report
  • Copying a roast now includes the profile and program
  • Several of the past-roast matching algorithms have been shifted to the database side, speeding up queries and greatly reducing memory consumption
  • Roaster setup assistant
  • All buttons are easier to tap
  • Dedicated keypad for editing node values and times
  • Turn a roast into a Profile or Program
  • Better curve comparison for past roast matching
  • Roast age in days and hours since roasting is now displayed for cuppings in two ways:
    1. The days between roasting and cupping date is shown in the main table
    2. The days between roasting and the current date is shown by tapping the clock button in the “Cupped Items” section of the table
  • Ability to condense or expand an existing curve by intervals of 15 seconds
  • Roasts, Blends and Cupping now show the countries of their items in the header
  • Roasts, Blends and Cuppings can now be searched/filtered by country
  • Two-finger tap on the main roast console graph to select a curve from a list of all curves


  • Support for Bluetherm Duo Probe (hopefully)
  • Support for iCelsius BBQ Probe (hopefully)

Roast Analyzer

  • Live temperature projection
  • Analyzer now remembers the selected curve, focus past roast and projection markers between views
  • Customizable opacities for graph elements, like current curves, target curves and background
  • Customizable delta times: define up to three separate custom deltas to report for the selected curve or node
  • More accurate delta times for data logging users (deltas are calculated from recent probe readings – accurate to 1/2 second)
  • Easier curve selection via one of two new methods:
    1. Tap directly on a curve to select it in the same way you would select elements in a drawing program.
    2. Two-finger tap anywhere in the graph to display a list of curves, grouped according to the current targeting mode
  • Curve targeting mode lets you choose which curves are displayed: either profile/program, past roast, all or none.
  • Labels for crack and duration milestones, current temp of curves, all or none
  • Preference for alerts to remind you to enter temperature nodes at a customizable interval
  • Ability to show a margin around the graph
  • Multifunction crack buttons. Tap once to enter the start time, tap again to enter the end time. Subsequent taps will give you the option to clear the stored times, or extend the crack duration.
  • Ability to independently show or hide grid line markers for either the X or Y axis via a preference setting that also allows any level of transparency.
  • Ability to have control curves graph with a reduced vertical height, locked to the bottom of the screen via a preference setting – leaving the top area free for reading curve analysis
  • Selected curve remains selected when swiping through past roasts
  • Analyzer display is calibrated to minutes, and remember the last used setting between views