Monday, March 11, 2019

Artisan v1.6.1


It is our pleasure to announce the release of Artisan v1.6.1. Many issues have been resolved and many suggestions, reported via the Artisan Issue Tracker, have been implemented.

UPDATE March 20, 2019: Artisan v1.6.2 has been released with a bug fix for Mac OS X 10.14.

We encourage everyone to upgrade to this version. It is fully compatible with the previous version and your Artisan settings will be preserved by this upgrade. We hope for your understanding that issues reported for earlier version will no longer be tracked.

Thank You!


The Artisan project runs on donations from individuals and companies recognising the value of Artisan for their work or leisure. Consider supporting this project with your donation!

For this release we want to thank the companies Phidgets and Yoctopuce for supporting the Artisan project with samples of their excellent hardware modules. We also want to thank Randy of Buckeye Coffee Roasters (USA) for his ongoing financial support.

In addition, the following individuals and small roasting operations from all over the planet (in no specific order) did support the development of this version with their donation: Margaret, Dave (Crankhouse Coffee), Tim & Dave (Trebilcock Cofffee), Richard, Thomas, Atlas Coffee Importers, Doak, Tony, Javier, Michael (Encore Coffee), Wemerson, Federico, William, Uriel (Maillardos), Jordan (Maldives Coffee Academy), Michael, Cafe Balcony, Dieter (22 Beans), Big E Bearded Coffee, Arnoud (Het Hoofdkwartier), Ken, Matthias, Manuel (Caffè Terzi), John, Alan (SkyRoast Coffee), Tim, Mark (Schnibbe Kaffee), Craig, Chris, Paul, No6 Coffee Co, Dan, Tsai​Chung, Stephen, Erhard, Vitaliy, Rick, Brent, Ayman, Michael, Albert, Jeremy and Brad (Stash Coffee). Thank you all, especially those, that are supporting this project regularly like Jim (Renascent Coffee), Tolga (onetake coffee) and Frans (Kostverlorenvaart)!

We thank also the many people that reported issues and shared ideas for improvements. Some even contributed by providing code, like mfurlotti (see below), or by providing translations like Nico Biggler who brushed and complemented the French translations and Rodrigo Ramos who added Brazilian Portuguese translations. Thank you!

Our final thank you goes to Azis Nawawi and his sister Rini for sending a wonderful roast all the way from Indonesia to the south of Germany! Wonderful!



What's New?



Here we report only on a few changes and additions. As always the full list of changes is listed in the Detailed Release History.

Most visible is the re-organized Roast Property dialog (menu Roast >> Properties). Motivated by the increased recognition  of the importance of roasted coffee density for blending decisions, a corresponding field was added. Many moisture meters, like the Sinar BeanPro or the brand new affordable Wile 200, measure also the bulk density of the green or roasted bean samples.

The renewed dialog now computes density of green and roasted beans (unit fixed now to the standard g/l for simplicity) from a given weight and volume, or the other way around, computing the green coffee volume and roasted bean volume of the batch from the corresponding densities. The Volume Calculator to calculate the bulk density of green and roasted coffee is still available allowing to compute volume and thus bulk density automatically by weighting a sample of a known volume. Additionally, gain and loss are computed automatically from the given weight, volume, density and moisture data. If all data is available also the organic loss is calculated.




Main event details that were always on the top of this dialog have been moved to the Events tab of the same dialog to make space for the remaining elements. Finally, on suggestion of users, a minus button to remove the current selected entry of the Recent Roast menu has been added.


Aillio Bullet R1


This version adds support for the latest Aillio R1 models v1.5 and v2.0, newer firmware versions as well as the new IBTS sensor. For that IR sensor an additional machine setup Aillio IBTS was defined that made use of the new ability to rename the BT and ET channels to better reflect what is being measured.


Silent Alarms


A new button, slider, event action Artisan Command has been added that features for now just one command.
  • alarms(b) : turn alarms silent (b=0) or loud (b=1). Alarms still fire if silent, but their actions are not executed
Now a custom button can be defined to temporarily turn off alarm actions during a roast.


IO Command State Feedback (by mfurlotti)


mfurlotti added a bunch of useful changes and additions that make driving a roaster via Phidget outputs easier.
  • adds input devices slider_01 and slider_23 to get the slider positions for plotting and csv output
  • the IO Command toggle()is updated to toggle the style of the button that issued that command on success
  • adds a new command button(b,c,v). This sets the button number b to
    style v and also the output of channel c to v.
  • adds a new command slider(c,v). This updates the position of slider
    c to value v.
  • adds out(c,v) to the IO Command set to allow to send VOUT commands.

Support for Additional Phidgets


As controlling roasting machines with various Phidgets is getting more popular, we added support for additional digital output VINT Phidgets.


While we were on it, we also added support to read frequency, currency, digital or analog input from the versatile input Phidget DAQ1400.



Support for Yoctopuce Meteo and IR

We discovered a nice ambient sensor board from Yoctopuce recently, the Yocto Meteo. It provides ambient temperature, humidity and pressure. So we added support for this board in addition to the similar set of Phidget VINT sensors supported by Artisan since v1.4. Plug this board in and tell Artisan to use its data in the Device Assignment dialogs Ambient tab (menu Config >> Device; last tab). Don't forget to specify the elevation of your roasting room to have the barometric pressure computed correctly.



While we were on it, we also added support for the soon to be released Yoctopuce IR sensor module as an alternative to the already supported Phidget 1045 IR USB module.




RC Servos


This version adds support for the Phidgets RC Servo API supporting the Phidget servo controllers

  • RCC1000 (16 channel VINT; ext. powered), 
  • 1061 (8 channel USB, ext. powered) and 
  • 1066 (1 channel USB powered). 
Those allow to control a wide range of servo motors from within Artisan triggered by buttons, sliders, events or alarms. For now only one RC Servo controller is supported at a time and Artisan will attach to the first one it detects without further configuration.

The Phidgets RC Servo API is mapped to RC Command actions available as button, slider and event action. The first set of commands allows to configure the controller to the connected RC Servo motor per channel ch
  • pulse(ch,min,max) : sets the min/max pulse width in microseconds
  • pos(ch,min,max) : sets the min/max position
  • ramp(ch,b) : activates or deactivates the speed ramping state
  • volt(ch,v) : set the voltage to one of 5, 6 or 7.4 in Volt
  • accel(ch,a) : set the acceleration
  • veloc(ch,v) : set the velocity
To actually move the RC motor, you need to first set a target position (within the configured min/max position) and then engage the channel.
  • set(ch,pos) : set the target position
  • engaged(ch,b) : engage (b=1) or disengage (b = 0)
  • sleep(t) : sleep for t seconds (e.g. sleep(1.5) sleeps for 1.5sec before processing the next command in the sequence)
The sleep command allows to build more complex movement patterns. Note that the RC Command  action is processed in parallel (non-blocking) and allows to sequence single commands separated by semicolons.

As an example I connected an 10cm Phidget 3540 RC Linear Actuator L12-100-100-06-R to the first channel of an Phidget RC1000 VINT RC Controller, connected itself to USB via an VINT HUB0000.



I measured the min/max pulse width to 1005/2010 and set the min/max position to 0/100.

pulse(0,1005,2010); pos(0,0,100);

a test sequence to move the actor first to the 3cm and then to the 0cm position looks like this and can be established as a custom button RC Command action.

set(0,30); engaged(0,1); sleep(2); set(0,0); sleep(2); engaged(0,0);

The initialisation sequence for the RC Servo can be set in the ON event action.





The damper of a roasting machine could be controlled via an Artisan slider driving a linear actuator.



Below you see the 10cm Phidget 3540 RC Linear Actuator attached to the roasting machine of Rush controlling its damper via a Phidget 1066 directly powered via USB.




Download and Documentation


On the Artisan Homepage you can find the Artisan documentation and download installers for Windows, Mac OS X, Linux and Raspberry PI.

More to come...
The Artisan team