Saturday, February 23, 2013

Controlling a Hottop

Thanks to the genius work of Jim it is now possible to control the heater and fan of a Hottop roaster from your PC. Jim designed the HT Roaster Interface, an electronic device. It is available as Arduino-compatible shield that may be piggybacked on a TC4C board and can take over the control of the connected Hottop. It takes serial commands send from a computer to the Arduino micro-controller and sets the heater power and fan speed accordingly. If it receives the string "OT1,75" it sets the heater to 75% and if it receives the string "IO3,21" it sets the fan speed to 21%.

Sending serial commands from Artisan to connected devices was always possible by defining corresponding custom button with associated actions. However, the string that is send on button press is fixed. So one could have a set of button like "H50" sending "OT1,50", "H100" sending "OT1,100",...

Tom (GreenBean at TMC) came up with a much more elegant control solution. He added two sliders, one to control the fan one to control the heater, to his RoastLogger application. Inspired by this, we added sliders to Artisan v0.6. However, while the sliders of RoastLogger work out of the box, there is some configuration work needed to achieve the same with Artisan.

You need to configure two of the four available event sliders in the Slider tab of the Events dialog (menu Config/Events). Activate the Power and Fan sliders, set their Action to Serial Command and set the command string to OT1,{} and IO3,{}, respectively. Ensure that the offset is set to 0 and the factor to 1.00. 

The curled brackets in the command strings are replaced by the new value defined by dragging the sliders, before the command is send out over the serial interface. This flexibility allows the use of sliders for other cases. I control the drum speed of my Probat using a frequent drive connected via its Modbus interface to Artisan. So I have a slider with action Modbus Command and command string write([1,1,{}]). Further, I set Offset to 418 and Factor 1.5 to send values in the range [418-627] based on the slider values [0-100]. That corresponds roughly to drum speeds of 59RPM to 72RPM.

Rick published a full Hottop 2B/TC4C roast tutorial on YouTube.


  1. Now, cool thing with configurable sliders.
    Could use an additional slider for temperature though.

    I've been told that a condition for stable PID control is that there is little or no network delay in the controller circuit.
    Hence, I'm building my popper+Arduino with a PID controller onboard.

  2. Their are four sliders and you can name them as you want.

  3. Marko,
    I am converting from RoastLogger with the HTC/FC4C combo and am trying to work out how to control my Hottop. The sliders for fan and heater are in place but I am not sure where to go from there. Is there a way to program automatic changes in those slider settings during a roast, or do I set alarms to have popups come up as reminders to move the sliders manually? I am assuming that I start with the Hottop setup the fan and heater set to 100'% and make changes from there if it is to be done automatically, but it does not matter if the changes are manual?

  4. Barrie, read the post on alarms and find out how a triggered alarm can move your sliders

    1. Woops. I need to re-read that. Thank you.