All posts by admin

More Bean Mass Probe Progress

I tidied up the bean mass probe software a bit.  The probe still measures temperature twice per second but only sends it to the Raspberry Pi when requested.

I added some code that will identify local minimum and local maximum temperatures.  The local minimum temperature corresponds to the point in the drum rotation where the bean mass thermocouple is buried in the beans.  I also fixed the temperature synchronization problem.

This Guatemala roast shows a once-per second reading of the bean mass probe — lots of fluctuations due to drum rotation.


The chart below is the same roast but only plotting the local minimum temperature from the bean mass probe.  Works like a charm.

201410259 (2)

Check this out — according to Sweet Maria’s information on “Using Sight to Determine Degree of Roast”, first crack should start at about 9:20 at a temperature of 401F.   First crack in this roast started at 13:19 at a temperature of 401F.  I think that this is a pretty good sign for the bean mass probe.  The current roast profile I am using controls outlet temp at 510F — I could increase this and achive a faster roast.  Might be worth a try to see if I can match the 9:20 target.

More Bean Mass Probe Experiments – Guatemala Acatenango Gesha

This is the first complete roast profile with the new bean mass probe.  This is 150 g (green) roasted to the beginning of first crack. As for the coffee – the intent here is to get a little darker roast on this bean.  The last batch I roasted stopped between 1st and 2nd crack and was a bit underwhelming.



The bean mass temp is in the light blue.  Directionally this measurement looks OK but there is some strange behavior:

  • The first several readings after the roast started did not rise at all (~71F)  this starting point is about right but the temps should have started to climb quickly.  After touching the TC amplifier board, it started functioning more-or-less as expected.
  • Something similar happened at the end of the roast where the thermocouple appears to be “stuck” continuing to climb after the heater has been turned off.  Again, after touching the amplifier board, it jumped down significantly — but I am not sure the reading is correct. It does appear to be moving in the right direction again.
  • The plot below shows something really weird — the outlet temp and bean mass probes have different periods.  Because the drum rotates, I expect the periodic temperature excursions- I just can’t explain why the periods are different (and not a multiple).  The period of the drum is about 9s.  The period of the bean mass temperatures is about 15s.  The period of the outlet temps is about 9s.  Definitely something going on with the bean mass probe…


This probably has something to do with the way I am capturing temperatures.  Currently the bean mass probe and the other temp probes are not synchronized.  I have the bean mass probe spitting out a temperature every 1/2 second. The Arduino in the Roast Genie triggers a sample of the other probes once per second and triggers the Raspberry Pi to read the serial port from the bean mass probe.  Instead of throwing away the extra data it is queuing up in the serial buffer — this is likely the problem…  Have to make another go of this.


Gene Cafe Bean Mass Probe

I just tested out the bean mass probe proof-of-concept on my hacked Gene Cafe.  It worked even better than I had expected.  The probe itself is a bare type-K thermocouple that I inserted through a small hole I drilled near the inlet of the roast chamber.



The thermocouple is positioned to keep it out of the airflow and to maximize the time it spends buried in the bean mass.

I am using a MAX31855 thermocouple amplifier on an Adafruit breakout board. This is attached to the roast chamber itself.


I attached a chunk of perf board on the rotating plate that the drum snaps into using some stand-offs to help keep it cool during the roast.  On this perf board is a Pro-Trinket, a Bluefruit EZ-Link, and a lithium-polymer battery.  This was extremely easy to get working.


This interfaces with my laptop to display the temperature once per second.  The sketch I am using right now is the example code “serialthermocouple” that is in the MAX31855 library.


Forgive the mixed units here… it works!  The temperatures in the chart below are taken at somewhat random intervals during a roast.  I recorded the lowest temperature for both outlet and bean mass during the drum rotation.  You can see a significant difference between the temps.  Note that the outlet temperature was being controlled at 510F.  Once the outlet reached this temperature, it stopped climbing but the bean mass temperature continues to rise.


Lots of work to do here to get the bean mass probe temperature readings integrated into the Roast Genie but I am very pleased with the results.  This should provide a fantastic opportunity to get a better window into the roast.

Some additional thoughts:

  • The li-po battery is not contacting any hot surfaces but the radiant heat load is significant.  I am guessing it gets up to 140F +.  Some shielding may help keep this cooler.
  • The thermocouple amplifier gets warm since it is directly mounted to the roasting chamber (using Sugru).  It has cold junction compensation but any temperature difference between the amplifier chip and the connection point for the thermocouple will create errors.  This may not be very significant but future versions should be designed to avoid this.
  • Because of the way the beans move around in the roast chamber, sometimes the thermocouple is buried in the bean mass and sometimes it is exposed.  During heating, the lowest temperature read during a cycle is closest to the bean temp.  The thermocouple responds very quickly so I don’t think that this will be a big problem.  I will probably set up the software to compensate for this.

Guatemala Acatenango Gesha


Roasted this on October 14th.  This bean has an amazing first crack — like a popcorn popper!  Lots of the Guatemala I have been roasting lately has a nice defined first and second crack but nothing like this.  Wow.  I stopped this one before 2nd crack in an attempt to keep it at a city + roast.  First tasting will be tomorrow.  I am excited to try  this one.

More experimentation with Guatemala Huehuetenango Cuilco

Last weekend I did a series of roasts with small batches of Guatemala Huehuetenango Cuilco.  One important thing that I have learned about this coffee is that it takes quite an aggressive roast profile to obtain the best tasting coffee — more time and higher temperatures.  I think that this might be somewhat characteristic of Guatemalan coffees but I’m not sure exactly which parameter is important (origin, altitude, farm, etc..).  The best roast so far was one that had an extended drying time and was roasted into 2nd crack at an outlet temperature setpoint of 510F throughout the roast.

This weekend’s experiment is two different roasts of this coffee – both into second crack but one with an extended drying time and one without.  The roast profile for the extended drying time roast is below.  Unfortunatly I had a problem with the Roast Genie that caused me to lose the data for the 2nd roast.  The profile is the same but the 350F dwell time is missing from this second batch.



The second roast went 968 seconds, 319 seconds past first crack with 18.5% mass lost.  In contrast the first roast was 1052 seconds, 300 seconds past first crack with 19.0% mass lost.  Both were 150g batches (green weight) and were less than 30s into 2nd crack.

One of the nice things about this coffee is that 1st and 2nd crack are very distinct.  This is one of the easiest coffee’s to identify these stages that I have experienced.

I will add tasting notes over the next few days…


Roast Profile Experimentation – Guatemala Huehuetenango Cuilco

The second generation Roast Genie is nearing completion.  This weekend, I roasted seven different 100 g batches of Guatemala Huehuetenango Cuilco to begin to get a feel for how the new roasting system is going to work.


The first thee batches were roasted Friday with different durations of roast time past the onset of first crack.  For these I roasted at an initial set point of 510 F (environmental temperature at roast chamber exit) and then backed down to 490 F once 1st crack started.

Roast 1 – 3 min past onset of 1st crack (16.8% mass lost)


 Roast 2 – 3 1/2 min past onset of 1st crack (15.0% mass lost)

Roast Profile 2


Roast 3 – 4 min past onset of 1st crack (15.6% mass lost)



General observations during roasting:

First crack was very pronounced with this coffee.  Onset was consistent from batch to batch starting at about 640 to 650 seconds into the roast.  Darkening of the roast was not all that pronounced from the 3 min to the 4 min roast as it sometimes is with other beans.  Although I don’t think the roast stalled, the frequency of cracks did not seem all that high.  It seems like this bean can take quite a bit of heat before significant changes take place.  The change in bean mass during roast was a little unexpected with the lightest roast having the highest loss in mass.  This is probably due to the fact that I am roasting such small quantities that the measurement error is significant (+/- 2g measurement error = +/- 2% mass lost error).

Tasting notes:

None of these roasts were particularly impressive displaying a significant lack of body even after 36+ hours of rest.  I perceive there to be significant sweetness and acidity in the cup but there is also an astringency in the finish and general lack of body that I find unpleasant.  My suspicion is that these are under-roasted. I also noticed that the beans sound much harder or denser in the grinder than the Yemen beans I have recently been using.  Those bean seem very soft and these much harder — at least in comparison.  The Yemen beans  developed in the roaster much faster than these seem to.

I completed the next four roasts today and attempted to adjust the profile to stretch out the roast a little in the hopes of allowing a little more body to develop.  After reading this post on Stretchin’ Out the Roast at Sweet Marias and watching this video, I decided to extend the drying time by adding a 2 minute dwell at 350 F during initial heating.  I roasted three batches with post first-crack times of 3 1/2 minutes but used three different post first-crack temperatures: 490 F (like roasts above), 500 F and 510 F.  After observing less impact on this bean than I had expected. I roasted a fourth batch with a 3 minute dwell time at 350 F, 510 F post first-crack temperature and just about 5 minutes past initiation of first crack.  For this roast, 2nd crack had just started.

Roast 4 – 3 1/2 min past onset of 1st crack @ 490F. Includes 2 min dwell @ 350 F drying time (16.8% mass lost).


Note that this roast profile shows 1st crack happening about 100s earlier than it should — for some reason there was a single bean crack at 580s or so but then nothing for another 100+ seconds.

Roast 5 – 3 1/2 min past onset of 1st crack @ 500 F. Includes 2 min dwell @ 350 F drying time (17.0% mass lost)


Roast 6 – 3 1/2 min past onset of 1st crack @ 510 F. Includes 2 min dwell @ 350 F drying time(17.0% mass lost)


Roast 7 – 5 min past onset of 1st crack @ 510 F.  Includes 3 min dwell @ 350 F drying time (18.0% mass lost)


General observations during roasting

Again – I was rather surprised by how “robust” this bean seemed during roasting.  Changes in roast time and temperature that I would have expected to dramatically impact other beans seemed to have much less impact on these.  The 7th roast in particular was surprising in that the beans were not more significantly darkened. I have had trouble getting the results I wanted from Guatemala beans in the past and wonder now if more heat is required to get the desired roast levels.   I will add tasting notes tomorrow after I have had a chance to begin sampling.

Thoughts on the Roast Genie system

Overall the 2nd generation system is working well but I have a ways to go to get all of the automated posting completed.  The camera for taking pictures of beans after roasting still needs to be completed but the automated preparation of plots is working pretty well.

I had anticipated that having one pre-crack temperature setting and one post-crack temperature setting with manual control of the post-crack time would be sufficient control over the roast profile.  After the experience here with this Guatemala, I think I may need to allow easier adjustment of these profiles.