tag:blogger.com,1999:blog-57434857718436664272024-02-29T21:40:54.969-08:00artisan blogVisual scope for coffee roastersUnknownnoreply@blogger.comBlogger101125tag:blogger.com,1999:blog-5743485771843666427.post-15074433026019285702024-02-29T10:35:00.000-08:002024-02-29T10:35:56.503-08:00Artisan v2.10.2<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2024/02/artisan-v2102.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="423" data-original-width="749" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX4qZ9amKu6WPEHu5PPDw77TIQC81PpjBuj_6U7Xs7Ddi9q3gbyuLSGo0aGXZeCcZOM-gESbWNctheMldA0P7BVnNEr7mrkRUCiB8EiK8OOP7cUVyvIds2FeSJVPAEib2Ckahql95X7-Bv5gRhDAKhAheNRGNZkvXoPoIbzFUu1OiH1J0ZkGt7CEfzHoA/s749/blog.png?imgmax=1600" width="640" /></a></div><br /><p></p><div>We have again updated the best roasting software you cannot buy! To ease the path for <a href="https://millcityroasters.com/" target="_blank">Mill-City-Roaster</a> owners to Artisan we added support for all of their machines. This version also extends the support for <a href="https://www.ikawacoffee.com/" target="_blank">IKAWA roasters</a> supporting their latest addition, the PRO 100 X, and simplifies the connection to <a href="https://aillio.com/" target="_blank">Aillio Bullet R1</a> machines on Windows removing the requirement of an alternative USB driver installation. For further news see below.</div><span><a name='more'></a></span><div><h3><br /></h3><h3>THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognizing the value of Artisan for their customers, work or leisure. Consider supporting this project with <a href="https://artisan-scope.org/donate/" target="_blank">your donation</a>, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>This release as all previous releases were supported by <b><a href="https://bcroasters.com/" target="_blank">Buckeye Coffee Roasters</a></b>. A big thank you from the Artisan community for your ongoing support. Compliment!</div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://bcroasters.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoeumg2s7CFtS78Z61ZyphiktjLJOaq68RFCB8icVdewaazyuH6_bjfav2MCuxe73064Uq_zQdywIW7vZIF9ecU_EFbBLDLTmAZDpTDV7HY7cAi1oS8QF23fQ2oe-ik4vGsvGP5K_cu-yrTMfA3rCeCmikd6cbDQ54wcfqc67R6OC3Fo0EU1n6bkJDY34/s320/bc-logo.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both;"><br /></div></div><p>Again the majority of the costs have been on the shoulders of Marko & Paul who created the <a href="http://artisan.plus">artisan.plus</a> service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p><span style="font-family: inherit;">The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover about 9% of the development costs: </span><i>TunYun-Long (<a href="https://www.beangocube.com/" target="_blank">BeanGo Cube coffee roaster</a>), </i><i>Thomas (<a href="https://thomasandfisk.com/" target="_blank">Thomas & Fisk Coffee Roasters</a>), </i><i>Ando Sakae, </i><i>Jörg Mattke, </i><i><a href="https://www.minuto.co.il/" target="_blank">מינוטו קפה בע"מ</a>, </i><i>Marc Owen Gilbert, </i><i>Valentin & Boris (<a href="https://kaffeemodul.at/" target="_blank">KAFFEEMODUL</a>), </i><i>Lino Parlow, </i><i>Jerry Myers, </i><i>Piotr Szymczak (<a href="https://liquidspirit.com/" target="_blank">Liquid Spirit Coffee Roasters</a>), </i><i>Gregory Cipov, </i><i>Doug Osborne, </i><i>Zane & Zach (<a href="https://www.goldstripecoffee.com/" target="_blank">Gold Stripe Coffee</a>), </i><i>Ben (<a href="https://kayakcoffee.com/" target="_blank">KAYAK COFFEE</a>), </i><i>Madalin Broscaru, </i><i>Matthew Grayson, </i><i>Muchammad Fuad, </i><i>Sangkyun Lee, </i><i>Kiran Thunga, </i><i>Southpaw Masonry, </i><i>Igor Kadatskiy, </i><i>Carl Bender, </i><i>Netiverse, </i><i>Ryan Sanford, </i><i>Russell Koehn, </i><i><a href="https://www.ruedecafe.com/" target="_blank">Rue de Cafe'</a>, </i><i>Allen Godsell, </i><i>Marvio Vinhaes, </i><i>Mylappan Selvaraj, </i><i>主啟科技有限公司, </i><i>Markus Beilke, </i><i>Daniel (<a href="https://www.derkaffee.ch/" target="_blank">derkaffee</a>), </i><i>Robert Merchant, </i><i>Jeremy Good, </i><i>Peter Thomason, </i><i>Taylor Kearns, </i><i>Jack Brassell, </i><i>Jesse Scholtes, </i><i>Hernando Bolivar Ayala, </i><i>Bradley Valdez, </i><i>Nicholas Eash, </i><i>Asch Harwood, </i><i>Eric Yaeger, </i><i>Wim (<a href="https://www.exprezzo.nl/" target="_blank">Exprezzo</a>), </i><i>David Mitchell, </i><i>Charles Turner, </i><i>Justin Damadio, </i><i>Zackary Ottman, </i><i>Mark Kelley, </i><i>Yau Tak Ng, and </i><i>Richard Cullip.</i></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: <i>Lou Arminio, Steffen Müller, Randy (<a href="https://craigmyletrucks.com/" target="_blank">Craigmyle Truck and Trailer Sales</a>), Marcel Speek, Norman Hardy, Bruce (<a href="https://shermansvalleycoffee.com/" target="_blank">Shermans Valley Coffee Co.</a>), John Fifield, Patrizio (<a href="https://balloon.coffee/" target="_blank">Balloon Coffee Roasters</a>), Milorad Popadic, David Degan, Josh Greenberg, Frans (<a href="https://kostverlorenvaart.blogspot.com/" target="_blank">Kostverlorenvaart</a>), 修平 黒川, Thomas Husband, Gary Seeman, Rick (<a href="https//www.softwarepolish.com" target="_blank">Software Polish</a>), Richard Bigus, Milorad Popadic, Richard Williams, Henrik Haaning and Henry Chamberlain.</i></p><p>Finally, there are those Artisan geeks that tested continuous builds, beta and release candidate releases, suggesting better translations, changes, new features reporting <a href="https://github.com/artisan-roaster-scope/artisan/issues?q=is%3Aclosed+milestone%3Av2.8.4" target="_blank">many issues</a> as well as resolving discussion items which we could resolve for this release: THANK YOU ALL! You know who you are!</p><p>Get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Upgrade now</a>!</p><p dir="auto">PLEASE FOLLOW AND TAG US!<br /> <a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://masto.ai/@artisan" target="_blank"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/mastodon-icon-svgrepo-com.svg?raw=true" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p><p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><p><br /></p><hr /><div><br /></div><h3>What's New?</h3></div><div><br /></div><div>This version resolves a number of regressions introduced in v2.10.0 that broke some MODBUS configurations relying on BCD encodings (used by Loring), control connections for some Probat setups by sending unnecessary MODBUS UDP retries, PDF/PS generation on Linux and macOS running on Apple Silicon hardware (<a href="https://github.com/artisan-roaster-scope/artisan/issues/1430" target="_blank">Issue #1430</a>), the charge timer and DROP alarm action, made IO Phidget channels in async mode detaching on ON, prevented the use of custom event type names (<a href="https://github.com/artisan-roaster-scope/artisan/issues/572" target="_blank">Issue #572</a>), kept the Errors and Messages dialog box empty (<a href="https://github.com/artisan-roaster-scope/artisan/issues/1393" target="_blank">Issue #1393</a>), and broken RoR smoothing (<a href="https://github.com/artisan-roaster-scope/artisan/issues/1452" target="_blank">Issue #1452</a>). Some other improvements were applied like a better WebSocket disconnect handling (<a href="https://github.com/artisan-roaster-scope/artisan/issues/1463" target="_blank">Issue #1463</a>), replacing its threading implementation replaced by a modern one based on asyncio. See the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/" target="_blank">Detailed Release History</a> for all the details.</div><div><br /></div><div><h4 style="text-align: left;">Extended Machine Support</h4><div><br /></div><div>To ease the path towards Artisan for Mill-City-Roaster owners, we added a bunch of ready-made one-click machine setups for their whole line up. See our <a href="https://artisan-scope.org/machines/mcr/" target="_blank">Mill-City-Roaster machine support page</a> for the complete list of supported machines and options.</div><div><br /></div><div>To ease the path towards Artisan for <a href="https://artisan-scope.org/machines/aillio/" target="_blank">Aillio R1 Bullet</a> owners we simplified the Artisan setup on Windows. Artisan versions before required the installation of a specific USB driver different from the one used by current RoasTime software, making it complicated to setup. This release of Artisan works with the same WinUSB driver as RoasTime and thus does not require any additional driver installation. On macOS and Linux an additional driver installation was never required.</div><div><br /></div><div><div>The newly introduced <a href="https://artisan-scope.org/machines/ikawa/" target="_blank">IKAWA PRO 100 X machines</a> adds a humidity and ambient pressure sensor, which is now fully supported by our new machine setup for this machine, including the recording of the inlet temperature signal.</div></div><div><br /></div><h4 style="text-align: left;">Further Improved AutoCHARGE and AutoDROP</h4><div><br /></div><div>It was brought to our attention (<a href="https://github.com/artisan-roaster-scope/artisan/issues/1358" target="_blank">Issue #1358</a>) that even with the latest improvements to our CHARGE/DROP detection heuristic in v2.10.0 there are still cases where the correct recognition fails. The shape of the corresponding signal is often rather smooth which makes detection challenging. The event detection can also be easily confused with measuring noise like shown below, where DROP is correctly marked.<br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcTC2QihDnPNFPUUM0zHWzz-5yF43N3PkJDnoFskp6QM7IAP3fDOu2UrYH48rU4LMINGxE9f5ZBbAt8uwTl8C6SvKZi9nG8KaWjCIuoKlcMavztoqeUIqYGCP7uX_xeMfyIpwSqBlsb2E5HGSvvafGJ_aHRrJOpwp5w4kJ9vN3WclMSnD8IY6YxbcN0-g/s438/299401310-4d3beee2-5f95-4c33-bc5e-b35abc3865eb.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="289" data-original-width="438" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcTC2QihDnPNFPUUM0zHWzz-5yF43N3PkJDnoFskp6QM7IAP3fDOu2UrYH48rU4LMINGxE9f5ZBbAt8uwTl8C6SvKZi9nG8KaWjCIuoKlcMavztoqeUIqYGCP7uX_xeMfyIpwSqBlsb2E5HGSvvafGJ_aHRrJOpwp5w4kJ9vN3WclMSnD8IY6YxbcN0-g/s438/299401310-4d3beee2-5f95-4c33-bc5e-b35abc3865eb.png?imgmax=1600" width="320" /></a></div><br /><div><br /></div><div>To catch also those cases, we added a "Sensitive" mode to both heuristics, which catches those events which are not recognized the "Standard" one (see menu Config >> Events, 1st tab). Note that on systems with a rather noisy bean temperature signal the Sensitive mode might suffer from too many false positive triggers.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA5nqVgxqGxFRfOeVaUn1sf72Pp7M2WHRScVaISVJrqEEev5DIcBgAuvOOGV-8JqkoOhvK0soadpngMUoc2zLdbLI5XCwndceCcUKdYmlAP0YHkEdHTqNXMk4a1ZWxL4dhSh0DFMCPJUu8hXVYxuOGi_B1q7kmJFU0Uy9bDHHOhQtaM6jJpqJ9ORUTBns/s1287/299379090-ae95288a-8f96-4b3c-b666-66209f2856ec.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="709" data-original-width="1287" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA5nqVgxqGxFRfOeVaUn1sf72Pp7M2WHRScVaISVJrqEEev5DIcBgAuvOOGV-8JqkoOhvK0soadpngMUoc2zLdbLI5XCwndceCcUKdYmlAP0YHkEdHTqNXMk4a1ZWxL4dhSh0DFMCPJUu8hXVYxuOGi_B1q7kmJFU0Uy9bDHHOhQtaM6jJpqJ9ORUTBns/s1287/299379090-ae95288a-8f96-4b3c-b666-66209f2856ec.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">Internal PID</h4><div><br /></div><div>The internal PID configuration received some updates by introducing output limits and a derivative filter. To limit the PID output to subrange of the positive or negative slider one should avoid using the PID duty min/max settings as this just clamps the internal signal to those limits which can lead to unintended effects. The newly introduced min/max limits on the output slider are mapped to the PIDs 0% and 100% duty such that this reduced range is fully deployed without any clamping as it is usually intended.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwpCkPCFb5nTyG363zZCMvWYztzIANyILjCQUNRhzVDUIw5Pq5ckbiMnEbi0702ACjH2EIJMLnamztvQNc9xBZRmlEZBwN1wYCWi1BSOnuYLaohCw6W0ZVLp0Io5Ra6DYZkmYvIm1De4aOI1K4vjd6yvldkJwHv0KwmVOBYHZMFqbfwwDIq4RnIzj7JK8/s1652/Screenshot%202024-02-28%20at%2015.49.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1284" data-original-width="1652" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwpCkPCFb5nTyG363zZCMvWYztzIANyILjCQUNRhzVDUIw5Pq5ckbiMnEbi0702ACjH2EIJMLnamztvQNc9xBZRmlEZBwN1wYCWi1BSOnuYLaohCw6W0ZVLp0Io5Ra6DYZkmYvIm1De4aOI1K4vjd6yvldkJwHv0KwmVOBYHZMFqbfwwDIq4RnIzj7JK8/s1652/Screenshot%202024-02-28%20at%2015.49.54.png?imgmax=1600" width="640" /></a></div><br /><div>The newly introduced derivative filter can help to stabilize the PIDs performance on noisy input signals as it calms down the noise-amplifying D sub component.</div></div><div><br /></div><h4 style="text-align: left;">Add some glow!</h4><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWzswXRZQCQXeWXIAb7E8KQFmF8nmZjWXMr44-BVqO8aAA_TjOOV1NuN3sSwJrIuFSpxXOi8zrWhEFPu3l7E69-wCjhz0AKssXBdgo1LN4iD7KG7U-jdRpn6sIpJBuhc9u6pwXjnANuei6VjZOj5Vq2bb0ZyBIcLdIr6qmK-rklOspz5njVc02UT9n4c/s2322/glow.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="1530" data-original-width="2322" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWzswXRZQCQXeWXIAb7E8KQFmF8nmZjWXMr44-BVqO8aAA_TjOOV1NuN3sSwJrIuFSpxXOi8zrWhEFPu3l7E69-wCjhz0AKssXBdgo1LN4iD7KG7U-jdRpn6sIpJBuhc9u6pwXjnANuei6VjZOj5Vq2bb0ZyBIcLdIr6qmK-rklOspz5njVc02UT9n4c/s2322/glow.png?imgmax=1600" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5mi5PBqGZCest49GaZQbOkn2aZuyub9M72PXTI6uN45nMzzFhzjf4pda0c-pU38S3i0ru8VxN2cn9JGi3-am_vGl9Pgm8O-Sg7fKTV-jr5xr3-dSlJXydnJM6y69MRv6cpucsGL3bgUazNOhoYrnc1PrudqppcZ1krF1b3sAvt0o3h5rTccTX2nc5_Co/s2322/no-glow.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1530" data-original-width="2322" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5mi5PBqGZCest49GaZQbOkn2aZuyub9M72PXTI6uN45nMzzFhzjf4pda0c-pU38S3i0ru8VxN2cn9JGi3-am_vGl9Pgm8O-Sg7fKTV-jr5xr3-dSlJXydnJM6y69MRv6cpucsGL3bgUazNOhoYrnc1PrudqppcZ1krF1b3sAvt0o3h5rTccTX2nc5_Co/s2322/no-glow.png?imgmax=1600" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKcFgmcqzsHnlZyTAEC5NtC_pRU_8kf4H5URUEU8Zvv3STPnleFiJGFJBYj3xKkdAK8OW91vcJGBCGVJAxpw600_plEDgyz1IN4wCYN27Qe5sxskf8XsipEVAY94cLAcKaC3ftc6qSCUI9TGeolHcRvRPDWAnra2Oz2grPw5EIrNkYp4kDQNA2KOdieIY/s1510/Screenshot%202024-02-29%20at%2017.06.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="1510" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKcFgmcqzsHnlZyTAEC5NtC_pRU_8kf4H5URUEU8Zvv3STPnleFiJGFJBYj3xKkdAK8OW91vcJGBCGVJAxpw600_plEDgyz1IN4wCYN27Qe5sxskf8XsipEVAY94cLAcKaC3ftc6qSCUI9TGeolHcRvRPDWAnra2Oz2grPw5EIrNkYp4kDQNA2KOdieIY/s1510/Screenshot%202024-02-29%20at%2017.06.00.png?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-91905802815908350842023-11-28T09:46:00.000-08:002023-11-30T06:35:06.367-08:00Artisan v2.10.0<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2023/11/artisan-v2100.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="332" data-original-width="749" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8kz0ec1Ao5xoKcjf3PeeCojkbiBWbGCSbqrTR7BMriZC215IMHX96XUDrzCFwWWYA0lVmJfibfmZTho5ZJCtBP9EvYaduHUXl8DD2_94kqVLxcVNBXQJpz5q0WMQbawFfuGGdxp4cJNk-EWlPHa_CrW4RW2dFzKyC85kkzj27u5912XWsVcv2jBMN9V4/s749/blog.jpg?imgmax=1600" width="640" /></a></div><br /><p></p><h3><span style="font-size: medium; font-weight: 400;">Artisan 2.10 runs native on Apple Silicon and adds support for <a href="https://www.buhlergroup.com/global/de/products/roastmaster_coffeeroaster.html" target="_blank">Bühler</a> und <a href="https://joper-roasters.com/" target="_blank">Joper</a> roasting machines. There are some more news (see below).<span><a name='more'></a></span></span></h3><h3><br /></h3><h3><br /></h3><h3>THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognizing the value of Artisan for their customers, work or leisure. Consider supporting this project with <a href="https://artisan-scope.org/donate/" target="_blank">your donation</a>, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>With a closing thank you to our long time supporter and friend <a href="https://bcroasters.com/" target="_blank">Buckeye Coffee Roasters</a> for sponsoring the <a href="https://artisan-roasterscope.blogspot.com/2023/06/artisan-v284.html">Artisan v2.8.4 release</a>, we welcome <a href="https://www.paoloscimone.com/" target="_blank"><b>Paolo Scimone Coffee Consulting </b>(UK/Italy</a>) as sponsor for this release. <i><span style="font-size: x-small;">If you would like to become our release sponsor for a future release, <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">please contact us</a>!</span></i></div><div><i><br /></i></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both;"><a href="https://bcroasters.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"></a><a href="https://www.paoloscimone.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="2129" data-original-width="4272" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGDsJvPQIOAfUFxmzRX2Q9Q_26adRU9760s5qFFe22FH6zzh7zMo5eheupmkaSXlkWpqE6ikoJsAOnND5TljCrYTEZTupeXptwcheiNYDbdjzqAnmJSHsmK19luL3u2YB0GcoMqe0nkgDjUjU4XiCDwDa8hXTIhPZ6yiwk3JzSbo5UPRs0Z0g1SZzAONg/s4272/release-sponsor-blog.png?imgmax=1600" width="400" /></a><br /><br /></div><br /><div class="separator" style="clear: both;"><br /></div></div><div>The past month we worked together with the teams of <a href="https://www.buhlergroup.com/global/de/products/roastmaster_coffeeroaster.html" target="_blank"><b>Bühler</b></a> and <a href="https://joper-roasters.com/" target="_blank"><b>Joper</b></a> on adding support for their current machines to Artisan.<i> </i>Thank you for supporting the Artisan project! <i><span style="font-size: x-small;">If you want to become a machine sponsor and like to have your machines being well supported and promoted by Artisan, <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">please contact us</a>!</span></i></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://www.buhlergroup.com/global/de/products/roastmaster_coffeeroaster.html" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="2129" data-original-width="4272" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiopoOOQrhkq2kdxZ7QWI9IwbUTdP9rulKNCDyi0ots25csGUY4sOLqXgRSP-tJ0FPiNiaD4v_ygx0bwFql0ZfNFcalGjqvfkOuQVzyWB6Wf1wOu-FTlp-sKYlIqi_P7m6FLHL0oq43i4hZ9WN8KV6xzZI53oJLKNFXbM1QkrocTqKCt_qGkbojDt461BM/s4272/machine-sponsor-bu%CC%88hler-blog.png?imgmax=1600" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://joper-roasters.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="2129" data-original-width="4272" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDZJcab8h6Jv1H_cTqcc0LqrWsCKaeeQO4tVD5AyQsbZ-PdUtIHA0PovrH-i-WruUrRWZb-TC_g50dVr1JtX70aqcvvaoOGlzEYJxuMJTpwlr3VSyTjBaPHUeruEv90qSjQYrTN09CUZg1GyYVmT87iB5Vp2rJTA2ANuPWWdgogPBGT-U2a60sbQRHG1U/s4272/machine-sponsor-joper-blog.png?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Again the majority of the costs have been on the shoulders of Marko & Paul who created the <a href="http://artisan.plus">artisan.plus</a> service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p><span style="font-family: inherit;">The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover about 5% of the development costs: <i>Richard Williams, Gavin Martin, Trent Marshall, Doug Leblanc, Mark (<a href="https://hockleyvalleycoffee.com/" target="_blank">Hockley Valley Coffee Roasters Ltd</a>), Rick Wells, Eric Blechner, Barbara Eldridge, Jose Inacio Rocha Filho, Arnis Kleins, Robert (<a href="https://cardinalcoffeeroasters.com/" target="_blank">Cardinal Coffee Roasters Inc.</a>), Matthew O'Brien, Kevin McCaffrey, 小野佐敏, <a href="https://blackoakcoffee.com/" target="_blank">Black Oak Coffee Roasters</a>, Wayne Sommersell, Maurin Carod, Darrell Garner, André Luiz Maciel Sousa Brito, Stefano Chiabotti, Friendly Roaster Coffee LLC, Eduardo Guapo, Lexzco Inc, Manuel Maloles, Ray Siuba, Robert Nichols, Bradley (<a href="https://fiestacoffeeroasters.com/" target="_blank">Fiesta Roasters LLC</a>), Wayne Kidwell, Jarrod Coronado, Michael Mathis, Kathleen Poer, Dennis Dran, Jochen Bühler, Abdulmajed Althiban, Alexa Murray, Vente de café, Eddy Loiseau, Robert Adelman, Brian Cooke, American Islander, Robert Denson, Kris Wattanaporn, <a href="https://www.s3peppercraft.com/" target="_blank">Pepper Craft LLC</a>, Mike (<a href="https://www.raphaelscoffee.com/" target="_blank">Raphael's Roastery</a>), Darold Kirschman, Eric Von Krosigk, FawaZ, Gregory Robles, Rosarin (<a href="https://www.surrcoffeeroasters.com/" target="_blank">Súrr Coffee Roasters</a>), 何永雄, William Peterson, Hoang Nguyen, <a href="https://www.coldpress.cafe/" target="_blank">Cold Press Cafe Inc.</a>, Orwa Diraneyya, Bart Kramer, Milton Martinez, Carl (<a href="https://www.durangocoffee.com/" target="_blank">Durango Coffee Co.</a>), Luis Fernando Correa Uribe, Andrew Finkelstein, Darren (<a href="https://www.darkstarcoffeeroasters.com/" target="_blank">Dark Star Coffee Roasters</a>), Paul Bracey, Francisco de Assis Souza Almeida, Tod (<a href="https://todscoffee.com/" target="_blank">Tod's Coffee Roastery</a>).</i></span></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: <i>Steffen Müller, Frans Goddijn, Michael Kane, <a href="https://beechcreekcoffee.com/" target="_blank">BeechCreek Coffee Roasters LLC</a>, Norman Hardy, Grant and Jody (<a href="https://speysidecoffee.co.uk/" target="_blank">Speyside Coffee Roasting Co. Ltd</a>), John Ewing, Graham Kennedy, Antonius Asbroek, Richard Bigus, George Putilin, Robert Dossett, Thomas Husband, Oliver Prosperi, Flint W Orr, Richard Bennett.</i></p><p>Special thanks go to Frank (<a href="https://www.wittenberge.cafe/" target="_blank">Tee und Kaffeehaus Wittenberge</a>) for drive us with fine raw Gesha beans from Colombia!</p><p>Finally, there are those Artisan geeks that tested continuous builds, beta and release candidate releases, suggesting better translations, changes, new features reporting <a href="https://github.com/artisan-roaster-scope/artisan/issues?q=is%3Aclosed+milestone%3Av2.8.4" target="_blank">many issues</a> as well as resolving discussion items which we could resolve for this release: Manfred (<a href="https://www.werksbrandt.de/" target="_blank">Werksbrand</a>), Flint, <i><a href="https://github.com/peterweiser" target="_blank">peterweiser</a>, <a href="https://github.com/Terracotta-62" target="_blank">Terracotta-62</a>, <a href="https://github.com/bigl00z3" target="_blank">Nico</a>, <a href="https://github.com/poundy" target="_blank">poundy</a>, </i><i><a href="https://github.com/Robjones6146" target="_blank">Robjones6146</a>, Dan (<a href="https://fatrabbitcoffee.com/" target="_blank">Fat Rabbit Coffee</a>), <a href="https://github.com/gustavopradof" target="_blank">Gustavo do Prado Ferreira dos Santos</a>, <a href="https://github.com/ivanroaster" target="_blank">ivanroaster</a>, <a href="https://github.com/avimentor" target="_blank">avimentor</a>, <a href="https://github.com/procent85" target="_blank">procent85</a>, <a href="https://github.com/hiroyuki2080" target="_blank">hiroyuki2080</a>, and <a href="https://github.com/maxoliverbr" target="_blank">Max Oliver</a>.</i></p><p><br /></p><p>Get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Upgrade now</a>!</p><p dir="auto">PLEASE FOLLOW AND TAG US!<br /> <a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://masto.ai/@artisan" target="_blank"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/mastodon-icon-svgrepo-com.svg?raw=true" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p><p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><div><br /></div><hr /><div><br /></div><h3>What's New?</h3><div><br /></div><h4 style="text-align: left;">Extra Device Curves in Roast Comparator</h4><div><br /></div><div>The Roast Comparator finally allows to compare extra device curves.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS0Yt_0GYIxlO73dmLcjC7P8-7WT5wsB639dFatYFOvJGjMmvmCrIfMltp11xF1XjDFGkPD8iUinAWECFuHv9MIX0OUsNGXhziL2J1F3vALTGHW5XbUDcq2E82n5gkzkxeGpJvY5XP4kG0BsEfj0unRkEN3JlC9RqSwRin6K7JVmNYdGjE1G3ypaaw418/s1968/comparator.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1460" data-original-width="1968" height="474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS0Yt_0GYIxlO73dmLcjC7P8-7WT5wsB639dFatYFOvJGjMmvmCrIfMltp11xF1XjDFGkPD8iUinAWECFuHv9MIX0OUsNGXhziL2J1F3vALTGHW5XbUDcq2E82n5gkzkxeGpJvY5XP4kG0BsEfj0unRkEN3JlC9RqSwRin6K7JVmNYdGjE1G3ypaaw418/s1968/comparator.mov.gif?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><h4 style="text-align: left;">New Fonts</h4><div><br /></div><div>We added two new graph fonts. The <a href="http://comicneue.com/" target="_blank">Comic Neue</a> is a redesigned version of the famous Comic Sans (also supported) and the <a href="https://github.com/ipython/xkcd-font/" target="_blank">xkcd Script</a>, featured in the above animation, is a more complete version of the already supported Humor, featuring small and accent characters.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Improved AutoCHARGE and AutoDROP</h4><div><br /></div><div>Dave made quite some efforts to improve the AutoCHARGE and AutoDROP heuristic of Artisan to work as expected for a larger number of installations. The recognition accuracy still depends very much on the quality of the bean temperature signal that Artisan is recording. Some system deliver a very noise-free signal with very clear signal drops on CHARGE and DROP, making it relatively easy to pinpoint the event. On other systems the signal drops are rather smooth and sometimes hardly to distinguish from noise. Note that these heuristics are computed on the raw signal, while their results are presented on smoothed data based on the smoothing settings you have chosen.</div><div><br /></div><div>Dave made use of the symbolic formula support and graphical capabilities of Artisan to visualize the algorithms choices during development. Nice!</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7dhTKoIXRw-oH71qMMlkWHAHhfrC3PPbsicpdkdm_lclCpsUaIeTh-B7M8zV3yExAWbv2RXMcOOY8RV9UMFmF85gIX8fv2i2nRD1YSmTo6uvHlghpgLXyf7xYxcKQvnnmc_7_4OQbUNarSGmqZFbWVJixKhMb_YGhKw9cpxINBFqti-uMnBkyGzEzBA8/s1024/Unknown.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="519" data-original-width="1024" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7dhTKoIXRw-oH71qMMlkWHAHhfrC3PPbsicpdkdm_lclCpsUaIeTh-B7M8zV3yExAWbv2RXMcOOY8RV9UMFmF85gIX8fv2i2nRD1YSmTo6uvHlghpgLXyf7xYxcKQvnnmc_7_4OQbUNarSGmqZFbWVJixKhMb_YGhKw9cpxINBFqti-uMnBkyGzEzBA8/s1024/Unknown.png?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"> </span></div></div><div><br /></div><h4 style="text-align: left;">Additional Alarm Conditions</h4><div><br /></div><div>The temperature alarm conditions have been extended by conditions that allow to compare the current source value to the given value by equality and inequality.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFdnUeAQ48PI1b_9DY-DCVFR7ce0xt_fYPt82GTg3zkQnZv5xd1Vk6scxM6s8fQN-bqgm0nqEdu7OlnuPdFhD8h6Bx8jOsffo-uQBQJJClXe_UZR8Jg0zEgYM33hHBEgFY-RFlYcjh25U20A0EnCNKnHZOws4yDOJEVOdJVc_PpoRtu_AYtbXhkPiqchE/s429/Screenshot%202023-11-28%20at%2016.24.08.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="264" data-original-width="429" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFdnUeAQ48PI1b_9DY-DCVFR7ce0xt_fYPt82GTg3zkQnZv5xd1Vk6scxM6s8fQN-bqgm0nqEdu7OlnuPdFhD8h6Bx8jOsffo-uQBQJJClXe_UZR8Jg0zEgYM33hHBEgFY-RFlYcjh25U20A0EnCNKnHZOws4yDOJEVOdJVc_PpoRtu_AYtbXhkPiqchE/s429/Screenshot%202023-11-28%20at%2016.24.08.png?imgmax=1600" width="320" /></a></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">Alternate Slider Layout</h4><div><br /></div><div>By default the four available sliders are placed top to bottom from left to right. Now we added an alternative layout (menu <span style="font-family: courier;">Config >> Events</span>, 3rd tab <span style="font-family: courier;">Sliders,</span> flag <span style="font-family: courier;">Alternative Layout</span>) whose layout is anti-clockwise. This is especially helpful if one of the slider pairs in one column is deactivated such that the second one gets the full space. Now you can better choose which of the slider can enjoy that larger space.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgomYr10ZU0lWzFNZ7MnPnKgBuvlKUVWO1j-jgiGn84TkcPjQisyZgECVDKPgraIjpDEFU5_9DCu73pKoe85AGrhnH4lwKqERZB_0F0Z-ufmqMbhtCLtWKzJ_SMJfUAhH2R9v0YwNTd9DUXBDxZtSqFcwnmtzx7L8Sap1zK8_tcLYOsnWN5YABgTtH4IwE/s678/Screenshot%202023-11-28%20at%2016.01.50.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="678" data-original-width="230" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgomYr10ZU0lWzFNZ7MnPnKgBuvlKUVWO1j-jgiGn84TkcPjQisyZgECVDKPgraIjpDEFU5_9DCu73pKoe85AGrhnH4lwKqERZB_0F0Z-ufmqMbhtCLtWKzJ_SMJfUAhH2R9v0YwNTd9DUXBDxZtSqFcwnmtzx7L8Sap1zK8_tcLYOsnWN5YABgTtH4IwE/s678/Screenshot%202023-11-28%20at%2016.01.50.png?imgmax=1600" width="68" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Default Slider Layout</td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCKhfsvUW73gB9U8hwxLtkVxkFRA9St6tSCSJuIFJRzt9xEkI6Rx6QRat0IYqKHXohLLdZ2kW5Xb1nfvooEg8i1saM5cn5hXMX4t75F37WR_iInUL1hKWu323Ajbgck9BztVK6yX0Wsls3qG9Z3stTjQ-ID3X64F3WAMnzgnrxOwPzbZjedKUHuSzBlus/s678/Screenshot%202023-11-28%20at%2016.10.05.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="678" data-original-width="224" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCKhfsvUW73gB9U8hwxLtkVxkFRA9St6tSCSJuIFJRzt9xEkI6Rx6QRat0IYqKHXohLLdZ2kW5Xb1nfvooEg8i1saM5cn5hXMX4t75F37WR_iInUL1hKWu323Ajbgck9BztVK6yX0Wsls3qG9Z3stTjQ-ID3X64F3WAMnzgnrxOwPzbZjedKUHuSzBlus/s678/Screenshot%202023-11-28%20at%2016.10.05.png?imgmax=1600" width="66" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Alternative Slider Layout</td></tr></tbody></table><div class="separator" style="clear: both; text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-6MA81f9aUlRdsbzWueEirlhJGJQj4yqislmOmU_rvpGRctEPg8uVfSzVGqlCnRsG5WNUhy4iFTa2KQH5uoQ4TUqgdSx03msYiQnV8SCrTnPqSJ_mZ36FUCFbdAbGriCMTy5fxM70zu50m_epYu87j0OiOsNifwLhE-qZvCxR_LAi9CBuOWubvh2qnQ/s672/Screenshot%202023-11-28%20at%2016.02.56.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="672" data-original-width="226" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM-6MA81f9aUlRdsbzWueEirlhJGJQj4yqislmOmU_rvpGRctEPg8uVfSzVGqlCnRsG5WNUhy4iFTa2KQH5uoQ4TUqgdSx03msYiQnV8SCrTnPqSJ_mZ36FUCFbdAbGriCMTy5fxM70zu50m_epYu87j0OiOsNifwLhE-qZvCxR_LAi9CBuOWubvh2qnQ/s672/Screenshot%202023-11-28%20at%2016.02.56.png?imgmax=1600" width="68" /></a><br /></td></tr><tr><td class="tr-caption" style="text-align: center;">Alternative Layout with Slider 1 deactivated</td></tr></tbody></table><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div><br /></div><div><br /></div><h4 style="text-align: left;">Alternative Stock Weight Units</h4><div><br /></div><div>For those with processes using mixed weight units, hold down the OPTION (macOS) or ALT (Windows) key while opening the stocks popup to get the current stock per coffee reported in the alternative weight unit.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8KhjULHQpklDteUmuF8bLEGOJJHjqK9JgJQ2QRsZBiUVgbsfD-4Sx3rkNEGinQ-r_jzA0AZBllJ0IHkHvjfAGCfSAOKLX-kgLnRwsU559Q1eJ2M_L0uEBqsp-56YM9GmpplFuj2Vz68b2wWU4K4ghgLJRE6yR6mm_AAFIzBAIekGYcPris4Z77q3L8M/s870/Screenshot%202023-11-28%20at%2015.32.24.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="306" data-original-width="870" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8KhjULHQpklDteUmuF8bLEGOJJHjqK9JgJQ2QRsZBiUVgbsfD-4Sx3rkNEGinQ-r_jzA0AZBllJ0IHkHvjfAGCfSAOKLX-kgLnRwsU559Q1eJ2M_L0uEBqsp-56YM9GmpplFuj2Vz68b2wWU4K4ghgLJRE6yR6mm_AAFIzBAIekGYcPris4Z77q3L8M/s870/Screenshot%202023-11-28%20at%2015.32.24.png?imgmax=1600" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Stock in kg</td></tr></tbody></table><br /><br /><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSf30Tv5T5YWb83k5_bUtChth5t9-7JzZw9XxL8vSKdERc-PXVZan_13HMNmke3KvbPQEHtGF3f_JPuo3-85YpWwl-mggOCSblBR_iITqvClvTnCTuhrQCo_98EutMcxsM0LK9zn0velHxNsJ4SJRo_VWSznV7bpLbzTh91Q0-4xPA5D4GsRqRv7O8diE/s871/Screenshot%202023-11-28%20at%2015.32.45.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="304" data-original-width="871" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSf30Tv5T5YWb83k5_bUtChth5t9-7JzZw9XxL8vSKdERc-PXVZan_13HMNmke3KvbPQEHtGF3f_JPuo3-85YpWwl-mggOCSblBR_iITqvClvTnCTuhrQCo_98EutMcxsM0LK9zn0velHxNsJ4SJRo_VWSznV7bpLbzTh91Q0-4xPA5D4GsRqRv7O8diE/s871/Screenshot%202023-11-28%20at%2015.32.45.png?imgmax=1600" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Stock in lbs</td></tr></tbody></table><br /></div><div><br /></div><h4 style="text-align: left;">Additional Machine and Device Support</h4><div><br /></div><div>We worked together with the engineers at <a href="https://www.buhlergroup.com/global/de/products/roastmaster_coffeeroaster.html" target="_blank">Bühler</a> adding support for their Roastmaster series machines (RM20 Playone as well as RM60, RM120 and RM240) as well as the engineers at <a href="https://joper-roasters.com/" target="_blank">Joper</a> developing the support for their PLC equipped shop roasters. </div><div><br /></div><div><br /></div><h4 style="text-align: left;">New Builds</h4><div><br /></div><div>This is the first release of Artisan running native on macs with Apple Silicon (M1, M2, M3, ..). The mac app comes as (signed and notarized) fat universal2 binary supporting macOS 12 Monterey and better (incl. macOS 14 Sonoma).</div><div><br /></div><div>This is also the first release running on the latest Raspbian OS bookmark (64bit), thus that OS seems to have still some issues with Window decorators and Window modalities. Therefore we tagged it for now as experimental.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Updated Localizations</h4><div><br /></div><div>With the support of your input some localizations have been improved. Especially for Brazilian, German and Japanese.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Performance and Stability Improvements</h4><div><br /></div><div>This release comes with many internal improvements. The most important ones are</div><div><div><ul style="text-align: left;"><li>improved application settings handling leading to faster startup and tear down</li><li>new implementation of the Hottop protocol and the WebLCDs feature using modern infrastructure enabling the removal of some outdated libs</li><li>internal optimizations leading to faster redraw and data processing</li></ul></div></div><div><br /></div><div>The release brings us close to the point where we can focus on adding that fancy rotating 3D logo to the about box.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://en.wikipedia.org/wiki/Blautopf" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="385" data-original-width="749" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQXE_s3VM3e4zI6FTugqlylYxcUbFQnM6NI3eeTRNRgJ-hDi6mSFDj6XR1WERuZPXmQ4eiJPYeHOjLctpXLQ6M-s4jt6MD01o2lQfDLzMKabdfcv15snjjGn0Mtfbtd-M_D_KLmNKbwS4sNo1efGZ8P1KeuZ-7Nt-IGkr-OLqOqVCjgREPrWNc18QQ8Ug/s749/blautopf.jpg?imgmax=1600" width="320" /></a></div><br /><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-54561271671905140942023-06-20T23:12:00.001-07:002024-02-29T06:51:40.467-08:00Artisan v2.8.4<p> <a href="https://artisan-roasterscope.blogspot.com/2023/06/artisan-v284.html" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="423" data-original-width="749" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidDeGHmIjDMy7VURXKY45m-3FdUNKTzPAkOw8hGmta2aJB9gIjd4k0HWoaPsmBYt2SbMB2gZEVmUvBXOWK1Ki8MC7ZBszG2ZoWBpeunUkbNWMC7IrKNqMxjIbZXpod9j5FTCGVfHOgZhRJmf8pOhGfgf9urmKqoaSleNPrB2BK6qkM3bcJApREgxCn/s749/blog.jpg?imgmax=1600" width="640" /></a></p><p>We introduce Artisan 2.8.4 which adds a few features and improves stability while staying full compatible with any previous version.</p><span><a name='more'></a></span><p><br /></p>
<h3>THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognizing the value of Artisan for their customers, work or leisure. Consider supporting this project with <a href="https://artisan-scope.org/donate/" target="_blank">your donation</a>, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>We welcome our long time supporter and friend <b><a href="https://bcroasters.com/" target="_blank">Buckeye Coffee Roasters</a> as Release Sponsor</b> for this release. If you would like to become our release sponsor for a future release, <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">please contact us</a>!</div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://bcroasters.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="373" data-original-width="749" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXl4Kaa6jdH1Bpl1GVwJJNy049NLEbPLyq5CKJ2McdOS2V43LDByXkYZMr9ad6bHw4z5I_LHYX4Tq6EP4gaGALi_d9FTTVLOPMsjf8_A4UUGiGs-Dyxq4fbrJjgfONZGhwPXI0ZemZW4HReSu-I9ZkKXl5WmuM3JzNiFm81ibGaXhiuvd7TEkU7AyOFYw/s749/release-sponsor-blog.png?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /></div><div>The past month we worked together with the <b><a href="https://sniper-kaleido.com/" target="_blank">Kaleido team</a></b> on a deep integration between Artisan and their fine machines. If you want to become a machine sponsor and like to have your machines being well supported and promoted by Artisan, <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">please contact us</a>!</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://sniper-kaleido.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="377" data-original-width="749" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhURgsvbrY7myXvhOhRlviANSFC_apk0YkbzxFA6fEsdygO2N0ooUgF5FNUaDqtZgaxVidfzjFLgRRm3zqtqPXTbjJZdJC-o1k0MxnbTd9Fz-c9p_Ty3b1Rd4huW62miBaz7jtQwiimp0aMUoItWXP7EGr8wxSb6DxRkV2vJE997FTQKbz5TenA1iJN7BE/s749/machine-sponsor-blog.png?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Again the majority of the costs have been on the shoulders of Marko & Paul who created the <a href="http://artisan.plus">artisan.plus</a> service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p><span style="font-family: inherit;">The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover about 7% of the development costs: <i>Bruce Dillingham, Josh Greenberg, Ryan Alberson, George Putilin, Celery (<a href="https://celerycitycoffeeroasters.com/" target="_blank">City Coffee Roasters</a>), 梁晁瑋, Christopher Frothinger, Bruce Shermans (<a href="https://shermansvalleycoffee.com/" target="_blank">Valley Coffee Co.</a>), David Weirich, Abdulkarim Aledwani, Greg & Kelly, Willy (<a href="https://mightywonders.coffee/" target="_blank">Mighty Wonders Coffee Roasters</a>), Petro Lytvynchuk, PJ de Weerdt, <a href="https://www.judicieux.com/" target="_blank">L'Atelier Judicieux</a>, Richard Bigus, Norman Kuckert, Greg & Kelly (<a href="https://firstwavecoffee.com/" target="_blank">First Wave Coffee</a>), Larry Liebhart, Sinisa Novakovic, Matthew Duerstock, Dan (<a href="https://www.roastologycoffee.com/" target="_blank">Roastology Coffee</a>), Daniel Burris, Ron Brown, Kaffeehaus, Morten (<a href="https://coffee-mind.com/" target="_blank">CoffeeMind</a>), William Heespelink, Matthew (<a href="https://embercoffee.co/" target="_blank">Ember Coffee</a>), Demian Kollmann, Bradley Huff, Moyock Made Inc., Scott (<a href="https://www.highpointcfo.com/" target="_blank">HighPoint CFO</a>), Steve Engelbrecht, Larry Hopkins, Malcolm Ennis, John Lehet, Ken Austin, Kim Tio Teo, Richard Bennett, Inczeffy Zsolt, Wanda (<a href="https://www.topjavacoffee.com/" target="_blank">Top Java Coffee Roasters</a>), Steven Woolet, Robert Denson, Pam Vore, Jason Albasha, Henry Chamberlain, 野島浩希, Norman Kuckert, Charles Youngflesh, Alessandro (<a href="http://www.barnuovo.com/" target="_blank">Bar Nuovo</a>), Amir Rahimi, John Robertson, George Putilin, David Dela Cruz III, あきまん企画, Scott Koehn, Carlos (<a href="https://cosmiccoffeecompany.com/" target="_blank">Coffee Company</a>), Shawn Baker, Leonid Tabakov, Walter A Bednarz, Todd Trebuna, Gregory Ramirez, 許智維, Jason Kretik, Sompop Ranusawad, Jeffrey (<a href="https://tugboatjoecoffee.com/" target="_blank">Tugboat Joe Coffee Roasters</a>), D. Scott Nord, George Evans, Milorad Popadic, and Delbert Johnson.</i></span></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: <i>Doak Procter, Thomas Husband, Rick (<a href="https://www.softwarepolish.com" target="_blank">Software Polish</a>), Oliver Prosperi, Manuel (<a href="http://www.caffeterzi.it" target="_blank">Caffe Terzi</a>), Steffen Müller, </i><i>Norman Hardy, Jim (<a href="http://www.salvationcoffeecompany.com" target="_blank">Salvation Coffee Company</a>), Daniel Gerbers, Tolga (<a href="https://www.onetake.coffee/" target="_blank">onetake coffee</a>), Thomas Husband, Joseph (<a href="https://dleoncoffee.com/" target="_blank">D'Leon Coffee Roasters</a>), Gary Seeman, Colin (<a href="http://www.ironsideroasting.com" target="_blank">Iron Mule</a>) and Frans Goddijn</i><i>.</i></p><p>Finally, there are those Artisan geeks that tested continuous builds, beta and release candidate releases, suggesting better translations, changes, new features reporting <a href="https://github.com/artisan-roaster-scope/artisan/issues?q=is%3Aclosed+milestone%3Av2.8.4" target="_blank">many issues</a> as well as resolving discussion items which we could resolve for this release: Jason (<a href="https://www.hermetheus.com/" target="_blank">Hermeteus</a>), Manfred (<a href="https://www.werksbrandt.de/" target="_blank">Werksbrand</a>), Flint, <i><a href="https://github.com/peterweiser" target="_blank">peterweiser</a>, <a href="https://github.com/KingPollux" target="_blank">KingPollux</a>, <a href="https://github.com/Terracotta-62" target="_blank">Terracotta-62</a>, <a href="https://github.com/bigl00z3" target="_blank">Nico</a>, <a href="https://github.com/Brewzologist" target="_blank">Steve</a>, <a href="https://github.com/poundy" target="_blank">poundy</a>, <a href="https://github.com/CaffeineThepsade" target="_blank">CaffeineThepsadej</a>, <a href="https://github.com/lookingafar" target="_blank">lookingafar</a>, <a href="https://github.com/ID-JerryChen" target="_blank">ID-JerryChen</a>, <a href="https://github.com/joeky888" target="_blank">Joeky</a>, <a href="https://github.com/Durchstanzen" target="_blank">Durchstanzen</a>, <a href="https://github.com/ivanroaster" target="_blank">ivanroaster</a>, <a href="https://github.com/tkdrumr" target="_blank">tkdrumr</a>, <a href="https://github.com/ipa64" target="_blank">Patrick</a>, <a href="https://github.com/patioroaster" target="_blank">patioroaster</a>, <a href="https://github.com/clarsen" target="_blank">Case</a>, <a href="https://github.com/renatocipriani" target="_blank">renatocipriani</a>, <a href="https://github.com/Alexmitran" target="_blank">Alexmitran</a>, <a href="https://github.com/EspressoMachineWhisperer" target="_blank">EspressoMachineWhisperer</a>, <a href="https://github.com/Juppi1252" target="_blank">Juppi1252</a> and <a href="https://github.com/wbj828" target="_blank">wbj828</a>.</i></p><p><br /></p><p>Get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Upgrade now</a>!</p><p dir="auto">PLEASE FOLLOW AND TAG US!<br /> <a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://masto.ai/@artisan" target="_blank"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/mastodon-icon-svgrepo-com.svg?raw=true" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p><p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><div><br /></div><hr /><div><br /></div><h3>What's New?</h3><div><br /></div><div>We worked together with our new machine sponsor <a href="https://artisan-scope.org/machines/kaleido/" target="_blank">Kaleido & Beanseeker</a> to deeply integrate their new communication protocols into Artisan. This allows now to take total control over the machine also via WLAN and nicely synchronizes with its state back with Artisan.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-scope.org/machines/kaleido/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="609" data-original-width="1160" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqWVfQBQy38Skcy0rWsBijyZlKEoKnwzn2yFY06JuMuAwytfUnYRhh1MOle1_BqVuomhQ-EA7IuDb0SA7ZgMRy4TX2CUx8S6xst0r2vbutdMOCXRoWq0k7i70JsHesUflUSbChsap8YeDICTt1ktloSHz817o-JsW1PfVQLlHdkqJ91gHaL-Ir179c-II/s749/kaleido2.jpg?imgmax=1600" width="320" /></a></div><br /><div><br /></div><h4 style="text-align: left;">Custom Event Buttons</h4><div><br /></div><div>This work led to some extensions of the event button mechanism. There are now additional button actions which allow to set button states (normal/pressed) and a new placeholder variable<span style="font-family: courier;"> $ </span>which holds the state of the button. There are now also additional substitutions applied to the event button names supporting localization. For example,<span style="font-family: courier;"> \1 </span>is substituted by the translation of the string ON into the selected language. Same holds for<span style="font-family: courier;"> \3</span>, however, here the substitution respects the button state and switches to the translation of OFF if the button state is pressed. Similar translated substitutions are available for START/STOP, OPEN/CLOSE and some others. As always, you can find the detailed documentation on the various button actions in the corresponding Help dialog accessible from within the events dialog (menu <span style="font-family: courier;">Config >> Events, 2nd tab Buttons</span>) and some examples in <a href="https://artisan-roasterscope.blogspot.com/2023/06/buttons-appearance-state-and-action.html">Buttons – Appearance, State, and Action</a>.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Event Marks on ET</h4><div><br /></div><div>Artisan prefers to annotate major event information like time and temperature of CHARGE or DRY on the bean temperature curve (BT). With this version those annotations are rendered on the environmental temperature curve (ET) if the BT curve is hidden (here by a click on the BT LCD).</div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzoT_yU8DLgNc_dqSK8uHHAa_xxGfB4ZANXLDXTjz5jRyomlndcQToc7ILe_LY40n_hFleAAjgCzZlBWqUwCvNgtxp1MiAMr7lqk41rRBAAiTnlCGVmvUEcL0kcaxfzMRz2IQ5uhAL9Al4Ol1Qsjxha8CcVYMIMxy-WvwgEwSB2sel903Sphe6J1aMfIE/s900/Screen%20Recording%202023-06-20%20at%2012.53.07.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="571" data-original-width="900" height="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzoT_yU8DLgNc_dqSK8uHHAa_xxGfB4ZANXLDXTjz5jRyomlndcQToc7ILe_LY40n_hFleAAjgCzZlBWqUwCvNgtxp1MiAMr7lqk41rRBAAiTnlCGVmvUEcL0kcaxfzMRz2IQ5uhAL9Al4Ol1Qsjxha8CcVYMIMxy-WvwgEwSB2sel903Sphe6J1aMfIE/s900/Screen%20Recording%202023-06-20%20at%2012.53.07.mov.gif?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div><br /></div><h4 style="text-align: left;">Windows/Linux Dark Mode</h4><div><br /></div>After having introduced dark mode support in v2.1 in 2019 for macOS, we now added dark mode support for Windows 10 (1607+), Windows 11, and Linux under Gnome. This requires the UI style set to anything different from WindowsVista (menu <span style="font-family: courier;">Config >> Curves</span>, last tab UI). Artisan will automatically adjust its menus and dialogs when the display mode is changed to dark. Note that colors used in the graph area respect the settings in <span style="font-family: courier;">Config >> Colors</span> and as set in <span style="font-family: courier;">Config >> Themes</span>. The theme Midnight was used for the screenshot below.<div><span style="font-family: inherit;"><span style="background-color: white; color: #1f2328; font-size: 16px;"><br /></span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq0_4ziVEcBBnbpBdqCxX6U3B7lLXSI4VJaZMyO3nJZMLoewRLIJqsCCXExOkiiNtKuGyDNhJfDrqUJfzy04CGvDyhJ4taX3uHHbMDE6vdyBkB2sklDtbncOQjVSXbKfTbuNQVTz_M_Mi2nMDjjjxJnAk-A1XtE_Q_ACMwmHP4dAGbjBLL9ewkdQMX/s1919/WIndows%20Dark%20Mode%20Midnight%20Theme.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1028" data-original-width="1919" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq0_4ziVEcBBnbpBdqCxX6U3B7lLXSI4VJaZMyO3nJZMLoewRLIJqsCCXExOkiiNtKuGyDNhJfDrqUJfzy04CGvDyhJ4taX3uHHbMDE6vdyBkB2sklDtbncOQjVSXbKfTbuNQVTz_M_Mi2nMDjjjxJnAk-A1XtE_Q_ACMwmHP4dAGbjBLL9ewkdQMX/s1919/WIndows%20Dark%20Mode%20Midnight%20Theme.png?imgmax=1600" width="640" /></a></div><p><br /></p><h4 style="text-align: left;">More</h4><p>There are many other useful additions and changes to be discovered in this version, like the support of a direct Bluetooth BLE connection to <a href="http://127.0.0.1:4000/machines/ikawa/" target="_blank">IKAWA sample roasters</a> as well as the following fixes relevant for specific configurations.</p><p>See the full <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" target="_blank">Release History</a> for all details.</p><p><br /></p><h4 style="text-align: left;">Platform Fixes</h4><div><br /></div><p></p><p><b><a href="https://artisan-scope.org/machines/aillio/" target="_blank">Aillio</a></b></p><p></p><ul style="text-align: left;"><li>fixes regression breaking Aillio R1 connection</li></ul><p><b><a href="https://artisan-scope.org/devices/arduino/" target="_blank">Arduino</a></b></p><p></p><ul><li>improves Arduino MODBUS RTU compatibility </li><li>fixes regression breaking Ardino/TC4 PID source channel configuration</li></ul><p><b>Linux</b></p><p></p><ul><li>fixes problem running only under admin user on some Linux distributions</li><li>fixes startup issue under Linux Wayland</li></ul><p><b><a href="https://artisan-scope.org/machines/nordic/" target="_blank">Nordic</a>, <a href="https://artisan-scope.org/machines/tesla/" target="_blank">OTesla</a>, <a href="https://artisan-scope.org/machines/datgen/" target="_blank">Dätgen</a>, <a href="https://artisan-scope.org/machines/kapok/" target="_blank">KapoK</a>, <a href="https://artisan-scope.org/machines/opp/" target="_blank">Opp</a>, and <a href="https://artisan-scope.org/machines/goldenroasters/" target="_blank">Golden Roasters</a></b></p><p></p><ul><li>fixes regression breaking MODBUS Binary/ASCII support used by some Nordic, OTesla, Dätgen, KapoK, Opp, and Golden Roasters machine setups</li></ul><p><b><a href="https://artisan-scope.org/machines/kirsch/" target="_blank">Probat UG/G</a></b></p><p></p><ul style="text-align: left;"><li>fixes an issue sending multiple S7 commands via buttons as used in the Probat UG setups which could lead to a crash</li></ul><p></p><p><b><a href="https://artisan-scope.org/machines/probat/" target="_blank">Probat Probatone II</a></b></p><p></p><ul style="text-align: left;"><li>fixes an interaction between the ALWAYS ON feature and the Probatone MODBUS keep-alive handling</li></ul><p><br /></p><h3 style="text-align: left;">Reducing Technical Debt</h3><p>We have been using a static code analyzers (<a href="https://github.com/pylint-dev/pylint" target="_blank">pylint</a>) for some years now to improve code quality. For this version we increased the scope of static analyzer by adding some more tools to our development chain, including type checkers (<a href="https://github.com/charliermarsh/ruff" target="_blank">ruff</a>, <a href="https://github.com/python/mypy" target="_blank">mypy</a>, <a href="https://github.com/microsoft/pyright" target="_blank">pyright</a>). To help those type checkers out we needed to (partially) annotated our code with types. It turned out to be a mammoth task to add all type annotations and apply the code rewrites needed to make those type checkers and additional static checkers happy. We had to touch more than 50% of the by now 100k lines of code that make up Artisan. Despite all that work we are quite happy about the outcome and the open-source availability of those strong tools which helped us to iron out potential issues before they even could cause troubles. These tools will improve sustainability, code quality and documentation also for the next Artisan versions and are now the framework we build upon our future changes and additions.</p><p><br /></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-45684098529978962822023-06-20T23:11:00.000-07:002023-06-20T23:11:19.296-07:00Buttons – Appearance, State, and Action<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2023/06/buttons-appearance-state-and-action.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="423" data-original-width="749" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO_0eVXU_LFUXG1aWB6OPWrzmjrYJcQt34LKzqTrOXDwpRFRenfg9dAWLretwMvfqCm5KKjGRPcLwdZNBOCMI24dMs_3qRixT5-OGE0IB-plDdG5JzNjTO2GQfavlUul4saTlSyC2474vDlylo0cbJK6_zobv52ut78r1LSh_GAktpdg8t0MEDvrHttzs/s749/blog.jpg?imgmax=1600" width="640" /></a></div><br /><p>A custom button in Artisan is specified by a name, an event type and value, an action as well as button and text colors (see <a href="https://artisan-roasterscope.blogspot.com/2013/02/events-buttons-and-palettes.html">Events, Buttons Palettes</a>). There can be as many buttons as you like. Additionally, each button has an appearance (normal/pressed) and a state. State and appearance are disconnected by default, but can be connected via button actions.</p><span><a name='more'></a></span><p>Artisan versions before 2.8.4 marked the appearance of the last button pressed by inverting its text and button color. The latest Artisan version adds the new flag<span style="font-family: courier;"> Mark Last Pressed </span>to the buttons tab of the events dialog (menu<span style="font-family: courier;"> Config >> Events, 2nd tab</span>). Uncheck the flag if this behavior interferes with the intended appearance of buttons using the new button action extensions described below.<br /></p><p>The command<span style="font-family: courier;"> button() </span>toggles the state of the button as well as its visual appearance and is available as<span style="font-family: courier;"> MODBUS/S7/WebSocket/IO/Artisan Command </span>action. Note that button actions can be sequenced using a semicolon which allows a button not only to invert its state but also to send out some control commands.</p><p>The button command accepts one boolean argument to explicitly set the button state or alternatively two arguments, where the first indicates the button number to be affected and the second argument its new state/appearance.</p><p>The following example defines one button that toggles the button state (bound to<span style="font-family: courier;"> $</span>) and sends it out to register 2 on MODBUS slave 1 on activation. All buttons start with state 0 (false) and toggle to 1 (true). Pressing this button also toggles its visual appearance. The<span style="font-family: courier;"> \t </span>part of the button label specification<span style="font-family: courier;"> \t\n\3 </span>is substituted by the event type (here <i>Brenner</i>, the German translation of <i>Burner</i>), the<span style="font-family: courier;"> \n </span>introduces a newline and the<span style="font-family: courier;"> \3 </span>is substituted by the translation of <i>ON</i> (here you see the German translation <i>EIN</i>) if the button state is 0 and <i>OFF</i> (<i>AUS</i> in German). A list of all button substitutions and actions can be found on the button help page accessible from the<span style="font-family: courier;"> Help </span>button in the button tab.</p><p><br /></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEHCiGNnGoIGNCzknBGfFcGExdpaPJgDSGY6qAvR1xt0HAjWegQGXYzNOEJErmMbdwLTedabKq5tS6HBreHvGDvKavt5BB-4JkZfHOTV2BG5hniX4SVuO0KwrACOAvMRx6HbWUv5dXoEZBqiCmOgsMiwPFCP3Rdpayf9NiHHN9SumPqXM5sx1f6Hjuy1k/s1931/Screenshot%202023-06-20%20at%2010.24.59.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="284" data-original-width="1931" height="94" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEHCiGNnGoIGNCzknBGfFcGExdpaPJgDSGY6qAvR1xt0HAjWegQGXYzNOEJErmMbdwLTedabKq5tS6HBreHvGDvKavt5BB-4JkZfHOTV2BG5hniX4SVuO0KwrACOAvMRx6HbWUv5dXoEZBqiCmOgsMiwPFCP3Rdpayf9NiHHN9SumPqXM5sx1f6Hjuy1k/s1931/Screenshot%202023-06-20%20at%2010.24.59.png?imgmax=1600" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjblzN6s5nTn7J__72NsxkZu8DagyVWpvjavoKqye8s9-4gl6YOxMgbhPsCV-QqbcS_xD-L5U3Ab0uFu8DSiYAUP7nRK4W5VIh_MyHHmHcrya2oZFptUOVXfuiv_iSF5toCbAieZyB4Qx41IQ9FwQTNzUuacXGPlfzCaCaPPntodlsUaLjvkNVSdK4_YJo/s1590/ON:OFF.mov.gif" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="640" data-original-width="1590" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjblzN6s5nTn7J__72NsxkZu8DagyVWpvjavoKqye8s9-4gl6YOxMgbhPsCV-QqbcS_xD-L5U3Ab0uFu8DSiYAUP7nRK4W5VIh_MyHHmHcrya2oZFptUOVXfuiv_iSF5toCbAieZyB4Qx41IQ9FwQTNzUuacXGPlfzCaCaPPntodlsUaLjvkNVSdK4_YJo/s1590/ON:OFF.mov.gif?imgmax=1600" width="640" /></a></p><br /><p>The second example shows how to use the two argument variant of the button command to link two buttons.</p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZaCsGkri4q58Cyk9RJEM-Jc1zC_IoVFALSkVta0JP8CwxOs-kDSGUNJ05Qyev2ovCuSjB5fOYsz80EXRLlFC13fKmm89ksb4NBJkX28n1SxQeN2x6vPdJ-njYKuyAh7dGHajKchMHjvor5xDBCOnsPWHWJ4a9alHLtNIWz9Y8ICTfOWcWI6aQcSfGLss/s1918/Screenshot%202023-06-20%20at%2011.17.34.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="349" data-original-width="1918" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZaCsGkri4q58Cyk9RJEM-Jc1zC_IoVFALSkVta0JP8CwxOs-kDSGUNJ05Qyev2ovCuSjB5fOYsz80EXRLlFC13fKmm89ksb4NBJkX28n1SxQeN2x6vPdJ-njYKuyAh7dGHajKchMHjvor5xDBCOnsPWHWJ4a9alHLtNIWz9Y8ICTfOWcWI6aQcSfGLss/s1918/Screenshot%202023-06-20%20at%2011.17.34.png?imgmax=1600" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJmtp1i1i4Wu3gL6eal4OTYwzGieKjqy07KFq3Un6ODAUgZAAL_fhTihW8soNKmOCoQpAxYOuDHMmj6yVe_whyXLfzsyMyNQVamvQnH-jIuymITWlB6AnORekxGW1AOLm0qvG0RXbOa6JkMrSPNfl18O_r4DxaELmDcEILSlpEQWcKu6XvA8nLu7PwMc/s900/OPEN-CLOSE.mov.gif" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="362" data-original-width="900" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJmtp1i1i4Wu3gL6eal4OTYwzGieKjqy07KFq3Un6ODAUgZAAL_fhTihW8soNKmOCoQpAxYOuDHMmj6yVe_whyXLfzsyMyNQVamvQnH-jIuymITWlB6AnORekxGW1AOLm0qvG0RXbOa6JkMrSPNfl18O_r4DxaELmDcEILSlpEQWcKu6XvA8nLu7PwMc/s900/OPEN-CLOSE.mov.gif?imgmax=1600" width="640" /></a></p><div class="separator" style="clear: both; text-align: center;"><br /></div>The new button state can be set based on an external state as received on communication as well. Here the buttons reflect the state of the external actors. Note that in commands, the placeholder<span style="font-family: courier;"> _ </span>is substituted by the result of the last<span style="font-family: courier;"> IO Command </span>and calculations like the negation (here via the<span style="font-family: courier;"> not </span>operation) can be applied.<div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUN_Nu2DdxH_fLLZ6XTJjb5AWrdvZ-1GvfSPrttjAKWV97uYcYcYqmGWL_nEYNLag9EswBElNl3miTwFCG-MPFXLgErE1AcX90lDj8CTo1jWi2mi5VW6fDreb0IWoLm_Ws3sJ7tektCJ194m2E4RMXrjwKlLlDKKdR1zwRxH-TonHz1rOHu6_yyFSvqTY/s2382/Screenshot%202023-06-20%20at%2011.21.00.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="755" data-original-width="2382" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUN_Nu2DdxH_fLLZ6XTJjb5AWrdvZ-1GvfSPrttjAKWV97uYcYcYqmGWL_nEYNLag9EswBElNl3miTwFCG-MPFXLgErE1AcX90lDj8CTo1jWi2mi5VW6fDreb0IWoLm_Ws3sJ7tektCJ194m2E4RMXrjwKlLlDKKdR1zwRxH-TonHz1rOHu6_yyFSvqTY/s2382/Screenshot%202023-06-20%20at%2011.21.00.png?imgmax=1600" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS-1QMPCPaC9RQif2Ngtudy1CYF5P08_at9SqHIf0Nkky6lKIKrig51jizA0iAynTBkzxxRWBZRVsJia09buD5ZTIyl7yO_bf6fWxDpwSKIMZfYGDlX3nB6KiDWlliOT6HqyyjbNq0xKV1i_Xw5ZMRLJ9J-0L_YAirb4rrkEmlfQYSPBHOjZzIYu2V18k/s900/km.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="362" data-original-width="900" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS-1QMPCPaC9RQif2Ngtudy1CYF5P08_at9SqHIf0Nkky6lKIKrig51jizA0iAynTBkzxxRWBZRVsJia09buD5ZTIyl7yO_bf6fWxDpwSKIMZfYGDlX3nB6KiDWlliOT6HqyyjbNq0xKV1i_Xw5ZMRLJ9J-0L_YAirb4rrkEmlfQYSPBHOjZzIYu2V18k/s900/km.mov.gif?imgmax=1600" width="640" /></a><br /><br /><p><br /></p></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-9102036156119709952023-03-05T02:22:00.012-08:002023-03-07T03:41:55.390-08:00Understanding Roast Color<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2023/03/understanding-roast-color.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="327" data-original-width="759" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioMpCCy7-daCjgxX1Gssxzc28maO2Pc0MOXnI2BPkauZffSTpuRADshEAZFIjqQgd8yppaB9z_8CdT7NjislLQso5X11NWZKewlQh80AyPb5jzXMC2p2VJW5Q-y3Oa6QGwW6DzMCbb5N0lSENKGd76dkRuQAz7wWUCUs23vYTdThENJdKDSKyyjUMs/s759/title.jpg?imgmax=1600" width="640" /></a></div><br />Taking the color of a roast is quite simple nowadays. Just prepare a sample and point your roast color meter at it. The device will display the roast color as a number. This may raise some questions.<p></p><p></p>
<div class="colorbox blue">
<ul>
<li><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">Why do different devices report different results on the same roast?</span></li>
<li><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">What does the reported number mean and how does it compare?</span></li>
<li><span face=""arial" , "helvetica" , sans-serif" style="font-size: large;">Why does the same device report different numbers for the same roast?</span></li></ul></div><p></p><div><div>This post resembles our report <a href="https://artisan-roasterscope.blogspot.com/2019/03/on-idle-noise.html">On Idle Noise</a>, where we identified the sources of temperature measuring noise and quantified their impact. This post shares our observations from over 1000 color measurements taken with <a href="https://my-tonino.com/" target="_blank">Tonino</a> and <a href="https://www.lighttells.com/" target="_blank">Lighttells CM100+</a> roast color meters. Our results can help answer the above questions and may lead to better color measurements.</div></div><p><span></span></p><a name='more'></a><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">1 Background</h3><div><br /></div><div>Let's start with some technical background.</div><div><br /></div><h4 style="text-align: left;">1.1 Why do we care about roast color?</h4><div><br /></div><div style="text-align: right;">“<i><a href="https://perfectdailygrind.com/2021/09/how-can-you-ensure-batch-to-batch-consistency-when-roasting-coffee/" rel="nofollow" target="_blank">The key parameter for consistency is flavour, </a></i><i><a href="https://perfectdailygrind.com/2021/09/how-can-you-ensure-batch-to-batch-consistency-when-roasting-coffee/" rel="nofollow" target="_blank">which is<br />80% driven by variation in colour and 20% driven by variation in timing</a></i>”</div><div style="text-align: right;">– Morten Münchow</div><div><br /></div><div>It has been observed that the roast color correlates strongly with the taste of the coffee [1]. As a criterion independent of the roasting process, color readings can help, for example, to transfer roasting profiles from one machine to another or, more generally, to produce a product with a consistent taste.</div><div><br /></div><h4 style="text-align: left;">1.2 What is color?</h4><div><div style="text-align: right;">“<i>A ‘color’ is an interaction between a very small range of<br />electromagnetic waves and the eyes and brain of a person</i>”</div><div style="text-align: right;">– The Science of Color, TAOS White Paper [2]</div></div><div><br /></div><div>Color is the visual perception based on the spectrum of light reflected from an object. This reflection is a composition of light waves with different frequencies that make up this spectrum. When light hits ground coffee, the coffee absorbs some of the light and reflects the rest. Which wavelengths are reflected or absorbed depends on the spectrum of the light source and the chemical compounds in the coffee. For reference, our eyes interpret wavelengths around 640nm as brown, but the intensity of wavelengths in the invisible near-infrared spectrum also change with the degree of roasting.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsilsQYi10JfHKQ9fR1EEv7DJo9YbW8-PW1J0B-3g29pR0QGCuUQfaAUd6Si7W_wbQ_g86ulgQ9lhU2aiH7dJsAVlPTcqAEGcgBLWl25Y_js05gc0waonCTw1a3KNdVIbNtqzi-mbFwpXYESxxTyPguNvoWV9SjKlBWinOdgvV88sO99DGk5UCaBdr/s1608/Spectrum.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="787" data-original-width="1608" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsilsQYi10JfHKQ9fR1EEv7DJo9YbW8-PW1J0B-3g29pR0QGCuUQfaAUd6Si7W_wbQ_g86ulgQ9lhU2aiH7dJsAVlPTcqAEGcgBLWl25Y_js05gc0waonCTw1a3KNdVIbNtqzi-mbFwpXYESxxTyPguNvoWV9SjKlBWinOdgvV88sO99DGk5UCaBdr/s1608/Spectrum.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Light Spectrum</td></tr></tbody></table><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">1.3 How do roast color meters work?</h4><p></p><div><div style="text-align: right;">“<i>What is being measured depends on the illuminant and sensor used</i>”</div><div style="text-align: right;">– Paul <span style="text-align: left;">Songer</span> [3]</div></div><div style="text-align: right;"><br /></div><div>Roast color meters illuminate the presented sample and measure the reflected light energy with their sensor elements. The light spectrum relevant to roast coffee is at the end of the visual spectrum, including the red and near-infrared (NIR). Both, wavelengths of the visible spectrums around 640nm and wavelengths in the NIR spectrum around 880nm seem to correlate well with the degree of roast [4]. To measure the color of the roast, you need a sensor that is sensitive in this range and a corresponding light source. Note that both the power distribution of the illumination source and the sensitivity of the light sensor are typically nonlinear across the spectrum they support.</div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIBxpME5nVfl6jBbOfIobZ1XJVxgJVbXBB5EEiqLcI6dgdlCgwv55NoiLQYaijgkobDtxV-E7gYpfdBZbKGJfGvFrbPEKj1T23JhsyfZ_2fzIWzwrAV5eA--16c_A1aqGpJ9iWwFoNI2QDDqC94YVjRPNoqys-ew9Lr5fHcN8hKVyqsBNV8Xt-dIZh/s1000/IlluminationSpectrum.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="687" data-original-width="1000" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIBxpME5nVfl6jBbOfIobZ1XJVxgJVbXBB5EEiqLcI6dgdlCgwv55NoiLQYaijgkobDtxV-E7gYpfdBZbKGJfGvFrbPEKj1T23JhsyfZ_2fzIWzwrAV5eA--16c_A1aqGpJ9iWwFoNI2QDDqC94YVjRPNoqys-ew9Lr5fHcN8hKVyqsBNV8Xt-dIZh/s1000/IlluminationSpectrum.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">White LED spectral power distribution</td></tr></tbody></table><br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPCjzByHYjdj-2lNs_4JPFSsjtACfvwYJPrc9DSkDdq5DHp7HHUYWV6To2mYzufWD0cL5s4Ursah0pJHruBXwi2rOmFmDocAifc-fpdXS_9E9JDehLZ14sbdbwBOgJTbHlOUolLGIBxEHZcmeAe8_IWtCLyrzQBSzHpdVcSA1tIIBzl9Hz1MRK0hKl/s1000/SensorSpectrum.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="687" data-original-width="1000" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPCjzByHYjdj-2lNs_4JPFSsjtACfvwYJPrc9DSkDdq5DHp7HHUYWV6To2mYzufWD0cL5s4Ursah0pJHruBXwi2rOmFmDocAifc-fpdXS_9E9JDehLZ14sbdbwBOgJTbHlOUolLGIBxEHZcmeAe8_IWtCLyrzQBSzHpdVcSA1tIIBzl9Hz1MRK0hKl/s1000/SensorSpectrum.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">RGBC silicon sensor spectral sensitivity</td></tr></tbody></table><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>There are two broad categories of devices that can be used to read roast color, color meters and color analyzers. A roast color meter is a device that emits light onto a sample and measures the energy of the reflected light using photocells sensitive to a specific bandwidth. To discriminate wavelength, some roast color meters only illuminate the sample within a narrow waveband. Others use a broad spectrum light source but read the reflection with sensor elements that only measure specific wavebands. The <a href="https://www.lighttells.com/" target="_blank">Lighttells</a> combines infrared incandescent bulbs with an infrared sensor, while the <a href="https://my-tonino.com/" target="_blank">Tonino</a> uses full-spectrum white LEDs, as the <a href="https://www.probat.com/en/products/industry/products/colorette/" target="_blank">Probat Colorette 4</a>, with a true-color 64-channel photodetector, not covered by an IR filter, to measure red/near-infrared reflectance response. Note that non-LED based illuminants require some warm-up time until they produce a stable spectrum. The <a href="https://www.color-track.com/" target="_blank">ColorTrack</a> is specific in that it uses a moving laser beam for illumination, pointing to a 1mm² fraction of the sample at each point in time.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEMzBim-4WZ3GdZVWMptgnmAv_ZzW9UFqAFdG7rYGkAY1cVDIWZJPkY9Z2buXa6p9aP5a6G7zQzRs2LkGcgeBE-_pv-9pOFul4VvCDbaPMkK1SHgbhPte0E_ZcSW9mhhtb8XPQXhqgeDeZFGQBV2d4sBMdpJIPWhHAeUEsOjO1tYMQvLifVZf0oNcb/s1006/ColorMeter.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1006" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEMzBim-4WZ3GdZVWMptgnmAv_ZzW9UFqAFdG7rYGkAY1cVDIWZJPkY9Z2buXa6p9aP5a6G7zQzRs2LkGcgeBE-_pv-9pOFul4VvCDbaPMkK1SHgbhPte0E_ZcSW9mhhtb8XPQXhqgeDeZFGQBV2d4sBMdpJIPWhHAeUEsOjO1tYMQvLifVZf0oNcb/w400-h269/ColorMeter.png" width="400" /></a></div><br /><div><br /></div><div><br /></div><div>Color analyzers such as <a href="https://www.agtroninc.com/" target="_blank">Agtron Inc</a>'s spectrophotometers, like the M-BASIC device, use optics, often a prism, to separate the reflected light by refraction into narrow bands, which are then measured with photometers. This design results in significantly more expensive devices, but allows for more selective and accurate analysis of the reflected spectrum.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzXGzFOpM76UN8sGhb2ZWcYLmpZlHXbc_zfm6Od3iJOFH7TRo8i7EHIK1xF_kbXeVAHdyWzfAOlaAfJpHype6bomFDWnhxvOCT80NkEXl05rVls_54Grta3aGOOmJExaOFgyGDn6B8aJP-vuDyQWfyXaOpHS8uldUnA5gZNRcA1XV8JDz4VbWxp7r/s1193/ColorAnalyzer.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="864" data-original-width="1193" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCzXGzFOpM76UN8sGhb2ZWcYLmpZlHXbc_zfm6Od3iJOFH7TRo8i7EHIK1xF_kbXeVAHdyWzfAOlaAfJpHype6bomFDWnhxvOCT80NkEXl05rVls_54Grta3aGOOmJExaOFgyGDn6B8aJP-vuDyQWfyXaOpHS8uldUnA5gZNRcA1XV8JDz4VbWxp7r/w400-h290/ColorAnalyzer.png" width="400" /></a></div><br /><div>Instruments designed to measure the roast degree of coffee differ in what they measure and how the results are reported.</div><div><br /></div><div><br /></div>
<div class="colorbox blue">
<span face=""arial" , "helvetica" , sans-serif" style="font-size: x-large;">Why do different devices report different results on the same roast?</span>
<p>
<span face=""arial" , "helvetica" , sans-serif" style="font-size: medium;">
Results reported by a device depend largely on its illumination and sensing technology influencing its sensitivity on certain chemical changes. As these differences are highly non-linear, a simple mapping between the results of different device types can not be expected.</span></p>
<div><br /></div>
<span face=""arial" , "helvetica" , sans-serif" style="font-size: x-large;">What does the reported number mean and how does it compare?</span>
<p><span face=""arial" , "helvetica" , sans-serif" style="font-size: medium;">Results are reported according to device specific scales which are in general not well defined (they have no uniform device independent specification). In consequence those numbers hardly compare between different instruments.</span>
</p>
</div>
</div><br /><br /><h4 style="text-align: left;">1.4 Roast Color Scales</h4><p></p><div><div style="text-align: right;">“<i>How the results are reported </i>depends<i> on how the machinery </i></div><div style="text-align: right;"><i>translates those measurements into a standardized scale</i>”</div><div style="text-align: right;">– Paul <span style="text-align: left;">Songer</span> [3]</div></div><div style="text-align: right;"><br /></div><div>The roast color meter takes the readings captured by its internal sensor and maps them to human-readable numbers. This is like taking all bean temperature readings of a roast profile and map them to one single number to be used to compare roasts. Just the ColorTrack builds a histogram of readings instead of just averaging all results. A color scale is such a mapping defined by a continuous function such that the resulting values decrease (or increase) with the degree of the roast. A number of different color scales are in use today. The most popular one, and the one featured by SCA, is the Agtron (Gourmet) scale (0-100). It is designed to return 0 for carbonized coffee and 100 for "under-developed". Other more well-known roast color scales are the Agtron Commercial scale (0-75), the ColorTrack scale (100-0), the <a href="https://www.neuhaus-neotec.com/en/coffee-processing/machines-controls/detail/colour-meter-colortest-ii/" target="_blank">Neotec ColorTest</a> scale (0-200), the <a href="https://www.probat.com/en/products/industry/products/colorette/" target="_blank">Probat's Colorette</a> scale (0-200) and the Tonino -Scale (50 -130). </div><div><div><br /></div><div>Color scales are tied to a specific device and come without any device independent formal definition. This complicates the translation of readings between different scales. Even roast color meters that report their results using the same scale (often Agtron) can report different results due to differences in the implemented illumination and sensor technology, covering different ranges of the frequency spectrum. Color scales differ in resolution. A 10 point difference on the Agtron scale could correspond to a 16 point difference on the higher resolution Tonino scale, or just a 3 point difference on the Agtron Commercial scale.</div><div><br /></div></div><div>Color readings w.r.t. multiple scales can be used to calculate mappings between those scales. For example, <a href="https://hoos.coffee/blog/a-tale-of-two-color-meters" target="_blank">Rob Hoos took measurements on a number of samples using two devices</a> [5]. A Lighttells CM100 reporting in Agtron and a <a href="https://espressovision.com/product/roast-vision-v1/" target="_blank">Roast Vision meter</a> reporting on a different scale. From these measurements he calculated linear mappings, functions of the form <span style="font-family: courier;">y=ax+b</span>, which allows Roast Vision values to be approximated from Agtron readings and the other way around. Rob calculated the constants<span style="font-family: courier;"> a </span>and<span style="font-family: courier;"> b </span>through mathematical regression minimizing the total error. The measure <span style="font-family: courier;">R<sup><span style="font-size: xx-small;">2</span></sup></span> indicates the quality of the approximation in a range from 0 to 1, where 1 denotes the perfect approximation.</div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZCu4JOJJ4uEM2-qEhB8YPcV9G6YAUEmYWCO1H2FB0ghKP_TMiu5QqK04XebDpgt5EGCN0dIjGx2qL4NuKk-n5nXltnrGGSCL47KBeb03STYLHLYV-ibjqcb1-DMBfol_IjaSO8vEete5hVFelIMRnejEjBJIapGYv-4G_iNPxZwFzS1WaNZ54lSZ9/s862/HoosMappingGraph.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="541" data-original-width="862" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZCu4JOJJ4uEM2-qEhB8YPcV9G6YAUEmYWCO1H2FB0ghKP_TMiu5QqK04XebDpgt5EGCN0dIjGx2qL4NuKk-n5nXltnrGGSCL47KBeb03STYLHLYV-ibjqcb1-DMBfol_IjaSO8vEete5hVFelIMRnejEjBJIapGYv-4G_iNPxZwFzS1WaNZ54lSZ9/w640-h402/HoosMappingGraph.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">RoastVision to Agtron mapping by Rob Hoos [5] (reconstructed using <a href="https://automeris.io/WebPlotDigitizer/" target="_blank">WebPlotDigitizer</a>)</td></tr></tbody></table><br /><div><br /></div><h4 style="text-align: left;">1.5 Roast Classification</h4><div><div style="text-align: right;">“<i>The entire idea of communicating roast color by numbers</i></div><div style="text-align: right;"><i>is thoroughly confusing to customers.</i>”</div><div style="text-align: right;">– Kenneth <span style="text-align: left;">Davids</span> [6]</div></div><div style="text-align: right;"><br /></div><div>Before the availability of roast color meters roast degrees were communicated using terms like "French", "Turkish", "Dark", "Full City", "City", "Light", "American" and "Cinnamon". As with the roast numbers reported by roast color meter, these terms are not well defined and/or their definition, which varies from region to region, are in part based on historic confusions [6]. Today most of the more romantic names have disappeared and only the abstract terms "Dark", "Medium-Dark", "Medium", "Medium-Light" and "Light" are used to give consumers an idea on what to expect from a bag of coffee. The Agtron manual [7] defines a mapping from the Agtron scale into this coarse roast classification system aligned with the SCA color disk system.</div><div><br /></div><p></p><h4 style="text-align: left;">1.6 Alternatives</h4><p></p><div style="text-align: right;">“<i>Ultimately it is the ground roast score that should be<br />the focus of controlling product consistency.</i>”</div><div style="text-align: right;">– Agtron M-Basic II manual [7]</div><div><div><br /></div><div>Instead of using a roast color meter, one can visually compare roasted coffee to previous roast samples or to printed color tiles. Aside from the fact that coffee, as a natural product, degrades over time and differences in surface reflectance can make printed tiles difficult to compare, our eyes' color perception and resolution is limited and varies from person to person. According to the Agtron M-Basic II manual [7], the visual resolution of our eyes with medium roasts is only around +-6 Agtron points.</div></div><div><br /></div><div><br /></div><p></p><h3 style="text-align: left;">2 Precision & Accuracy</h3><div><br /></div><div><div style="text-align: right;">“<i>..comparing our readings to those generated by another Agtron instrument</i></div><div style="text-align: right;"><i>in another location? The results are considerably less consistent</i></div><div style="text-align: right;"><i>(although still much better than staring at the beans and guessing).</i>”</div><div style="text-align: right;">– Kenneth Davids [6]</div></div><div style="text-align: right;"><br /></div><div>To understand how to best interpret and improve on the variations of the measurement results we get on taking several readings we have to distinguish between precision and accuracy.</div><div><ul style="text-align: left;"><li>Precision: <i>How close are the measurements of the same coffee to each other?</i></li><li>Accuracy: <i>How close are the measurements to the true or accepted value?</i></li></ul></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDKRTgPpT7kv0QGt9nDomqJqpCAFTXw_QBqPmX0fkl4Yi4edol3cNDdnajvCODzJvDgNlrVeI3RPq2r_Hv3osVivCZAknbB1KjIL9DwgiWEgpKPEkjVigNs_SZobj8XJyJILNztsbyBxKRUdei__zm2q7sPVz48UbtB6-kjyo-LRgZHXmrdVNXfHq1/s1206/accurate-precise.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1202" data-original-width="1206" height="399" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDKRTgPpT7kv0QGt9nDomqJqpCAFTXw_QBqPmX0fkl4Yi4edol3cNDdnajvCODzJvDgNlrVeI3RPq2r_Hv3osVivCZAknbB1KjIL9DwgiWEgpKPEkjVigNs_SZobj8XJyJILNztsbyBxKRUdei__zm2q7sPVz48UbtB6-kjyo-LRgZHXmrdVNXfHq1/s1206/accurate-precise.png?imgmax=1600" width="400" /></a></div><div><br /></div><div><br /></div><div><br /></div><div>Accuracy is difficult to define in our context as it is not obvious what the accepted value should be. The popularity of the Agtron scale in coffee suggest to take Agtron readings as accepted values. Considering the discussion in the previous section one should measure those accepted readings with a Agtron device equipped with that specific Agtron sensor technology. Note that even picking an Agtron device can be problematic due to inter-instrument variance within and across one series. For example, the M-BASIC II comes with "<i>improved linearity</i>" and uses a different (now solid-state based) NIR illumination which reduces the warm-up period from 24h to just 30 minutes compared to the original M-BASIC. At least <i>“</i><i>one of the design priorities of the M-BASIC II was to improve the analyzer to analyzer agreement within the M-BASIC II family and over indefinite periods</i><i>” </i>[7]. So not all Agtron devices are equally good references for the Agtron scale?</div><div><br /></div><div>Let's turn first to the aspect of precision, which seems to be simpler to grasp. Precision is influenced by signal noise of the device itself as well as the consistency of the sample.</div><div><br /></div><h4 style="text-align: left;">2.1 Device Precision</h4><div><br /></div><div>Most devices on the market today use silicon-based sensors which are known to be affected by operating temperature. To compensate for room temperature fluctuations most devices allow users to conduct a one or two point device calibration.</div><div><br /></div><div>As with any digital sensor application, the measuring results suffer form noise. Sensor noise as well as digital noise stemming from quantification effects. The average sample <a href="https://en.wikipedia.org/wiki/Standard_deviation" target="_blank">standard deviation (STDEV)</a> from taking 832 readings with 4 Toninos and 208 readings with one Lighttells CM100+ from 13 sample coffees with 4 replicates each, calculated to 0,22 Tonino points (about 0,18 Agtron points) for the Tonino and 0,1 Agtron points for the Lighttells. The STDEV was calculated separately for measurements of the same sample from the same replicate (per sample preparation) and then averaged. While the Lighttells observed the exact sample surface on all measurements, the Tonino was repositioned on the same sample observing a slightly different surface on each measurement. Without repositioning of the Tonino its average STDEV calculated well below 0,1 point on the Tonino scale, and thus well below 0,1 on the Agtron scale. This can easily be duplicated by putting a Tonino on a sample and using the <a href="https://github.com/myTonino/Tonino-App/blob/master/README.md" target="_blank">open-source Tonino app</a> to measure a number of readings. The app computes the sample STDEV of all selected readings (in the screen shot below the STDEV of 12 readings is just 0,02).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSb2V9sMiHXQ59Kmz29-kndD2ObjfjYBUUMvWcnO0bcz86UvDzurFhZGJNpVV3RlSxKH1jk77dXUGT6FsiMZ62De1VO9R8XR7AJEaiPWpZKSbuGnbN2vqPE1R6Gl3NdpssdojTRqyjht98jcuI886xmMgYakWqkT6L4ztffXuDOd0jjIuQQUfrYRg/s2174/Screenshot%202023-02-14%20at%2010.10.52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1394" data-original-width="2174" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSb2V9sMiHXQ59Kmz29-kndD2ObjfjYBUUMvWcnO0bcz86UvDzurFhZGJNpVV3RlSxKH1jk77dXUGT6FsiMZ62De1VO9R8XR7AJEaiPWpZKSbuGnbN2vqPE1R6Gl3NdpssdojTRqyjht98jcuI886xmMgYakWqkT6L4ztffXuDOd0jjIuQQUfrYRg/s2174/Screenshot%202023-02-14%20at%2010.10.52.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>We conclude that the device precision of those two properly calibrated color meter is extremely high and the remaining measuring noise is negligible. We assume this holds for other meters as well. There must be other explanations for the observed fluctuations in the measuring results of color meters.</div><div><br /></div><h4 style="text-align: left;">2.2 Sample Preparation</h4><div><br /></div><div>To obtain precise color analysis results, correct sample preparation is extremely important [3]. The intensity of the reflection from a sample follows the <a href="https://en.wikipedia.org/wiki/Inverse-square_law" target="_blank">law of the inverse-square law of light</a> which states that the intensity of non-parallel light is inversely proportional to the square of the distance from the light source as it spreads out. Note that this effect is smaller for the parallelized light of a laser beam. Thus the light energy reflected directly from the sample surface has the greatest influence on the measuring result. The indirectly reflected light, which travels longer distances, has only minor contributions. As color meters essentially measure the energy of reflected light, their design typically ensures that the distance between the sensor and the samples surface is kept constant.</div><div><br /></div><p style="text-align: left;"><b>Particle Size</b></p><div>The amount of light reflected from a perfectly flat surface is significantly greater than that of a rough one. Therefore the readings a color meter delivers with fine grounds are higher than on coarser grounds of the same coffee. In [8] it is reported that <i>“[a] sample prepared at 200µm can deviate 10 units (about 25%) from the sample prepared at 1200µm”</i> without specifying the scale of the unit nor the reference for the percentage. We measured the readings of a relatively dark roasted coffee that was sieved to different particle sizes measured using a <a href="https://www.lighttells.com/CM100plus.html" target="_blank">Lighttells CM100+</a> reporting in Agtron as follows. Comparable results were obtained using a <a href="https://my-tonino.com/" target="_blank">Tonino</a>.</div><div><br /></div><div><ul style="text-align: left;"><li>63,2 @ 1100 – 1400µm</li><li>65,0 @ 800 – 1100µm</li><li>67,9 @ 500 – 800µm</li><li>85,2 @ <500µm</li></ul></div><div><br /></div><div>The color difference can be seen with the naked eye (coarsest particles in the upper left corner, finest particles in the lower right corner) and is related to the increase in the direct reflecting surface area of finer grinds.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjivp2Tm41YS0hA1lkQkkY5dkYdnKm4zI_nXk23A9kAJpPffIQZW9ZZ0x6TGRUr0DVKI4cof8GmCiQtRHDS-A_3Dm1TSVqeTne_oK9_6mGoR5iEKpBvisb16rMHVAjGqDd_6nNyLxoapmltcK8WKiQ1V0pH47bsVnN3BsyVfOFAyZkaBiZreUnSOsP7/s1000/GrindSizeSamples.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="814" data-original-width="1000" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjivp2Tm41YS0hA1lkQkkY5dkYdnKm4zI_nXk23A9kAJpPffIQZW9ZZ0x6TGRUr0DVKI4cof8GmCiQtRHDS-A_3Dm1TSVqeTne_oK9_6mGoR5iEKpBvisb16rMHVAjGqDd_6nNyLxoapmltcK8WKiQ1V0pH47bsVnN3BsyVfOFAyZkaBiZreUnSOsP7/s1000/GrindSizeSamples.png?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>These results suggest that one should keep the grind size constant to get comparable color readings. Unfortunately, this does not completely solve the problem, as the particle size distribution produced by a grinder changes with the roast degree [9] as shown by the graphic below (reproduced with the author's permission).</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvmOXK4ZjtMFJ_pko7Hdd22_gtLxTVHCPszUiB97UcKGezal9Bo3s536ztmZzFI444O23PGqwadVMHqoRihgx8sJY3gXlNqbLI1UL-ykTLwznoOxXBT1vza77fh6DK5KhdKON7ozCsvDflqtPKfB0kslbXSUsOMgD5tzzhzBLKGLp8tI2359X3nxDW/s8429/ChrisChart.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="6541" data-original-width="8429" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvmOXK4ZjtMFJ_pko7Hdd22_gtLxTVHCPszUiB97UcKGezal9Bo3s536ztmZzFI444O23PGqwadVMHqoRihgx8sJY3gXlNqbLI1UL-ykTLwznoOxXBT1vza77fh6DK5KhdKON7ozCsvDflqtPKfB0kslbXSUsOMgD5tzzhzBLKGLp8tI2359X3nxDW/s8429/ChrisChart.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>This suggests that samples should be sieved prior to taking color readings. Not only does sieving increase comparability between readings, but a narrow particle size range also increases the precision and repeatability of the measurements due to the increased sample homogeneity. Note that preparing samples with finer particles offer a larger reflecting surface per area. Using smaller particles make it more difficult to prepare an even sample surface by leveling. Tamping, however, increases the surface per area further and is always possible.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvINpB8qRFkdLKaMAznkBDWaLLq5q-D6H50SpPGn1ynaeDAb_cqbGr5UfaDQ1n7MPTahOoF0OrZMIFwvbDres2uHRH_beiuQQSykO2dh-VvqU8zTv2ZW-vkpmFWwqXCk0TSanGqR34-kG-C1qRv0OXqmWqcQCBM0SF1-PpZ4wAzVbLG0-brcrgH2J9/s1633/graphics.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="710" data-original-width="1633" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvINpB8qRFkdLKaMAznkBDWaLLq5q-D6H50SpPGn1ynaeDAb_cqbGr5UfaDQ1n7MPTahOoF0OrZMIFwvbDres2uHRH_beiuQQSykO2dh-VvqU8zTv2ZW-vkpmFWwqXCk0TSanGqR34-kG-C1qRv0OXqmWqcQCBM0SF1-PpZ4wAzVbLG0-brcrgH2J9/s1633/graphics.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>In preparing 6 replicants for each of two coffees ground to a particle distribution peak within 800-1100µm we measured variations with an average STDEV of 0,88 Agtron using the Lighttells CM100+. Note that this number includes the 0.1 Agtron average STDEV variation added by the device sensor noise as noted above. Sieving to 800-1100µm halved the average STDEV between readings of those replicates to just 0,45 Agtron.</div><div><br /></div><div>An additional positive side effect of sieving, especially to smaller particle sizes, is that this method leaves less chaff in the sample, which can easily falsify color readings.</div><div><br /></div><div>Note that the uneven surface of whole beans makes whole bean colors measured by most color meters questionable. The only exception seems to be the ColorTrack device which is claimed to be less affected by particle size. This is most likely because the tiny illuminated surface area per reading, not optically averaging the reflection answer from a larger area, but instead creating histograms of the resulting measurements.</div><div><br /></div><div><b><br /></b></div><div><b>Decomposition</b></div><div><b><br /></b></div><div>Once coffee gets out of the roasting machine and cools, it begins to decompose. As it decomposes, roasted coffee darkens. According to the Agtron M-Basic II manual [7] <i>“decomposition can lower a samples color measurement result by up to 3 points on the Agtron scale in 24 hours”.</i></div><div><i><br /></i></div><div>We compared the influence of roast degree differences to the rate of decomposition and found that darker roasts darken faster than lighter roasts. The samples of ground coffee were sieved to 300-500μm and tamped into espresso baskets. We prepared samples right after the beans were cooled after roasting. We kept measuring the same samples using the <a href="https://my-tonino.com/" target="_blank">Tonino</a> (reporting in Agtron) over several days to quantify this effect.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0qg9_NB-Oi_Q6zMibdLT1cHWHLjUDDlzeS8q9mmHkpksitwjTHiKSpSRzRwIfYvLp8P1FmYr-Nyhec-GqxFRsF03GLwwH34nDj_PwanPpCrxY5lNrDp1i8_XkBJ8u6TrC5DtBN2swgSAvptcltbOS-eNrW5NABU_04yepDwexBsriw7fX1vPKd7zY/s935/decomposition.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="700" data-original-width="935" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0qg9_NB-Oi_Q6zMibdLT1cHWHLjUDDlzeS8q9mmHkpksitwjTHiKSpSRzRwIfYvLp8P1FmYr-Nyhec-GqxFRsF03GLwwH34nDj_PwanPpCrxY5lNrDp1i8_XkBJ8u6TrC5DtBN2swgSAvptcltbOS-eNrW5NABU_04yepDwexBsriw7fX1vPKd7zY/s935/decomposition.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>Likewise, finer grinds darken faster than coarser grinds. We assume, but did not verify, that the rate of decomposition varies with difficult-to-control environmental factors such as the amount of oxygen available, temperature, humidity. </div><div><br /></div><div>We recommend preparing the samples by grinding, sieving and leveling/tamping immediately after the roast cooled to room temperature so that color readings are always taking from the roast at the same time and temperature to make them comparable.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">2.3 Device Accuracy</h4><div><br /></div><div>As with all laboratory methods, instrument calibration affects instrument accuracy. Results from silicon-based sensor elements are influenced by fluctuations in room temperature and the performance of lighting sources can change with aging. Most instruments come with a calibration pad or two that allow the user to recalibrate the instrument to compensate for these effects.</div><div><br /></div><div>Even perfectly user-calibrated devices of the same type can suffer from differences between devices caused by variations in components, design changes, and general design limitations. This has been reported even for very expensive devices and can add an offset of one to two points on the Agtron scale between devices.</div><div><br /></div><div>Finally, the accuracy of different device models, possibly from different vendors, is relative to a "standard" scale like Agtron, which is limited by the quality of the underlying mapping between internal readings and the corresponding values on the approximated scale.</div><div><br /></div><p style="text-align: left;"><b>Comparing Color Meters</b></p><div>An interesting study was conducted by <a href="https://www.dvccoffee.com/" target="_blank">daVinci Coffee</a> (Taiwan) and published in 2018 by <a href="https://c3.coffee/" target="_blank">C³ Coffee Magazine</a> comparing the accuracy of 3 popular roast color meters (<a href="https://www.syncfo.com/" target="_blank">Syncfo UCA-01</a>, <a href="https://www.lighttells.com/CM100.html" target="_blank">Lighttells CM100</a>, <a href="https://www.roastrite.com/roast-degree-analyzer-ra710bf.html" target="_blank">RoastRite RA-710BF</a>) to an <a href="https://www.agtroninc.com/" target="_blank">Agtron M-BASIC II</a> [10]. The setup also included a <a href="https://www.color-track.com/" target="_blank">ColorTrack Benchtop</a>, but its results were not reporting in Agtron and are therefore difficult to compare.</div><div><br /></div><div>Three people operated the devices according to the corresponding devices protocol. Each subject measured the whole beans and ground color of five coffees roasted to different degrees using each instrument. It is not documented if the reported readings are the result of averaging measurements of several replicates or just from one measurement. There are in total 15 whole and 15 ground color readings for each device. Note that the grounds where not sieved, but the grind setting was kept constant. The particle distribution was not measured, but can be assumed to be relatively wide and most likely not constant for the five very different roast levels.</div><div><br /></div><div>To estimate the precision of the participating devices we averaged the STDEVs of all measurements taken per device on ground as well as whole beans, also reporting the results for the RoastRite but not counting them in the average. The RoastRite results are given without decimals and thus its readings are not as precise as the ones of the other devices which turns the comparison unfair.</div><div><br /></div><div>As expected, the variation was, on average, about twice as high for whole beans as for ground beans and about the same across devices for ground beans. The larger differences between the results across instruments for whole beans are most likely due to the relatively small sample.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVs8zU2lzlYQu-HCOas4U-g8lvKx3eT_-dO_BfHQt1qlsm7VYuC1NoKyBEIM2hBsaZ8sNKX6Vd4T-AJXwvA8ykAlldYmPc5EtWmumZQOKHcuw8cg_Bj1SzRKLWnbIxsogXxm_gb-FSQ7GpkXYgrVottrcdXvr8smV92Vlwm-wgGmoY-ssJOMYx9Amf/s1329/c3-updated-precision-table-framed.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="210" data-original-width="1329" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVs8zU2lzlYQu-HCOas4U-g8lvKx3eT_-dO_BfHQt1qlsm7VYuC1NoKyBEIM2hBsaZ8sNKX6Vd4T-AJXwvA8ykAlldYmPc5EtWmumZQOKHcuw8cg_Bj1SzRKLWnbIxsogXxm_gb-FSQ7GpkXYgrVottrcdXvr8smV92Vlwm-wgGmoY-ssJOMYx9Amf/s1329/c3-updated-precision-table-framed.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>The data set shows that the differences on measuring ground bean color with respect to the readings of the original Agtron M-Basic II can be more than 2 points.</div><div><br /></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjwLtQrNxCyql94AaA_lQgc7nRxKlQLcuYKZ34QLLbvCLSXAqIXtCPa-ak3_4xUYArw2YhlCn1EQpQ02oZYy58JRaq4MSXSR2GSaQMymI4hARzXQOERrtQGwvFWl_FlRBewiP1Rw_GiQJXuMVdZjSDmJljxgQNodNGVefBr-ikskwb9fSlKvIbc5Ro/s893/c3-updated-accuracy-graph-framed.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="483" data-original-width="893" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjwLtQrNxCyql94AaA_lQgc7nRxKlQLcuYKZ34QLLbvCLSXAqIXtCPa-ak3_4xUYArw2YhlCn1EQpQ02oZYy58JRaq4MSXSR2GSaQMymI4hARzXQOERrtQGwvFWl_FlRBewiP1Rw_GiQJXuMVdZjSDmJljxgQNodNGVefBr-ikskwb9fSlKvIbc5Ro/s893/c3-updated-accuracy-graph-framed.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: arial;"><b>Accuracy – ground beans</b></span></td></tr></tbody></table><br />On average, the deviation for ground beans calculates to only 1,1 point. Measuring the color of whole beans resulted in a deviation about twice as large.<div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS6nNK6epVXzgvxxZQaXODBLj6dpz69tq0uvVGx9QIQ6-ogHIK5afdn4CdwtiLAzwyBihVgzWp8QKRaXDBTLPLv6wlyNRbaNJjQCpUonczweTH5_2nznu1jU2MOUtIKOaz9b9uM7ZrIl59Np2dJCDT8N4DkbUD9f3x3PN6QmrwqtDH2HCprcbgfwih/s1329/c3-updated-accuracy-table-framed.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="210" data-original-width="1329" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS6nNK6epVXzgvxxZQaXODBLj6dpz69tq0uvVGx9QIQ6-ogHIK5afdn4CdwtiLAzwyBihVgzWp8QKRaXDBTLPLv6wlyNRbaNJjQCpUonczweTH5_2nznu1jU2MOUtIKOaz9b9uM7ZrIl59Np2dJCDT8N4DkbUD9f3x3PN6QmrwqtDH2HCprcbgfwih/s1329/c3-updated-accuracy-table-framed.png?imgmax=1600" width="640" /></a></div><div><br /></div>Note that these deviations from the Agtron reference readings include the variations caused by instrument noise as well as the variations caused by sampling. The remainder of the deviation is most likely caused by differences in the measured wavelength range or other constructive differences between the devices like the applied mapping from internal to Agtron readings.</div><div><div><br /></div><div><br /></div><p style="text-align: left;"><b>2.3 Building an Agtron Scale for Tonino</b></p><div style="text-align: left;"><br /></div><div style="text-align: left;">One criticism sometimes leveled at our <a href="https://my-tonino.com/" target="_blank">Tonino roast color meter</a> is that it doesn't report Agtron readings. We usually refer to our <a href="https://github.com/myTonino/Tonino-App/blob/master/README.md" target="_blank">open source Tonino app</a> which makes it easy to construct and establish a mapping into any value range including Agtron. This only requires a certain number of readings with known Agtron target values.</div><div style="text-align: left;"><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4FnB6vCe_Wfk2M9HFItNL_Y37VicMmP2xCtscL0mAww6A9fkDwCP7yRwmeXwRT1fhr3D9wIwY-tCEoeluHuduV1IWULttkeNHAGQWZXgA0gg_pu39tcvlSUI-VrkWK4BNV_8VB1Kfg9-ihGEwL2EpCvvrb-M_knoV45370ll1Tk82lqBkEJmlzMaW/s1708/Screen%20Recording%202023-03-01%20at%2016.21.16%20trimmed.mov.gif" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="994" data-original-width="1708" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4FnB6vCe_Wfk2M9HFItNL_Y37VicMmP2xCtscL0mAww6A9fkDwCP7yRwmeXwRT1fhr3D9wIwY-tCEoeluHuduV1IWULttkeNHAGQWZXgA0gg_pu39tcvlSUI-VrkWK4BNV_8VB1Kfg9-ihGEwL2EpCvvrb-M_knoV45370ll1Tk82lqBkEJmlzMaW/s1708/Screen%20Recording%202023-03-01%20at%2016.21.16%20trimmed.mov.gif?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Open-source Tonino app constructing a mapping</td></tr></tbody></table><br /><div style="text-align: left;"><br /></div><div style="text-align: left;">Motivated by the report by Rob Hoss [5], we decided to develop a sample Agtron scale for the Tonino, although we were aware of the known accuracy issues even between Agtron devices. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">For lack of access to an Agtron reader we used a Lighttells CM100+ to provide the Agtron reference values. We ensured that the Tonino measurements and the CM100+ measurements were performed with the utmost precision using the learnings discussed above. In conducting this experiment, we took the opportunity to calculate performance indicators of both devices as reported below.</div><div style="text-align: left;"><br /></div><p style="text-align: left;"><b>Setup</b></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><div>We roasted 13 batches of different coffees to roast levels across the entire roast spectrum. We ground approx. 150g from each batch. According to the device instructions, we sieved the part to be analyzed by the Tonino to the range of 300-500 µm and the other part to be analyzed by the Lighttells to 800-1100 µm corresponding roughly to the core range recommended for the Agtron M-Basic/II [7]. Note that Lighttells CM100+ manual does not propose a specific particle size distribution.</div><div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEini1CDtpzAVjKcVxAwZyNnFhM4Y1wg82eB_SC3BGeNIt5CYOpOvWiSAVUxfFWqJ83lIfCZSKm5nVH4b4sNbKfy-EC4jk_yk4p65lZ86KQBAKpGgColWu8z6jSawGDIASyVBJEh2VTES6CzUamPWgN_vNtE6APdJr7_dKHpbat9OhMjYxi3lZL7H9Ge/s1004/samples-framed3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="176" data-original-width="1004" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEini1CDtpzAVjKcVxAwZyNnFhM4Y1wg82eB_SC3BGeNIt5CYOpOvWiSAVUxfFWqJ83lIfCZSKm5nVH4b4sNbKfy-EC4jk_yk4p65lZ86KQBAKpGgColWu8z6jSawGDIASyVBJEh2VTES6CzUamPWgN_vNtE6APdJr7_dKHpbat9OhMjYxi3lZL7H9Ge/s1004/samples-framed3.png?imgmax=1600" width="640" /></a></div><div><br /></div><div>Note that the decomposition effects are not relevant to create the mapping. All instruments analyzed the samples in the same state of decomposition, i.e. at the same time after roasting and grinding.</div><div><br /></div><div>To also get data on the variations between the instruments of the same type, we carried out the experiment with 4 different Toninos. However, we only had one Lighttells CM100+ available, so we didn't get results on inter-instrument variation for this type of instrument. All devices were calibrated once according to the manufacturer's instructions prior to the experiment.</div></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><p style="text-align: left;"><b>Process</b></p><div style="text-align: left;"><br /></div><div style="text-align: left;"><div>From each ground and sifted coffee we leveled and tamped 14g into a standard espresso basket and took 4 measurements, repositioned, using each of the 4 Toninos on the same prepared sample. We repeated this process four times using the same sifted coffee, which allowed us to estimate the variations caused by the sample preparation itself. This way we got 4 replicates for each of the 4 Toninos with 4 measurements from each, resulting in a total of 64 readings per coffee. Note that the Tonino readings were taken using the Tonino app, which registers the readings to its full internal accuracy of 10 decimal places.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWhd4m1LzKwHrh_8C_A6lcJR2VlRo9m1LaKw-yS7AI4GaRMMpTfbpa2klrc7yLrDG5Z7uShUjsOmnUkZ3yMUycWWsD_CJy5Is9k53UYhmuKm5I6ejGx8CWY4r78x_eN8pNhQoh_M5jcixSmmmgXiUb67nWnMPkiPdkLxJ-rHBAMUPQY3A08F3Uafj/s815/SamplePrep.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="815" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglWhd4m1LzKwHrh_8C_A6lcJR2VlRo9m1LaKw-yS7AI4GaRMMpTfbpa2klrc7yLrDG5Z7uShUjsOmnUkZ3yMUycWWsD_CJy5Is9k53UYhmuKm5I6ejGx8CWY4r78x_eN8pNhQoh_M5jcixSmmmgXiUb67nWnMPkiPdkLxJ-rHBAMUPQY3A08F3Uafj/s815/SamplePrep.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>Similarly, we leveled about 30g of the ground and sifted coffee into the Lighttells sample container and took 4 measurements of each sample, rotating the device 90° after each measurement. Again, we repeated this process 4 times using the same grounds, resulting in 4 repetitions of 4 measurements each, resulting in a total of 16 readings per coffee.</div><div><br /></div><p style="text-align: left;"><b>Results</b></p><div><b><br /></b></div><div>Computing the mapping between the 13 averaged Tonino values and the corresponding 13 averaged Agtron reference values by linear regression resulted in a good quality mapping with <span style="font-family: courier;">R</span><sup style="font-family: courier;"><span style="font-size: xx-small;">2</span></sup> = 0,965.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKIX3MqTFAhk9DjDWAVGFLozkjhcC1YGW6eX6ZdnA9ECT-49cIbT7MD_uWGWJBvQPZTI9hlXp5eYLFw1VMhjO8DkGDBpY2anSe7OOQDLQQG4iGWa5RxnlRciKvVFI2h0c89vo9KVuO2R38hLF65cAX1qzKTuPvDzkYOnoNJmTiLek1fPhZQL2C2kGN/s2118/0.965%20linear.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1472" data-original-width="2118" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKIX3MqTFAhk9DjDWAVGFLozkjhcC1YGW6eX6ZdnA9ECT-49cIbT7MD_uWGWJBvQPZTI9hlXp5eYLFw1VMhjO8DkGDBpY2anSe7OOQDLQQG4iGWa5RxnlRciKvVFI2h0c89vo9KVuO2R38hLF65cAX1qzKTuPvDzkYOnoNJmTiLek1fPhZQL2C2kGN/s2118/0.965%20linear.png?imgmax=1600" width="640" /></a></div><br /><div>Examination of the deviations of the mapped readings from the reference values show that the relation for lighter roasts is quadratic rather than linear. A quadratic mapping reduces the total error considerably (<span style="font-family: courier;">R</span><sup style="font-family: courier;"><span style="font-size: xx-small;">2</span></sup> = 0,99).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHPqU6AfCDNo_TAoww0HBdPeHs8mS-WJ8tghghYmZzqccaBlHunOmqYh0mbsJ_86yMvL76Jy8fbGiyQDoizVmxDjFk9ghIOXvF-oIGmHlA5Su5is0VgzxFSIIwGpuo_yoAW4Hs17v866enkMxxZ2jWYOOqUxW1yWlxTe9H2K391HOxYtyggHAA3xqw/s2118/0.990%20quadratic.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1472" data-original-width="2118" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHPqU6AfCDNo_TAoww0HBdPeHs8mS-WJ8tghghYmZzqccaBlHunOmqYh0mbsJ_86yMvL76Jy8fbGiyQDoizVmxDjFk9ghIOXvF-oIGmHlA5Su5is0VgzxFSIIwGpuo_yoAW4Hs17v866enkMxxZ2jWYOOqUxW1yWlxTe9H2K391HOxYtyggHAA3xqw/s2118/0.990%20quadratic.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>A cubic mapping allows darker roast colors to be mapped almost linearly, while the mapping for lighter roasts remains square. This further minimizes the overall error and provides a near-optimal mapping (<span style="font-family: courier;">R</span><sup style="font-family: courier;"><span style="font-size: xx-small;">2</span></sup> = 0,999).</div><div><div><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTt3FMkU0Xm-KQl2e3inH5KTmAvvlqY8pSUeKI4YKdgMGXjwjg1Ko1wEDxVfY8xX-OJb3SR7-jXeMX6jG6IAM5d2F5y9v840mjnwdW__3QyJkp3ezAKukfewejbFHksz2sMF8cpCXbEE1yPokAj2B8ZelwUGXyLSw1-usQMYJ7hnqnEMGPa00zr1C2/s2118/0.999%20cubic.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1472" data-original-width="2118" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTt3FMkU0Xm-KQl2e3inH5KTmAvvlqY8pSUeKI4YKdgMGXjwjg1Ko1wEDxVfY8xX-OJb3SR7-jXeMX6jG6IAM5d2F5y9v840mjnwdW__3QyJkp3ezAKukfewejbFHksz2sMF8cpCXbEE1yPokAj2B8ZelwUGXyLSw1-usQMYJ7hnqnEMGPa00zr1C2/s2118/0.999%20cubic.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>This Agtron mapping for the <a href="https://my-tonino.com/" target="_blank">Tonino</a> is now distributed with the <a href="https://github.com/myTonino/Tonino-App/blob/master/README.md" target="_blank">Tonino app and included in the latest Tonino firmware</a>. Note that the accuracy achievable by applying this mapping depends on proper sample preparation, which has to include sifting to the corresponding tight ranges used on construction of this mapping, and does provide only "Lighttells CM100+"-Agtron readings.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ARG-S3yqhELAVqATiwa1S7GSn37JMlmpmGRFKZGNaopVWzh2hXkKUpAjG6sN9s9uRoCcOFjgqS4PLaj5dZqKlDkTJEJD7bl1yuNeBdKZxruQPchU04sCEedLUTzlEaSZ2xBMBlTwg6iveX5pWoCXckoM28ffgnEGkS6ZnTUvrfhs7tcWwuL6UjjU/s1058/results-framed2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="188" data-original-width="1058" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ARG-S3yqhELAVqATiwa1S7GSn37JMlmpmGRFKZGNaopVWzh2hXkKUpAjG6sN9s9uRoCcOFjgqS4PLaj5dZqKlDkTJEJD7bl1yuNeBdKZxruQPchU04sCEedLUTzlEaSZ2xBMBlTwg6iveX5pWoCXckoM28ffgnEGkS6ZnTUvrfhs7tcWwuL6UjjU/s1058/results-framed2.png?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div>The inter-device accuracy of the Tonino, taken as the average STDEV over the readings of the 4 units measuring the same replicates, calculated to 0,6 – 2,0 Agtron (dark roasts to light roasts). Note that the deviations measured were not constant and not even linear across the roast color range due to the cubic mapping applied. A comparison of 4 devices is certainly not enough to get stable results, but one can get a first impression of the magnitude to be expected. Inter-device variations can be greatly improved by applying device-specific device to device mappings. </div><div><br /></div></div>
<div class="colorbox blue">
<span face=""arial" , "helvetica" , sans-serif" style="font-size: x-large;">Why do different devices report different results on the same roast?</span>
<p><span face=""arial" , "helvetica" , sans-serif" style="font-size: medium;">In case devices report according to the same scale (e.g. Agtron) accuracy depends on proper device calibration and suffers from subtle differences of their components and the quality of mapping internal readings to values displayed to the user. </span></p>
<div><br /></div>
<span face=""arial" , "helvetica" , sans-serif" style="font-size: x-large;">Why does the same device report different numbers for the same roast?</span>
<p><span face=""arial" , "helvetica" , sans-serif" style="font-size: medium;">This is mainly caused by variations in the presented sample itself and dominated by effects of inhomogeneous matter with wide particle size distributions, changes by decomposition as well as inconsistent sample preparation in general. Additionally, coffee is a natural material which never roasts completely even to a homogeneous roast degree. Thus variations on reading multiple replicates is to be expected.</span></p>
</div>
<h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">3 Summary and Suggestions</h3><div><div style="text-align: right;">“<i>Reading the color of ground coffee is tricky.<br />Reading the color of whole beans is </i><span style="text-align: left;"><i>questionable!</i></span>”</div><div style="text-align: right;">– Marko Luther</div></div><div style="text-align: right;"><br /></div><div><br /></div><p style="text-align: left;"><b>What amount of variation is to be expected and what contributes most?</b></p><div><br /></div><div><b>a) Device Noise</b> (~0,1 Agtron STDEV)</div><div><br /></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><div>Device noise is negligible and does not influence device precision much. Source are:</div></div></blockquote><div><div><ul style="text-align: left;"><ul><li>type of sensor and illumination source</li><li>device geometry (distance subject-sensor, observed reflecting surface area, ...)</li><li>electronic design (analog-digital converter resolution, ..)</li><li>electric power source and stabilization</li></ul></ul><div><br /></div><div><b>b) Inter-Device Accuracy, same device model</b> (<2 Agtron STDEV for the Tonino)</div><div><br /></div></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><div><div>Inter-device accuracy is only relevant on comparing readings across device. Sources are:</div></div></div></blockquote><div><div><div style="text-align: left;"><ul style="text-align: left;"><ul><li>subtle differences of components (sensor, illumination, casing, ...)</li><li>device calibration</li></ul></ul></div><div><br /></div><div><b>c) Inter-Device Accuracy, different device models or manufacturers</b> (>2 Agtron STDEV or more)</div></div><div><br /></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><div>Accuracy between devices of different models is in general worse than between devices of the same model type and again is only relevant when readings of the exact same samples are compared. Sources are:</div></div></blockquote><div><div style="text-align: left;"><ul style="text-align: left;"><ul><li>accuracy and quality of color scale mapping</li><li>constructional differences (illumination wavelength range, observed wavelength spectrum, device geometry, ...)</li></ul></ul></div><div><br /></div><div><b>d) Sample Preparation</b> (0,5 to 1,0 Agtron STDEV with careful and consistent preparation and >2,0 Agtron STDEV otherwise)</div><div><br /></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><div>Sample preparation has a major impact on the precision of roast color readings. Sources are:</div></div></blockquote><div><div style="text-align: left;"><ul style="text-align: left;"><ul><li>time after roasting and grinding (decomposition changes roast color significantly!)</li><li>environmental conditions</li><li>grind size and particle distribution</li><li>roast degree</li><li>surface preparation</li><li>sample contamination (chaff, ...)</li><li>homogeneity of the raw coffee and the roast</li></ul></ul></div><div><br /></div><div><br /></div>
<div class="colorbox blue">
<span face=""arial" , "helvetica" , sans-serif" style="font-size: x-large;">How to get best results?</span>
<p></p><ul style="text-align: left;"><li>take the readings within the first hour out of the roast after cooling the beans to room temperature</li><li>sift the ground beans to limit their particle size distribution</li><ul><li>300–500µm for the Tonino</li><li>800–110µm for the Lighttells, RoastVision, Agtron, ...</li></ul><li>prepare samples always strictly the same way following the recommendations of the device manufacturer</li><li>take the average/median of readings from 3-5 samples or apply a more formal <a href="https://coffee-mind.com/variation-analysis-of-roast-colour-measurement/" target="_blank">Variation Analysis</a> to achieve sufficiently narrow confidence intervals</li></ul><p></p>
</div>
<div><br /></div><div><br /></div><div>Don't get unsettled if you get slightly different readings from your meter for the same roast and prepare your samples well.</div><div><br /></div><div>Note that this post has not received formal scientific review and therefore what is reported here should be considered observation and opinion. </div><div><br /></div><div>Marko</div><div><br /></div><div>DISCLOSURE: <i>Marko Luther, the author of this post, is the co-developer and manufacturer of the Tonino color meter.</i></div><div><br /></div><div><br /></div><h3 style="text-align: left;">References</h3><div><br /></div><div>[1] <a href="https://doi.org/10.3390/beverages6020029" rel="nofollow" target="_blank">Münchow M, Alstrup J, Steen I, Giacalone D:<i> Roasting conditions and coffee flavor: a multi-study empirical investigation</i>. Beverages 6:1–14 (2020)</a></div><div>[2] <a href="https://ams.com/documents/20143/36005/LightSensors_AN000519_1-00.pdf" target="_blank">Bishop T. and Lee, G.: TAOS Colormetry Tutorial. White Paper TAOS, 20 (2006)</a></div><div>[3] Songer P.: <i>The Color of Coffee</i>. <a href="https://www.roastmagazine.com/" target="_blank">Roast Magazine</a>, Jan/Feb (2015)</div><div>[4] <a href="https://www.hunterlab.com/" target="_blank">HunterLab</a> White Paper: <i><a href="https://support.hunterlab.com/hc/en-us/article_attachments/201415895/Coffee_White_Paper-final_1_14.pdf" target="_blank">Color Measurement of Roasted Coffee Using HunterLab Spectrophotometers</a></i>. <a href="https://www.newfoodmagazine.com/" target="_blank">NewFood Magazine</a>, June (2015)</div><div>[5] Hoos, R.: <a href="https://hoos.coffee/blog/a-tale-of-two-color-meters" style="font-style: italic;" target="_blank">A tale of two color meters...</a>, January (2021)</div>[6] Davids K.: <i>Saying Coffee - the naming revolution</i>. <a href="https://www.roastmagazine.com/" target="_blank">Roast Magazine</a>, Nov/Dec (2010)<div>[7] <a href="https://www.agtroninc.com/" target="_blank">AGTRON Inc.</a>: <i>AGTRON M-BASIC/II Coffee roast analyzer operation manual</i> (2020)</div><div>[8] Hallien, C.: <i>Demystifying Roast Analysis - Colorimeters Versus Spectrometers. </i><a href="https://www.roastmagazine.com/" target="_blank">Roast Magazine</a>, Mar/Apr (2019)</div><div>[9] Kornman, C. and Becker, E.: <i>Grinder Alignment: An Exploration of Consistency, Cupping Settings, and the Impact of Roast Degree. </i><a href="https://www.roastmagazine.com/" target="_blank">Roast Magazine</a>, Jun/Jul (2021)</div><div>[10] daVinci Coffee: <i>Comparing brands of Roast Analyzer</i>. <a href="https://c3.coffee" target="_blank">C<span style="font-size: medium;">³</span> Coffee Magazine</a>, Vol. 11, pp. 102 (2018)</div><p></p></div><br />Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-44226964519572300942022-12-22T01:59:00.000-08:002022-12-22T01:59:11.776-08:00Artisan v2.8.2<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2022/12/artisan-v282.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="437" data-original-width="749" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlh56R0y8_Q0XOAUMUSFmL32SRBDVHkh7wrwMuazk9T--MKJv8k0n1240P3FLCAssmJHW8Ho4a4V5U3SwM53ACK5BnKJ-jEQ9NZlDCUW3H1pFyNvQhdmWAot9L3l5RU2IGYflpbRapAlAJ9OmT4odnPB3ittLwQACO3f9OpM8RekBYTFsKRBqqixuu/s749/blog.jpg?imgmax=1600" width="640" /></a></div><br /><p>This is a maintenance release which fixes some regressions discovered in v2.8.0 and gives the Designer some love.</p><p><span></span></p><a name='more'></a><p></p>
<h3>THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognising the value of Artisan for their customers, work or leisure. Consider supporting this project with your donation, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>We kept <a href="https://cmsale.com/" target="_blank">Coffee Machines Sale</a> from Poland as release sponsor for this release.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://cmsale.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguzJleRQZIXos_UsC5sxhEkjMwwVDPr365-47T9MBS0cOdtr99lT3YAl8_dEnX31UhuugWaKHiiIkoa3HPmJjZlTtn3L69tgXLU_wfSpmuOaRzyhus_hSC7VOEfnAM5SIxLDKPIn6QPXqbLWISBvlld8I4VxG2v9v57890xir5O03IfdUw7Jvr_SiR/s759/cms-logo.jpg?imgmax=1600" width="320" /></a></div><br /></div><div>We welcome <a href="https://www.sivetz.com/" target="_blank">Sivetz Roasting Machines</a> as new machine sponsor.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.sivetz.com/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="500" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnAkBDwLqV1v4bUlIC_3Xeoxv7Ha4lJtO4_MzDeMzhOn8FtZiCnAykcOXq3Kqz9s5ox8fxFsNUhUecwwXQEluMzBPMT-8GZ_esiCrl0XaWNrdE_Z0Bw-NJ886cbrAxuU4KU_aROmAaOuE-SUC_NhcBobrZOUYnhwAY2G5bIinhDhy38-8z9R8oE8Ag/s500/sievtz-logo.png?imgmax=1600" width="320" /></a></div><br /><div><br /></div><div>As for many releases before, we received support from <a href="http://www.buckeyecoffee.com/" target="_blank">Buckeye Coffee Roasters (USA)</a>. A big thank you from the Artisan community for your ongoing support. Compliment!</div><div><br /></div><blockquote style="border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><div><i>In return we offer every customer that purchases a machine from Randy a free 1-year artisan.plus PRO subscription! This offer is valid while Artisan v2.8.2 is the current release.</i></div></blockquote><p style="text-align: center;"><a href="http://www.buckeyecoffee.com/" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1340" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73JZ5_yPXKVNrlkhsL8OLVW2Z68mQw4P1yx8Rk1o-KJcmJV0cN1aD5fmo9eSdkbv8mFMSTvmsJvHTzBKIjgDRx0_uR-wXwFe9SJlYQokuzHnp1vxtPtb70HTwpGciyHtB1K0C1AZdPw4/w400-h149/bc-logo-wide.png?imgmax=1600" width="350" /></a></p><p><br /></p><p>Again the majority of the costs have been on the shoulders of Marko & Paul who created the artisan.plus service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p>The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover about 5% of the development costs: <i>James Horne, </i><i>Glenn Tinseth, </i><i>Michael Atkins, </i><i>Jeeraphan Kanchanaveera, </i><i>Joseph (<a href="https://dleoncoffee.com/" target="_blank">D'Leon Coffee Roasters</a>), </i><i>Ray Dalton, </i><i>Brian Travis, </i><i>Justin Fernandez, </i><i>Darren (<a href="https://www.darkstarcoffeeroasters.com/" target="_blank">Dark Star Coffee Roasters</a>), </i><i>Altos de Quitupamba, </i><i>Eugene Nightingale, </i><i>Michael Stoeger, </i><i>Dierk Schlütter, </i><i>Richard Krouse, </i><i>Brendan Hammond, </i><i>Sargent Caldwell, Tina and Jerry (<a href="https://utahcoffeeexpressions.com/" target="_blank">Utah Coffee Expressions</a>), Rex McRee and </i><i>Richard (<a href="https://www.freespacecoffee.com/" target="_blank">Free Space Coffee</a>).</i></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: <i>Frans Goddijn, William Johnson, </i><i>Marcel Speek, </i><i>Tom Chips, </i><i>Dan Coplan, </i><i>Graham Kennedy, </i><i>Flint W Orr, </i><i>Thomas Husband, Patrizio (<a href="https://balloon.coffee/" target="_blank">Balloon Coffee Roasters GmbH</a>), Rosewood Fun, </i><i>Marsal Bruna, Barry Rodstein, Margaret Gillespie, Adam Glass, and </i><i>Kent Simmons.</i></p><p>Now get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Download now</a>!</p><p dir="auto">PLEASE FOLLOW AND TAG US!<br /> <a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://masto.ai/@artisan" target="_blank"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/mastodon-icon-svgrepo-com.svg?raw=true" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p><p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><div><br /></div><hr /><div><br /></div><h3>What's New?</h3><div><br /></div><div>We left Twitter and joined <a href="https://masto.ai/@artisan" target="_blank">mastodon</a>.</div><div><br /></div><div>The regression that prevented proper saving of PDFs in Windows and the control on Probat Series II machines is fixed. Support was added for</div><div><ul style="text-align: left;"><li><a href="https://artisan-scope.org/machines/sivetz/" target="_blank">Sivetz RM Series</a> fluid bed roasting machines</li><li><a href="https://artisan-scope.org/machines/santoker/" target="_blank">Santoker Q Series and R Series</a></li><li><a href="https://artisan-scope.org/devices/yoctopuce/#Yocto-Watt" target="_blank">Yocto Watt energy meter module</a></li></ul></div><div><br /></div><div>All other additions, changes and fixes are documented in the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" target="_blank">Detail Release History</a>.</div><div><br /></div><div>Check out what <a href="https://www.youtube.com/@JDawg19731973" target="_blank">Jason Scott</a> from <a href="https://www.hermetheus.com/" target="_blank">Hermetheus Coffee</a> identified as his top-three new features in this version of Artisan. Perhaps it can inspire you to dig in and find some favorite features of your own!</div><div><br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" frameborder="0" height="315" src="https://www.youtube.com/embed/M6TKcS6tXPY?feature=player_embedded" width="560"></iframe></div>
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-66024505106281187832022-10-21T08:15:00.003-07:002022-12-15T08:14:58.006-08:00Artisan v2.8.0<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2022/10/artisan-v280.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="351" data-original-width="759" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJeb5sNHB48IMc3naudEgfOh2-XTBIPPPDjFM_iHUaqQ_ysFuhOxsJ8mzM9_GJ0Nf7TgIBt7f8R3wju_og2hzdMRDIfTbjJbi2_jJ1fB5KXzhxXQqekNmpYk8h6VnANZPlFT6Gpms9iSG0Xbt7XAkd-zS9KMQrmEf8-UUX0-eBzMOFStzK9mmPOTOt/s759/pexels-ksenia-chernaya-5752269-small.png" width="640" /></a></div><br /><p>Time for an update! With added support for the between batch protocol and the addition of a phases widget to the Comparator this release focus on repeatability and consistency in roasting. It also comes with many smaller improvements and updated translations.</p><span><a name='more'></a></span><div><br /></div><h3>THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognising the value of Artisan for their customers, work or leisure. Consider supporting this project with your donation, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>With a closing thank you to <a href="https://showroomcoffee.com/" target="_blank">Showroom Coffee</a> for sponsoring the Artisan v2.6.0 release, we welcome <a href="https://cmsale.com/" target="_blank">Coffee Machines Sale</a> from Poland as sponsor for this release.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://cmsale.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguzJleRQZIXos_UsC5sxhEkjMwwVDPr365-47T9MBS0cOdtr99lT3YAl8_dEnX31UhuugWaKHiiIkoa3HPmJjZlTtn3L69tgXLU_wfSpmuOaRzyhus_hSC7VOEfnAM5SIxLDKPIn6QPXqbLWISBvlld8I4VxG2v9v57890xir5O03IfdUw7Jvr_SiR/s759/cms-logo.jpg?imgmax=1600" width="320" /></a></div><br /></div><br /><div>As before, we received the biggest support from <a href="http://www.buckeyecoffee.com/" target="_blank">Buckeye Coffee Roasters (USA)</a>. A big thank you from the Artisan community for your ongoing support. Compliment!</div><div><br /></div><blockquote style="border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><div><i>In return we offer every customer that purchases a machine from Randy a free 1-year artisan.plus PRO subscription! This offer is valid while Artisan v2.8.0 is the current release.</i></div></blockquote><p style="text-align: center;"><a href="http://www.buckeyecoffee.com/" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1340" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73JZ5_yPXKVNrlkhsL8OLVW2Z68mQw4P1yx8Rk1o-KJcmJV0cN1aD5fmo9eSdkbv8mFMSTvmsJvHTzBKIjgDRx0_uR-wXwFe9SJlYQokuzHnp1vxtPtb70HTwpGciyHtB1K0C1AZdPw4/w400-h149/bc-logo-wide.png?imgmax=1600" width="350" /></a></p><p><br /></p><p>Besides Buckeye Coffee, no other machine manufacture did support this release. Again the majority of the costs have been on the shoulders of Marko & Paul who created the artisan.plus service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p>The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover about 8% of the development costs: <i>Marcelo Aleandre Gasparoto, Erik Jan Leo De Wilde, Doug Francisco, Loun (<a href="Marcelo Aleandre Gasparoto, Erik Jan Leo De Wilde, Doug Francisco, Loun (Covabrelli Coffee, http://www.covabrelli.com), Ricky Shafer, Michael Prem, Marc Gilbert, Marc (Alte Kellerei, https://www.alte-kellerei.com/), John Fifield, Frank Bland, Alessandro (Bar Nuovo, San Mauro Pascoli, http://www.barnuovo.com), Michael Mizuno, John Dodson, Gallus Coffees (https://www.galluscoffees.com/), Li Shi, Milorad Popadic, Ron (Contrabean, http://www.contrabean.ca), Jose Alberto De La Guardia Pardo, Marcus Hernandez, Chuck (Elevated Roast, http://www.elevatedroast.com), JungYoung Sam, Nico Damanik, Bean & Leaf, LLC (https://thebeanandtheleaf.com/), Robert Schmidt, George Evans, Boris Nurko, David Protter, Timm & Lori (Conversatio Coffee Roasters, https://conversatiocoffee.com), Kevin Wangsnes, Søren Søndergaard, Chuck McKay, John Fifield, Uwe Michael Flommersfeld, Randy (Craigmyle Truck and Trailer Sales, http://craigmyletrucks.com), James Hyland, Joshua McWilliam, Wuthipong Suponthana, Philipp Schönbächler, Kate Koles, Rafael Paolo Orozco Alvarado, Sunset Roasters (https://www.sunsetroasters.com/), Daniel Cote, Derek Gribble, Oliver Prosperi, Guas, (Orlando Coffee Roasters, http://www.orlandocoffeeroasters.com), Jennifer Jackson, Norman Kuckert, Wolfgang (Kaffeerösterei Strauss, http://www.strauss-kaffee.at), James Fraga, Earl Lempke, Mikhael Cabrera, Gary Lundy, Sebastian Baumgärtner, Lewis (Dutchmans Creek Enterprises, http://www.dutchmanscreekcastiron.com), Scott Girdamno, J. Miller, あきまん企画, Htin Aung, Anuchit Mahasaksawad, Clemens Birklbauer, Michael Cooke, Jason (Hermetheus Coffee, https://www.hermetheus.com/), Terry Hauser, 송민섭, Robert Shostak, Rich Inert, Mr. Rogers, Daniel Rooke, Philip (Just Roasted, http://justroasted.co.za/), Sebastian Blaha, Doug Champion, Winston Fontes, Humberto Remigio Gamba, Antonius Asbroek and Jane Lau." target="_blank">Covabrelli Coffee</a>), Ricky Shafer, Michael Prem, Marc Gilbert, Marc (<a href="https://www.alte-kellerei.com/" target="_blank">Alte Kellerei</a>), John Fifield, Frank Bland, Alessandro (<a href="http://www.barnuovo.com" target="_blank">Bar Nuovo, San Mauro Pascoli</a>), Michael Mizuno, John Dodson, <a href="https://www.galluscoffees.com/" target="_blank">Gallus Coffees</a>, Li Shi, Milorad Popadic, Ron (<a href="http://www.contrabean.ca" target="_blank">Contrabean</a>), Jose Alberto De La Guardia Pardo, Marcus Hernandez, Chuck (<a href="http://www.elevatedroast.com" target="_blank">Elevated Roast</a>), JungYoung Sam, Nico Damanik, <a href="https://thebeanandtheleaf.com/" target="_blank">Bean & Leaf, LLC</a>, Robert Schmidt, George Evans, Boris Nurko, David Protter, Timm & Lori (<a href="https://conversatiocoffee.com" target="_blank">Conversatio Coffee Roasters</a>), Kevin Wangsnes, Søren Søndergaard, Chuck McKay, John Fifield, Uwe Michael Flommersfeld, Randy (<a href="http://craigmyletrucks.com" target="_blank">Craigmyle Truck and Trailer Sales</a>), James Hyland, Joshua McWilliam, Wuthipong Suponthana, Philipp Schönbächler, Kate Koles, Rafael Paolo Orozco Alvarado, <a href="https://www.sunsetroasters.com/" target="_blank">Sunset Roasters</a>, Daniel Cote, Derek Gribble, Oliver Prosperi, Guas, (<a href="http://www.orlandocoffeeroasters.com" target="_blank">Orlando Coffee Roasters</a>), Jennifer Jackson, Norman Kuckert, Wolfgang (<a href="http://www.strauss-kaffee.at" target="_blank">Kaffeerösterei Strauss</a>), James Fraga, Earl Lempke, Mikhael Cabrera, Gary Lundy, Sebastian Baumgärtner, Lewis (<a href="http://www.dutchmanscreekcastiron.com" target="_blank">Dutchmans Creek Enterprises</a>), Scott Girdamno, J. Miller, あきまん企画, Htin Aung, Anuchit Mahasaksawad, Clemens Birklbauer, Michael Cooke, Jason (<a href="https://www.hermetheus.com/" target="_blank">Hermetheus Coffee</a>), Terry Hauser, 송민섭, Robert Shostak, Rich Inert, Mr. Rogers, Daniel Rooke, Philip (<a href="http://justroasted.co.za/" target="_blank">Just Roasted</a>), Sebastian Blaha, Doug Champion, Winston Fontes, Humberto Remigio Gamba, Antonius Asbroek and Jane Lau.</i></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: Jaroslav (<a href="https://www.doubleshot.cz/" target="_blank">doubleshot</a>), <i>Frans Goddijn, Gary Seeman, Grant and Jody (<a href="http://www.speysidecoffee.co.uk" target="_blank">Speyside Coffee Roasting</a>), Marcel Speek, Flint W Orr, Manuel (<a href="http://www.caffeterzi.it)" target="_blank">Caffe Terzi</a>), Adam Glass, Steffen Müller, Jim (<a href="http://www.salvationcoffeecompany.com" target="_blank">Salvation Coffee Company</a>), Matthias Theobald, Gary Seeman, Dan (<a href="https://fatrabbitcoffee.com/" target="_blank">Fat Rabbit Coffee</a>), Thomas Husband, Robert Denson, Alan (<a href="http://skylandsroastery.com/" target="_blank">Skylands Roastery</a>), Arch Getty, Norman Hardy and David Austin.</i></p><p>Now get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Download now</a>!</p><p dir="auto">PLEASE FOLLOW AND TAG US!<br /> <a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://twitter.com/artisanscope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/twitter-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p><p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><div><br /></div><hr /><div><br /></div><h3>What's New?</h3><div><br /></div><div>As always many things have been improved and small features added like the Loring CSV importer or the additional machine support for some new models from Besca (BEE v2 and BSC full-automatic), San Franciscan, Titanium, and Coffee Machine Sale (this releases sponsor). Two major new features have been introduced. Auto Time Axis Modes and the Comparator Phases Widget. All other additions, changes and fixes are documented in the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" target="_blank">Detail Release History</a>.</div><div><br /></div><h4 style="text-align: left;">Auto Time Axis Modes</h4><div><br /></div><div>This version extends the automatic time axis mechanism by modes supporting the between batch protocol (BBP). This mechanism sets the time axis min/max limits such that the currently loaded roast profile is fully in range. Two new modes allow to automatically set those limits to include the BBP before the roast or just the BBP, respectively. The automatic time axis mode can be set in the Axis dialog (menu<span style="font-family: courier;"> Config >> Axis</span>) and quickly toggled by pressing the key G.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLRbd7RdDeqpGGF1Vor_jHNe64jqnYNhX4Jm9_T-r_Kk_vwjEeD6l2oBxqIpkuchgEbBMsWTB03CRxkWuWeIgCXYJehizBk7-MJJemR9mzVYnmpC4tA-KBJBlwly5gCV2Z23z8cw-MRxnoM1O6abXG4NmaK-mWz8NyRGSJGcpyVq2bXeawBHtK528e/s828/Screenshot%202022-10-21%20at%2016.26.41.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="432" data-original-width="828" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLRbd7RdDeqpGGF1Vor_jHNe64jqnYNhX4Jm9_T-r_Kk_vwjEeD6l2oBxqIpkuchgEbBMsWTB03CRxkWuWeIgCXYJehizBk7-MJJemR9mzVYnmpC4tA-KBJBlwly5gCV2Z23z8cw-MRxnoM1O6abXG4NmaK-mWz8NyRGSJGcpyVq2bXeawBHtK528e/s828/Screenshot%202022-10-21%20at%2016.26.41.png?imgmax=1600" width="400" /></a></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXa30hulGFiE_xwJtATRzZHYGhkW_3bypkYwUeeqsFfsGDlG4NvRoBijaPC0otsIXAN0w8B7fSgviao9dzc979pigbdlzPwqLjmGqyp63ZS_vbYrH6oQcg2z0ef9Ldf_mHpqJKCOA3ROIRP5lXJAY3xrREuX-1wo5U8SejugMUwDAMQHxb5agxcsex/s1792/auto-timeaxis-modes.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1186" data-original-width="1792" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXa30hulGFiE_xwJtATRzZHYGhkW_3bypkYwUeeqsFfsGDlG4NvRoBijaPC0otsIXAN0w8B7fSgviao9dzc979pigbdlzPwqLjmGqyp63ZS_vbYrH6oQcg2z0ef9Ldf_mHpqJKCOA3ROIRP5lXJAY3xrREuX-1wo5U8SejugMUwDAMQHxb5agxcsex/s1792/auto-timeaxis-modes.mov.gif?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">Comparator Phases Widget</h4><div><br /></div><div>The <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-comparator.html" target="_blank">Comparator</a> has been extended by a widget phases listing the roast phases of the displayed profiles. Just drag the separator at the bottom of the graph up to show this widget.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrb43xtiH9UJxwm4ZBZH0zHX_Kxx_OtxpDnPQ5bmgCGCkz7Tu6ILDK-4e6sUUD_epdhTQ3cErqOHPq-OQ5VBARScuQ_SU8fNRQaOcfkANCimDj9BcPx9TwFQlKP6jUtmapy4w-6uHGSpHyoNw5SuLX4AxfPDuow5wKpdgwKMr_fl3Bex95SSO1okL/s900/comparator-widget.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="763" data-original-width="900" height="542" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrb43xtiH9UJxwm4ZBZH0zHX_Kxx_OtxpDnPQ5bmgCGCkz7Tu6ILDK-4e6sUUD_epdhTQ3cErqOHPq-OQ5VBARScuQ_SU8fNRQaOcfkANCimDj9BcPx9TwFQlKP6jUtmapy4w-6uHGSpHyoNw5SuLX4AxfPDuow5wKpdgwKMr_fl3Bex95SSO1okL/s900/comparator-widget.mov.gif?imgmax=1600" width="640" /></a><br /></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">YouTube Channel</h4><div><br /></div><div>Recently we started a <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" target="_blank">YouTube channel on Artisan</a>. Here we publish short tutorials, webinar recordings and event reports. The first two webinars on Artisan organized by <a href="https://royalcoffee.com/" target="_blank">Royal Coffee</a> have already been published as well as a brief tutorial on the Artisan Axis System and a report from the World of Coffee Milan (WoC'22). Subscribe to our channel not to mis out any new additions!</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/tJKRJrEPeEQ" title="YouTube video player" width="560"></iframe><div><br /></div>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/8ivsccu9e_Y" title="YouTube video player" width="560"></iframe><div><br /><div>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/QRAzYkmGYVw" title="YouTube video player" width="560"></iframe></div><div><br /></div><div>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/sCpd6logl6Y" title="YouTube video player" width="560"></iframe></div></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-28085248237302913642022-03-10T22:30:00.003-08:002022-07-12T07:33:12.708-07:00Artisan v2.6.0<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2022/03/artisan-v260.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="455" data-original-width="900" height="324" src="https://blogger.googleusercontent.com/img/a/AVvXsEg2scjD4YgR2nDlg2AXIHVzY9E6So4XOlNReK-nQKbCK1Gci8UO2NKJqbj8K4VQcAlpTCRJtTFGqdypJrhsTEcZjk8LubJEqQj2DxLQ_2VZ6KQM_SiUgLfZnqt3-8j4Lma8icmXCjvenPPCv0nNp7qMSMoUSqtVjEoq2J8Bjk_hmZT9IvMu3LlIHkya=s900?imgmax=1600" width="640" /></a></div><div><br /></div><div style="text-align: left;">We dedicate this release to the constructive ones, the creatives, the makers, the innovators, the open ones, the integrators, the ones that lead us forward to make this a better planet for all of us and put the destructive ones, the duplicators and obstructors to shame.</div><span><a name='more'></a></span><div><br /></div><h3 style="text-align: left;">THANK YOU!</h3><div><br /></div><div>The Artisan project runs on donations from individuals and companies recognising the value of Artisan for their customers, work or leisure. Consider supporting this project with your donation, or even better, purchase an <a href="https://shop.artisan.plus/" target="_blank">artisan.plus membership</a>!</div><div><br /></div><div>With a closing thank you to <a href="https://www.sweetmarias.com/" target="_blank">Sweet Maria's</a> for sponsoring the Artisan v2.4.6 release, we welcome <a href="https://showroomcoffee.com/" target="_blank">Showroom Coffee</a> as sponsor for this release.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://showroomcoffee.com/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/a/AVvXsEgyNUjY1PJhvF1CURkASme9_BNCM9yuaZTNXdDmKnExGLxzPCejzAIXOs2gyUGyaQulu0qbl-Tswh3OGy6fS-zohAh9fP2kRcaLLCxVYa8UuQ0qjHGRuGKWiBxz2ZDUUOqdl93jPlPj3f9hQiprpNrnX_OrjIzYO6SS4zrM3CqzArXCkCxX_BNwKJZP=s1000?imgmax=1600" width="320" /></a></div><br /><div><br /></div><div>As before, we received the biggest support from <a href="http://www.buckeyecoffee.com/" target="_blank">Buckeye Coffee Roasters (USA)</a>. A big thank you from the Artisan community for your ongoing support. Compliment!</div><div><br /></div><blockquote style="border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><div style="text-align: left;"><i>In return we offer every customer that purchases a machine from Randy a free 1-year artisan.plus PRO subscription! This offer is valid while Artisan v2.6.0 is the current release.</i></div></blockquote><p style="text-align: center;"><a href="http://www.buckeyecoffee.com/" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1340" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73JZ5_yPXKVNrlkhsL8OLVW2Z68mQw4P1yx8Rk1o-KJcmJV0cN1aD5fmo9eSdkbv8mFMSTvmsJvHTzBKIjgDRx0_uR-wXwFe9SJlYQokuzHnp1vxtPtb70HTwpGciyHtB1K0C1AZdPw4/w400-h149/bc-logo-wide.png?imgmax=1600" width="400" /></a></p><p><br /></p><p>Besides Buckeye Coffee no other machine manufacture did support this release in a significant way. Again the majority of the costs have been on the shoulders of Marko & Paul who created the artisan.plus service to provide some financial basis for the Artisan project.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><p></p><p><br /></p><p>The following individuals and operations (in no specific order) did support the development of this version with <a href="https://artisan-scope.org/donate/" target="_blank">their donation</a> to cover the remaining 6% of the development costs: <i>Alan Friedman, Raphael Aschmann, Ronaldo Martins. Efraim Eygin, Jim, Тихонов (<a href="https://caffevita.ru/" target="_blank">caffeevita</a>), 王彥元, Ernesto Carlos Bode, Cathy & Ernie (<a href="http://www.borrowedlandfarm.com" target="_blank">Borrowed Land Farm</a>), 大黒洋 (<a href="https://96cafe.com/" target="_blank">96cafe Roastery</a>), Khin Men Cheah, Nico Damanik, Ron (<a href="https://vortxkleanair.com/" target="_blank">VortX</a>), Marc Boer, Matt Keebler, Tawney Buttler, Morgan (<a href="http://www.landmarkspecialitycoffee.co.uk" target="_blank">Landmark Speciality Coffee Ltd</a>), Robert Denson, Javier Negron, Don Stewart Morgan, Julie Lund, Shannon Conner, William Malatesta, Ron (<a href="http://www.tangramcoffee.com" target="_blank">Tangram Coffee Roasters</a>), Barry Regehr, MOJO FOOD TRUCK LLC, Aleksi Rintanen, Milorad Popadic, Dalton Moody, Kyle Grella, Jon Gutierrez, Darren (<a href="https://www.darkstarcoffeeroasters.com/" target="_blank">Dark Star Coffee Roasters</a>), Matt (<a href="https://happymugroasters.com/" target="_blank">Happy Mug Roasters</a>), Dustin (<a href="https://stoutheartcoffee.co/" target="_blank">Stout Heart Coffee</a>), Jean-Francois Jutras, Rob (<a href="https://hoos.coffee/" target="_blank">Hoos Coffee Consulting LLC</a>, Jeff Kinzli, Kent (<a href="http://freeportcoffee.com" target="_blank">Freeport Coffee Roasting</a>), Sava Vrbaski, Brian McHenry, Josh Greenberg, Kenneth A Fox, Milorad Popadic, Ina Quilling, Eric Gingras, Todd Trebuna, Chip (<a href="http://www.radioroasters.com" target="_blank">Radio Roasters LLC</a>), Tomohiro Fukitani, Robert Rings, Daniel Burris, Gemma (<a href="https://turningpointcoffee.co.nz/" target="_blank">Turning Point Coffee</a>), Jane Lau, Thomas Wright, <a href="http://www.minuto.co.il" target="_blank">Minuto Coffee</a>, Henrik Haaning, Norman Hardy, Vladimir (<a href="https://www.sputnikcoffeecompany.com/" target="_blank">Sputnik Roasters</a>), พลกฤษณ์ โสเจยยะ, Masaharu Kuriya, Ondrej Boucek, <a href="https://beechcreekcoffee.com/" target="_blank">BeechCreek Coffee Roasters</a>, Peter Budenz, John Tull, Martin (<a href="https://appalachestorrefacteur.com/" target="_blank">Appalaches Torréfacteur</a>), Eric Totong, and Norman Kuckert.</i></p><p>We would like to thank especially the ones on the growing list of those that are supporting this project regularly: <i>Tom Husband, Michael Kane, David Austin, Steven Kelleher, Philip Sowels, Flint Orr, Frans Goddijn, Manuel (<a href="http://www.caffeterzi.it" target="_blank">Caffè Terzi</a>), Richard (<a href="https://www.freespacecoffee.com/" target="_blank">Free Space Coffee</a>), Adam Glass, Steven Olock, Michel (<a href="http://www.TheBeautifulBean.com" target="_blank">The Beautiful Bean</a>), Mark (<a href="http://www.velvetsunrise.ca/" target="_blank">Velvet Sunrise Coffee Roasters</a>), Graham Kennedy, Hermann-Josef Fensky, Paolo (<a href="https://www.hmcmonza.com/" target="_blank">His Majesty the Coffee</a>), Nicolas Bigler, Rick Groszkiewicz, Colin (<a href="https://www.ironmulecoffee.com/" target="_blank">Iron Mule & Ironside Roasting</a>), Stephen M Egge, and Richard Unger.</i></p><p>Now get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop a next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Download now</a>!</p>
<p dir="auto">PLEASE FOLLOW AND TAG US!<br />
<a href="https://www.facebook.com/ArtisanScope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/facebook-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.instagram.com/artisanscope/" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/instagram-square.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.youtube.com/channel/UCEp-DH_Y7sBR3-X3FWomgog" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/youtube-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://twitter.com/artisanscope" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/twitter-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a> <a href="https://www.linkedin.com/company/artisan-plus" rel="nofollow"><img src="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/screenshots/linkedin-svgrepo-com.svg" style="max-width: 100%;" width="30" /></a></p>
<p><br /></p><p>Your Artisan team</p><p>Dave, Michael and Marko</p><div><br /></div><hr /><div><br /></div><h3 style="text-align: left;">What's New?</h3><div><br /></div><div>Most changes with regard to previous releases are internal in nature, resulting in improved performance and stability. Other changes are a direct consequence of infrastructure upgrades like the extended platform support. This is the first Artisan version that retires some features, most notable oversampling, the HUD, and Newton projections. In the following we briefly introduce the most important updates. The complete list of additions, changes, fixes and deletions is available as part of the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" target="_blank">Detailed Release History</a>.</div><div><br /></div><h4 style="text-align: left;">Supported Platforms</h4><div style="text-align: left;"><br /></div><div style="text-align: left;">The minimal system requirement of the Windows build is now Windows 10 or better, and runs under Windows 11. The Mac build still supports macOS Catalina (10.15) or better, incl. full support of macOS Monterey (12.x), and runs on M1 Macs under Rosetta 2. Native M1 support will be added for later Artisan versions. Linux builds require glibc 2.31 or higher. The Raspberry Pi version is now build for 32bit Bullseye.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Builds for the legacy systems Windows 7/8, macOS High Sierra (10.13) and RPi Bullet are provided as well.</div><div style="text-align: left;"><br /></div><h4 style="text-align: left;">Hardware Support</h4><div><br /></div><div>As with most previous versions, the list of machines setups has been extended, adding configurations for the <a href="https://artisan-scope.org/machines/arc/" target="_blank">ARC RTD models</a>, <a href="https://artisan-scope.org/machines/nor/" target="_blank">NOR roasting machines</a>, the <a href="https://artisan-scope.org/machines/kuban/" target="_blank">Kuban Supreme Manual</a>, <a href="https://artisan-scope.org/machines/caparao/" target="_blank">Caparaó Prime Line</a>, <a href="https://artisan-scope.org/machines/yoshan/" target="_blank">Yoshan EC-500</a>, <a href="https://artisan-scope.org/machines/atilla/" target="_blank">Atillia gold plus 2022</a> and <a href="https://artisan-scope.org/machines/prometheus/" target="_blank">Prometheus Ignis machines from Ukraine</a>.</div><div><br /></div><div><br /></div><div>PHIDGETS</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.phidgets.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/a/AVvXsEi7rJYbmvYrsUdqvXhiEnf1QVOu4HDr-UQy2JWSGL9DvYaLLgW2pvZlWjhJIDpbhJnMpX81vyDJAWUm4issqcHnjfzyc3ZCE-198kBM3Eq9F7WUQoqaLXyIVKVMR_UvaBCh-TrXyOM37hsspF2qbaYORyKEOnmZSi0zlsswpYUgZV3KVTs7Qwrl7w6T=s320" width="320" /></a></div><br /><div><br /></div><div>We added support for the latest Phidget firmware and the new <a href="https://www.phidgets.com/?prodid=1202" target="_blank">Phidget HUB0001</a> both of which offers improved electrical immunity and stability, supported also by some changes we applied to the Artisan Phidget support in this version. Note that the Linux and RPi builds do not include the Phidget driver like previous versions and thus the Phidget driver has to be installed as on all other platforms separately as well-documented by Phidgets. Remember to keep your driver always up to date and update the firmware of your modules using the Phidget Control Panel to their latest versions.</div><div><br /></div><div><br /></div><div>ACAIA</div><div class="separator" style="clear: both; text-align: center;"><a href="https://acaia.co/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/a/AVvXsEirnV1fVBiCprzoyQF7mO-7C8LlEdFUKuQz8RCHUGOJwl_dwrS1JbAm_NTGfu1eQD2_ao4sYxC-4JaOUHdhuKrTG9N5h3FRMt_6QZuDUHalW-v98XwwHVFOeE9qCP1jqvrGDBWLIpYSnOL0gxh9zlQLHtEajkhgFjHsuIxd32o_j9qH-SbEiLFSN8QF=s320" width="320" /></a></div><div><br /></div><div>With great development support from our friends at Acaia we added support for their full range of bluetooth scales on platforms supporting the corresponding BLE infrastructure like modern macOS and Windows systems. Besides the already original Pearl and Lunar models, Artisan now supports also the novel <a href="https://acaia.co/collections/coffee-scales/products/pearl-model-s" target="_blank">Pearl-S</a>, <a href="https://acaia.co/collections/coffee-scales/products/pearl" target="_blank">Pearl 2021</a> and <a href="https://acaia.co/products/lunar_2021" target="_blank">Lunar 2021</a> scales.</div><div><br /></div><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Usability</h4><div><br /></div><div>This version adds a number of small extensions and shortcuts to increase usability and decrease the number of necessary interactions with the software while roasting.</div><div><br /></div><div><br /></div><div>CURSOR WIDGET</div><div><br /></div><div>We updated the cursor widget which displays the temperature or rate-of-rise (RoR) at the position the mouse cursor points to at the top of the main window. Use the d key to toggle between three states: off, temperature and RoR mode. Press the z key to clamp the temperature or RoR position to the bean temperature (BT) or environmental temperature (ET) signals or their corresponding signals of the background profile. </div><div><br /></div><div><br /></div><div>RUNNING LCDS</div><div><br /></div><div>Press key u to toggle the running LCDs. While not logging, the readings at the cursors time position are shown in the corresponding readings LCDs on the right side. Make sure <span style="font-family: courier;">Readings</span> is ticked under menu <span style="font-family: courier;">View</span> to make those LCDs visible.</div><div><br /></div><div><br /></div><div>ZOOM FOLLOW ROR</div><div><br /></div><div>The <a href="https://artisan-roasterscope.blogspot.com/2016/03/artisan-v099.html">Automatic Panning</a> mode has been extended to center on the current bean temperature rate-of-rise (RoR) if the cursor widget is set to RoR mode via the d key.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgzM5VwrR2imZ6P5Wr2D-Dhzs7Jh-pK4QPpqYuyrsUffsWA0FOUn2RhMJMFyLit2QMvJjWm53aTWykcE8OZK4QBCchHmTgeFT4U9xJnnl5gT0PAXCheZ62FABmQ8Hym4ga9eQMcknpKMbMCXTkItBPmqFXtEV28Sqj5IFoy8y52O9BeZ3W4xyApM3OC=s1000" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="1000" height="348" src="https://blogger.googleusercontent.com/img/a/AVvXsEgzM5VwrR2imZ6P5Wr2D-Dhzs7Jh-pK4QPpqYuyrsUffsWA0FOUn2RhMJMFyLit2QMvJjWm53aTWykcE8OZK4QBCchHmTgeFT4U9xJnnl5gT0PAXCheZ62FABmQ8Hym4ga9eQMcknpKMbMCXTkItBPmqFXtEV28Sqj5IFoy8y52O9BeZ3W4xyApM3OC=s1000?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><div>CURVE VISIBILITY BY LCD CLICK</div><div><br /></div><div>Now you can toggle the visibility of a curve by clicking its corresponding LCD. This works in all modes of operation.</div><div><br /></div><div><br /></div><div>MINI EDITOR</div><div><br /></div><div>The mini Events Editor is now also available while not recording and can be used to browse and edit custom events of a profile. It an be enabled via the menu entry <span style="font-family: courier;">Events Editor</span> from the <span style="font-family: courier;">View</span> menu or simply by pressing the y key.</div><div><br /></div><div><br /></div><div>PLAYBACK EVENTS</div><div><br /></div><div>Event Playback can now be toggled by pressing the j key. Active event playback is indicated by rendering the background profile title on the right top of the profile in red. </div><div><br /></div><div><br /></div><div>SPACE TO RECORD</div><div><br /></div><div>Hitting the space bar in logging mode starts the recording. With the keyboard mode active (press RETURN key to toggle and use the left/right arrow keys to choose the event button and SPACE to activate the selected button), in combination with the <span style="font-family: courier;">Keep ON</span> function (menu <span style="font-family: courier;">Config » Sample</span>), this allows to record a whole roasting session by just using the SPACE key.</div><div><br /></div><div><br /></div><div>CHARGE TIMER</div><div><br /></div><div>The autoCHARGE feature (menu <span style="font-family: courier;">Config »</span><span style="font-family: courier;"> Events</span><span style="font-family: inherit;">) allows you to have the hands free while charging the bean for the next batch, having the CHARGE event set automatically by Artisan. For those who prefer to set the CHARGE event manually by hitting the CHARGE button we now added the Charge Timer </span>(menu <span style="font-family: courier;">Config »</span><span style="font-family: courier;"> Events</span>)<span style="font-family: inherit;"> as alternative. If active, the timer counts down the specified seconds after START until it automatically set the CHARGE event. With the Charge Timer set to 0sec, Artisan will set the CHARGE event to the first reading it records.</span></div><div><br /></div><h4 style="text-align: left;">Enhancements</h4><div><br /></div><div>A number of existing features have been enhanced with new functionality.</div><div><br /></div><div>COMPARATOR BBP SUPPORT</div><div><br /></div><div>We extended the <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-comparator.html" target="_blank">Roast Comparator</a> to allow to compare the between batch protocol (BBP) of the selected profiles.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi_Y4_du0ZxmYK4s2jOGLgSzao-rosE4d-HetqtiZ-7RoH6kwpsVtKHrx2gWpDXdZOnieEqNMkFp5fpVXqPB5IAp50PHWXlWipRkkiihdnZ7oDVS6sbcJIbVxw-dOhDzvNBiDmyHw4QzM8CC_rnMRGaZajuceRdaoVA6m7SzXY5LvDJlU3DimgMIoki=s1199" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1199" height="394" src="https://blogger.googleusercontent.com/img/a/AVvXsEi_Y4_du0ZxmYK4s2jOGLgSzao-rosE4d-HetqtiZ-7RoH6kwpsVtKHrx2gWpDXdZOnieEqNMkFp5fpVXqPB5IAp50PHWXlWipRkkiihdnZ7oDVS6sbcJIbVxw-dOhDzvNBiDmyHw4QzM8CC_rnMRGaZajuceRdaoVA6m7SzXY5LvDJlU3DimgMIoki=s1199?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><div>SIMULATOR PAUSE & SPEED CHANGE</div><div><br /></div><div>We added a pause action to the <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-simulator.html" target="_blank">Roast Simulator</a>. Just click the timer LCD to stop and re-start the simulation. By holding a modifier key while re-starting, you can change the simulator speed (1x: SHIFT, 2x: ALT/OPTION, 4x: CONTROL/COMMAND).</div><div><br /></div><div><br /></div><div>QUADRATIC & ROR PROJECTS</div><div><br /></div><div>Projection lines in Artisan (menu<span style="font-family: courier;"> Config >> Curves</span>, 1st tab) for the bean temperature curve (BT) and the environmental temperature curve (ET) are computed based on the current rate-of-rise (RoR) of the corresponding curve. Artisan draws a straight line from the last measured temperature reading projecting its development under the assumption of a constant RoR.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj5gVDHDMz1Tv8o1_POIVeVFIb2b8adsO4Iv8HzjbA2gErTbY-VonsNU8tKcINtylgm6ELK6MQ7CIF8kQX54_hfStt71xyKBMatIuYfkANdGOAsZZ6cb6DiVY-aaa_zwc_LIN8m28rHbVwwZmPztQfoIbiPO0Wey6KoWE506dKtudc5qtW-BtYxTwuL=s2052" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1342" data-original-width="2052" height="418" src="https://blogger.googleusercontent.com/img/a/AVvXsEj5gVDHDMz1Tv8o1_POIVeVFIb2b8adsO4Iv8HzjbA2gErTbY-VonsNU8tKcINtylgm6ELK6MQ7CIF8kQX54_hfStt71xyKBMatIuYfkANdGOAsZZ6cb6DiVY-aaa_zwc_LIN8m28rHbVwwZmPztQfoIbiPO0Wey6KoWE506dKtudc5qtW-BtYxTwuL=s2052?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>We added quadratic projections which take the development of the RoR (aka RoRoR) into account, drawn as linear RoR projection lines (no AI involved!). </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi6dnTkjB3Po9cguY0XDuhXqn2wrPN0qW5AJTeymNKi24xSV91aK--xQHln_CLCfDv51o3CA9IUFk5sczQmRWxX_SoNt15G0Efl4HrA-M_ePL5PXuwJbhP3tMPmUXjTAt02Hlu9Jux90g4cLGWYw7_HdIVzwOAS1bTjWr2avBP2ug34TfZC2oAmJhjq=s756" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="322" data-original-width="756" height="170" src="https://blogger.googleusercontent.com/img/a/AVvXsEi6dnTkjB3Po9cguY0XDuhXqn2wrPN0qW5AJTeymNKi24xSV91aK--xQHln_CLCfDv51o3CA9IUFk5sczQmRWxX_SoNt15G0Efl4HrA-M_ePL5PXuwJbhP3tMPmUXjTAt02Hlu9Jux90g4cLGWYw7_HdIVzwOAS1bTjWr2avBP2ug34TfZC2oAmJhjq=s756?imgmax=1600" width="400" /></a></div><br /><div><br /></div><div>This results in a more precise prediction of the future temperature development, drawn as quadratic (curved) projection lines. We will see how productive this is, as the RoRoR calculation amplifies signal noise even more than the RoR calculation. Therefore quadratic projection and RoR projection lines are not drawn before 5min into the roast.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhuIMwMQYrWbFkiKQoq09yKLhi-tnvc33Z4t5WSHrjmKzKV3TYiDt768WR2LakKwi8DDC30qV1ehY3idk0ygRo0w1QI3T4sDi6I5uCpX2fPrkaoIHf5T70YC4ADwEYcRTPhXqdVWoODbkGPVyKsygHBg1D-Jb4Yhmi0J1qXjExeS4BR9NlSjgzZ7JAf=s2052" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1342" data-original-width="2052" height="418" src="https://blogger.googleusercontent.com/img/a/AVvXsEhuIMwMQYrWbFkiKQoq09yKLhi-tnvc33Z4t5WSHrjmKzKV3TYiDt768WR2LakKwi8DDC30qV1ehY3idk0ygRo0w1QI3T4sDi6I5uCpX2fPrkaoIHf5T70YC4ADwEYcRTPhXqdVWoODbkGPVyKsygHBg1D-Jb4Yhmi0J1qXjExeS4BR9NlSjgzZ7JAf=s2052?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><div>SLIDER MAPPING CALCULATOR</div><div><br /></div><div>Artisan sliders allow to map their event value range (eg. 0-100%) to a different range of output values (eg. 0-4.2V) to be send to external devices on slider changes. The mapping is specified in the slider tab (menu <span style="font-family: courier;">Config >> Sliders</span>, 3rd tab) by specifying a linear mapping using the <span style="font-family: courier;">Factor</span> and <span style="font-family: courier;">Offset</span> parameters. But how to calculate those parameters? We added a Slider Calculator where you only have to enter the minimal and maximal output values and have the correct <span style="font-family: courier;">Factor</span> and <span style="font-family: courier;">Offset</span> being calculated.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEidzO6-j-aj-3ptBLWUhKEFMjOm5nXSOpGkJQ8ZxuqOcJCXvo1Eo4TbtB9KOwuAQhMrqu-ZlhofHVF_qn27DTyUYYVgNxqLTcI2xEi_bunVof5DXedtTny2ua5MEFHvjwDX5j9iMxozKF9py5n4TJSZNDxavwLDeX7wLGPFAqs2K-obzkn7WypBmjbH=s1804" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="905" data-original-width="1804" height="322" src="https://blogger.googleusercontent.com/img/a/AVvXsEidzO6-j-aj-3ptBLWUhKEFMjOm5nXSOpGkJQ8ZxuqOcJCXvo1Eo4TbtB9KOwuAQhMrqu-ZlhofHVF_qn27DTyUYYVgNxqLTcI2xEi_bunVof5DXedtTny2ua5MEFHvjwDX5j9iMxozKF9py5n4TJSZNDxavwLDeX7wLGPFAqs2K-obzkn7WypBmjbH=s1804?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>PDF REPORTS</div><div><br /></div><div>We included a Chrome engine to render the HTML reports generated by Artisan to PDF. Now you can save those reports (menu<span style="font-family: courier;"> File » Reports</span>) directly as PDF. We also added the PDF Report option to the <a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html">Autosave feature</a>.</div><div><br /></div><div><br /></div><div>SEAMLESS EXTRA DEVICE HANDLING</div><div><br /></div><div>In previous versions Artisan asked what to do on loading a profile with a different Extra Device setup. You could choose to either ignore the extra data, resulting in an incomplete representation, or allow your extra device setup to be adjusted, modifying your setup.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj6MNaWWI9DH2oYubjDnk4nR3HKgMsVCi3XuR5A5BVchRwz5xlRnNWkiUA2XOhBDKvRtpoalQqLgw8npLakuVaLvluQ2djA7-bFJ6qf4ZKT7F_iaIPuz72oEy05QUjYrWGsC88FvtMefzfN8p9oL7Dj-2duAyMgvRWEW-WTbFkRVEwuxdAlVJCa5C8Z=s1064" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="694" data-original-width="1064" height="261" src="https://blogger.googleusercontent.com/img/a/AVvXsEj6MNaWWI9DH2oYubjDnk4nR3HKgMsVCi3XuR5A5BVchRwz5xlRnNWkiUA2XOhBDKvRtpoalQqLgw8npLakuVaLvluQ2djA7-bFJ6qf4ZKT7F_iaIPuz72oEy05QUjYrWGsC88FvtMefzfN8p9oL7Dj-2duAyMgvRWEW-WTbFkRVEwuxdAlVJCa5C8Z=s1064?imgmax=1600" width="400" /></a></div><br /><div><br /></div><div>Artisan will now make a backup of your extra device setup before loading such profiles and always adjust the setup to fully load any profile. On reset Artisan will revert to your original Extra Device setup using the backup made before.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">RoyalCoffee Webinar on Artisan v2.6.0</h4><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="356" src="https://www.youtube.com/embed/tJKRJrEPeEQ" width="594" youtube-src-id="tJKRJrEPeEQ"></iframe></div><br /><div><br /></div><div><br /></div><div><br /></div><h4 style="text-align: left;">artisan.plus</h4><div><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="630" data-original-width="630" height="200" src="https://blogger.googleusercontent.com/img/a/AVvXsEisOnI0Qdxt_TmUuazbXlFXZBEp1xg5yfHqfBJTz7cz4KvaYC13hSyqb7uo2wua4DLVpPNikDt4u-puOPB8YUWoq7uedg6mrbfmy9r6IrxATTNZUUz68tFxEiQsDxcOaj0G8QltC-rf6KLGoHbQ_GJamuf7thQVrFJzFgPQk1vawsAk2EoVLscPCSay=s630?imgmax=1600" width="200" /></a></div><br /></div><div>Here are the news on <a href="http://artisan.plus" target="_blank">artisan.plus</a>, the inventory management system for Artisan.</div><div><br /></div><div><br /></div><div>HOME PRICE DROP & HOME+</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjsRg1RfUsMqqk1rN0QHEbJ9iHKUl4ysrMrU_FcKKLqp0txTLr8RdmsJ-rW9vMmCOXCye9OpQfuy4SlRGouRq1RQIa8FnGCfpYBedGaUFh6629eaCxEvRnHTLqBp9Vu1zVeYQQgqbbeVlU40ARpRenl6n4D-8Bh3NOghRAIrP5l2wlzg_2OkJnZdvie=s500" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjsRg1RfUsMqqk1rN0QHEbJ9iHKUl4ysrMrU_FcKKLqp0txTLr8RdmsJ-rW9vMmCOXCye9OpQfuy4SlRGouRq1RQIa8FnGCfpYBedGaUFh6629eaCxEvRnHTLqBp9Vu1zVeYQQgqbbeVlU40ARpRenl6n4D-8Bh3NOghRAIrP5l2wlzg_2OkJnZdvie=s500?imgmax=1600" width="400" /></a></div><div><br /></div>We dropped the price for our <a href="https://shop.artisan.plus/en/home-roasters/" target="_blank">home roaster subscription</a> by 50% to now only 49.- EUR / year. We also introduced the <a href="https://shop.artisan.plus/en/home-roasters/artisan.plus-home-1000kg-addon" target="_blank">HOME+ add-on</a> to support small commercial startups with an increased roast limit.</div><div><br /></div><div><br /></div><div><br /></div><div>SUPPLIER PARTNERSHIP</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiIC9YeW1AByVIiJVFVvaUWOOXLRGTOAs7Sp9kS8svtrFTArKRzSJP40waxAj2BuDnWWCwejVuKyKZCjZPREKaPNr5IiT7KGmCBMMDYanLBm65y_BOJsPs4R4MkyG_GKBkRHh_MslszKZLc23gGcG74c45kUiG8J9qPNyQ5_XKUgwPh0ukKEh-jhGrz=s500" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiIC9YeW1AByVIiJVFVvaUWOOXLRGTOAs7Sp9kS8svtrFTArKRzSJP40waxAj2BuDnWWCwejVuKyKZCjZPREKaPNr5IiT7KGmCBMMDYanLBm65y_BOJsPs4R4MkyG_GKBkRHh_MslszKZLc23gGcG74c45kUiG8J9qPNyQ5_XKUgwPh0ukKEh-jhGrz=s500?imgmax=1600" width="400" /></a></div><br /><div>We started our <a href="https://doc.artisan.plus/partners/" target="_blank">partnership program</a> with green bean suppliers around the globe. To remove the pain point of having to enter green coffee data manually for each purchase, we decided to link our <a href="https://artisan.plus" target="_blank">artisan.plus platform</a> directly to the systems of leading green bean importers. Further, our partners provide coupon codes to artisan.plus subscribers providing them discounts on their green coffee offerings, while helping to streamline inventory management for home roasters and commercial roasters alike.</div><div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTQ76Db92lRcWidhPhGEtreYn9e9IeUe_UmsX4EMi6XjmqjGfmL5-jReDshYgLC4CVbxhusdY-C_lXRqB208yVDuH0By_86Psyt0vh8YO_HUTv5D4RCB46Ags2HpoCVD53ItxlcK2jaI25yEQ8akDQRjy3N3EyxvyXIWxdnTyre9uBfVvYFo11VcIr=s1286" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="1286" height="154" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTQ76Db92lRcWidhPhGEtreYn9e9IeUe_UmsX4EMi6XjmqjGfmL5-jReDshYgLC4CVbxhusdY-C_lXRqB208yVDuH0By_86Psyt0vh8YO_HUTv5D4RCB46Ags2HpoCVD53ItxlcK2jaI25yEQ8akDQRjy3N3EyxvyXIWxdnTyre9uBfVvYFo11VcIr=s1286?imgmax=1600" width="400" /></a></div><br /></div><div>In combination with the <a href="https://artisan-scope.org/announcement/price-drop/" target="_blank">recent price drop for our HOME customers</a>, those partner discounts may offset the subscription costs completely.</div><div><br /></div></div><div><i>Read on:</i> <a href="https://dailycoffeenews.com/2021/12/10/genuine-origin-joins-artisan-plus-inventory-management-integration/" target="_blank">Genuine Origin Joins Artisan Plus Inventory Management Integration</a> (Daily Coffee News)</div><div><br /></div><div><br /></div><div>NOTIFICATIONS & REMINDERS</div><div><br /></div><div>Artisan is now able to send notifications via the operating system. Notifications are acknowledged with a click. Open notifications are listed at the notification icon. Notifications can be generated by Artisan itself, or by the new Artisan Command<span style="font-family: courier;"> notify </span>attached to a <a href="https://artisan-roasterscope.blogspot.com/2013/02/events-buttons-and-palettes.html">custom event button</a> which itself can be triggered by an <a href="https://artisan-roasterscope.blogspot.com/2013/03/alarms.html" target="_blank">Artisan alarm</a>. Finally, notifications generated by artisan.plus reminders are forwarded to Artisan as well.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgea2VcloYNjaX5fTDyQmKTI93gwI-AngwztVDfV9fI1ASz0oIuVGSiGMXk06pOlA0dd76Lc0Jwjn2aRobga3FC8mjmO4TOCZftpx7jkH33sRTMot38jUENxq9oXCfEFRZ2ZfETO6w_tVGk-c4CYJMX9IPUyV8ybjQmE1HMkLWQDBZm2L60j1mBTuFU=s1100" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="556" data-original-width="1100" height="203" src="https://blogger.googleusercontent.com/img/a/AVvXsEgea2VcloYNjaX5fTDyQmKTI93gwI-AngwztVDfV9fI1ASz0oIuVGSiGMXk06pOlA0dd76Lc0Jwjn2aRobga3FC8mjmO4TOCZftpx7jkH33sRTMot38jUENxq9oXCfEFRZ2ZfETO6w_tVGk-c4CYJMX9IPUyV8ybjQmE1HMkLWQDBZm2L60j1mBTuFU=s1100?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjTasjO2dhnHE7YKlHHCyGfGK-movlmmYUk0XGN_6kcWrlIKVnZHVBew4c_yHayhPsHrr759BK3EeDhHeQ-fbO4aBnemCz7zlIlad80UC_L8RLNYKdVwj2XGGUiFacYrW6E-7zPtf4BnIZCjSH3hjsIVcyOq9ivfvxH4BY5bnzYivhq4kV-ggEOHNoA=s2070" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="980" data-original-width="2070" height="302" src="https://blogger.googleusercontent.com/img/a/AVvXsEjTasjO2dhnHE7YKlHHCyGfGK-movlmmYUk0XGN_6kcWrlIKVnZHVBew4c_yHayhPsHrr759BK3EeDhHeQ-fbO4aBnemCz7zlIlad80UC_L8RLNYKdVwj2XGGUiFacYrW6E-7zPtf4BnIZCjSH3hjsIVcyOq9ivfvxH4BY5bnzYivhq4kV-ggEOHNoA=s2070?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div><br /></div><div>ACAIA SUPPORT</div><div><div><br /></div><div>Support for the full range of <a href="https://acaia.co/" target="_blank">Acaia scales</a> has been added to <a href="http://artisan.plus" target="_blank">artisan.plus</a> as well. Running on browsers supporting WebBT (e.g. Chrome, but not Safari) the Acaia original Pearl and Lunar, Pearl Model S, Pearl and Lunar 2021 as well as the PYXIS scales are directly supported.</div><div><br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" frameborder="0" height="315" src="https://www.youtube.com/embed/A7zgQ4FjABw?feature=player_embedded" width="560"></iframe></div>
<div><br /></div><div><br /></div><div>CUSTOM BLEND EDITOR</div></div><div><br /></div><div>We added a blend editor to Artisan which allows you to quickly define an ad-hoc blend. This is useful for blends that you do not plan to reuse as this avoids having to define a blend on the artisan.plus platform beforehand. If you set the weight to 0 this editor allows you to enter the components by weight instead of ratio, calculating the total weight.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg3PxZvHAM__4ku0JnGyOdiM_P4cwBxJCFKUSaMYtq4nzn_4uvNnRONqgFp47ciF-n7ZkfXpcUaZr8ajsNIGxcfaBPeoXXomoiOc7Z09jt0UyB1gIgKf437hYH0psa6ysFqGH0NiyFFtSCsHL9ui8Fd_LU0qFhLb1GKmF0gX9OPi847n0AZkBzhPKiq=s900" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="511" data-original-width="900" height="365" src="https://blogger.googleusercontent.com/img/a/AVvXsEg3PxZvHAM__4ku0JnGyOdiM_P4cwBxJCFKUSaMYtq4nzn_4uvNnRONqgFp47ciF-n7ZkfXpcUaZr8ajsNIGxcfaBPeoXXomoiOc7Z09jt0UyB1gIgKf437hYH0psa6ysFqGH0NiyFFtSCsHL9ui8Fd_LU0qFhLb1GKmF0gX9OPi847n0AZkBzhPKiq=s900?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><div><br /></div><h3 style="text-align: left;">What Else?</h3><div><br /></div><div>WEBINAR @RoyalCoffee (March 11, 2022)</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiWGbNnfdfEDhSbP8NPcK57XdQKVuisnCEfufBY0xdmGe4F-vDh03gyV-xDUqEfwhpFEe99PMo7QicYPeNc0Uxa1rB8L9EbVwOHJDUi56SZgVF937tqR_Ox_1BrSTBXxuWI1JwTxPtkytFxta7YaY380V4V27kKdvf6YFGruwpYlWb1zd1PPy8jAPzw=s500" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiWGbNnfdfEDhSbP8NPcK57XdQKVuisnCEfufBY0xdmGe4F-vDh03gyV-xDUqEfwhpFEe99PMo7QicYPeNc0Uxa1rB8L9EbVwOHJDUi56SZgVF937tqR_Ox_1BrSTBXxuWI1JwTxPtkytFxta7YaY380V4V27kKdvf6YFGruwpYlWb1zd1PPy8jAPzw=s500?imgmax=1600" width="400" /></a></div><br /><div><br /></div><div>We’ve got invited by <a href="https://events.royalcoffee.com/" target="_blank">Royal Coffee</a> to hold an <a href="https://artisan-scope.org/event/Royal-Coffee-Webinar/" target="_blank">online workshop on Artisan</a>. In this webinar Dave shows how to access the wealth of information available in Artisan graphs. Whether during an active roast or reviewing a completed roast, Artisan has features to speed your work.</div><div><br /></div><div>A recording of this session is now available on <a href="https://vimeo.com/687294869" target="_blank">Vimeo</a>.</div><div><br /></div><div><br /></div><div><br /></div><div>NORM ROAST</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-scope.org/publication/NORM-ROAST-in-ROAST/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjhOvsSZhb--Lakv5-Ub8_8oG4azy2V6Lo90Fw6MRfHusQaLwsWeU_F_wwahjUswVLL0lFCPj6khhpekBE-jssGCmJUPp6kTqFgS4fFrW64pAmuSmYv3Z_LbC6AY_YKQdCxOjJ9wTVDwOIySa8a0KnHZzu_ON0bwA05HFEUqxt00_tkGb0Kj9fgFnO-=s500?imgmax=1600" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">We are very thankful to <a href="https://roastmagazine.com/" target="_blank">ROAST</a> for the opportunity to report on <a href="https://norm-roast.org/" target="_blank">NORM ROAST</a>, an open standard for determining the levels of pollutants, CO2 emissions and energy consumption of small to mid-size batch coffee roasting machines.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">This feature article is currently available <a href="https://roastmagazine.com/currentissue/Roast_Feature_NORMROAST.html" target="_blank">online with free access</a>.</div><div class="separator" style="clear: both;"><br /></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-scope.org/event/Probat-POP-UP/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhnL91eotBr7c6R1_ZnYOKXOpJWUkDjsbmc7LpjicrCFCmf6NJ1dR-eLu75UWIhKzEAq4oMifrM60EV2wc4qrXIm5E_fiXaaga7neJaWPS34tmFz2f2NCsXt6fnCV4Apo13JokOFvIMrYJQ3AMNJ0_m29MrxwjKp9KQXstrHv6iSkT4ms_6BgfBPmdk=s500?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>Finally, Marko got invited by Probat to join their <a href="https://www.youtube.com/channel/UC8Ghe3SmphkVUoTd_Kx347g" target="_blank">POP UP series on YouTube</a> (Mar 17, 2022) to talk about <a href="https://norm-roast.org/" target="_blank">NORM ROAST</a>. He reports why he initiated this project and what the outcomes so far are. Together with you and Probat he <a href="https://artisan-scope.org/event/Probat-POP-UP/" target="_blank">puts this theory into practice</a>.<div><br /></div><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-64545476438465104662022-03-02T08:55:00.004-08:002022-03-02T08:55:34.939-08:00Probat POP UP<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2022/03/probat-pop-up.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="500" height="384" src="https://blogger.googleusercontent.com/img/a/AVvXsEjzK4pHc44P27AABBtxKFT03srKYjqWEJvwYiIc9rj2Kyf61na7s_xBxl06a2CXeNZhev1nv2XaKJIP-SQGNIitN6h2-h0Tn8e--dcTIiSzQVdfNuxF01H_7Ly-XyUWx68BtcERpETzMRq4KwYQ3iZ3ieT0jkmpF0QXmQuk7hBsvD3F_FZ_MxTc7CCn=s500?imgmax=1600" width="640" /></a></div><br /><p>Marko got invited by <a href="https://www.probat.com/" target="_blank">Probat</a> to join their POP UP series on YouTube. This one is on <a href="https://norm-roast.org/" target="_blank">NORM ROAST</a>, a protocol for determining emission levels and energy consumption of roasting machines.</p><p>In this live session, Marko reports why he initiated this project and what the outcomes so far are. Together with you and Probat he puts this theory into practice.</p><p>Find more details on this and other events under <a href="https://artisan-scope.org/news/index" target="_blank">News on the Artisan homepage</a>.</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-87668044249803113342022-02-28T00:50:00.002-08:002022-03-02T08:50:12.876-08:00Navigating Artisan <div class="separator" style="clear: both;"><a href="https://artisan-roasterscope.blogspot.com/2022/02/navigating-artisan.html" style="display: block; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="630" data-original-width="1200" height="336" src="https://blogger.googleusercontent.com/img/a/AVvXsEgMuYGjnHSHSaRb7zMAu7lxa5iW_1dwMqwB9HAAQmWiuDbif9dKPY0VVjygOlmuwtr1KMdqazbyhosBhR1_XL0EMsiOFNEcNYLdyAPw4m61mbTRvJ54pTD5LY3tg_HyHJgH2qpyPH7049IpBJ_kC6wSEB3uJpoYWKKgqRwpwkkSVbGjg14eB9lOZDJm=s1200?imgmax=1600" width="640" /></a><div class="separator" style="clear: both;"><br /></div>We’ve got invited by Royal Coffee to hold an <a href="https://artisan-scope.org/event/Royal-Coffee-Webinar/" target="_blank">online workshop on Artisan</a>. In this webinar Dave will show you how to access the wealth of information available in Artisan graphs. Whether during an active roast or reviewing a completed roast, Artisan has features to speed your work.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Find more details on this and other events under <a href="https://artisan-scope.org/news/index">News on the Artisan homepage</a>.</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-32619100787841407892021-10-01T01:55:00.013-07:002021-11-13T23:32:34.717-08:00Probe Arrays<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2021/10/probe-arrays.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="331" data-original-width="756" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw0JpKbMBgCtPCxbWms_rwyYSvhV8-y7wpXaRZkFiC7shZaycS0gBO88ZY2yl0a0IxMwx7ikmkSsaTeil9olOPhN4Hxt87uwFUEu4SRqugsaEOFI-cVn5TkSp_LhHCrWanlmyxNbP-3GM/w640-h280/cover.JPG?imgmax=1600" width="640" /></a></div><br />There are a number of reasons why using an array of probes to measure temperatures inside a roasting machine, instead of using single probes, seems to be a good idea. The intrinsic redundancy of probe arrays allows a machine to handle probe failures silently and to report them early on to the operator, avoiding down time. Another advantage is using averages of all readings per sampling time. This increases the stability compared to single probes. Averaging of readings gathered in parallel avoids also the main disadvantage of common software based smoothing, the introduction of delays caused by averaging readings gathered sequentially. Are probe arrays worth it?<span><a name='more'></a></span><span><br /></span><p></p><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Setup</h3><div><br /></div><div><div>To estimate the potential noise reduction of probe arrays we measured and compared the Idle Noise of two setups with up to 4 probes. One setup is based on the best performing measuring system from our Idle Noise study, the <a href="https://shop.artisan.plus/en/hardware/phidgets-2xrtd-set" rel="nofollow" target="_blank">Phidget TMP1200 module using RTDs probes</a>. The other one is using <a href="https://shop.artisan.plus/en/hardware/phidget-2xtc-set" rel="nofollow" target="_blank">Thermocouples (TCs) probes and is based on Phidget TMP1101 modules</a>. Artisan can connect directly to both probe arrays and take advantage of the noise reduction using the corresponding configuration.</div><div><br /></div><div>To make the results comparable we used the same Artisan settings from the <a href="https://artisan-roasterscope.blogspot.com/2019/03/on-idle-noise.html">On Idle Noise</a> study: 0.5sec sampling interval with software smoothing turned off. The Phidget data was harvested in synchronous mode. As we did in On Idle Noise, we took the <a href="https://en.wikipedia.org/wiki/Standard_deviation" rel="nofollow" target="_blank">Standard Deviation (StdDev)</a> of the raw rate-of-rise (RoR) signal over a 2 minutes period. </div></div><div><br /></div><div><div>We kept the <a href="https://artisan-roasterscope.blogspot.com/2017/12/more-phidgets.html">standard Phidget module setups of Artisan</a> which instructs to harvest the probes in synchronous mode (menu<span style="font-family: courier;"> Config » Device</span>).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPd1Za8yL3OAYJUsgCts45UlqSi4AUxANtOjWjTAwDWLMKYPsZJ9aKasccnZ6zuKSgG3J0SqTZyNBNrjCUvpE2jFsgtgljtykJC-kXla4raKQNp11gF4V-zu468Ws0ygrXYPPODAPspWA/s1338/Screenshot+2021-09-30+at+16.49.21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1338" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPd1Za8yL3OAYJUsgCts45UlqSi4AUxANtOjWjTAwDWLMKYPsZJ9aKasccnZ6zuKSgG3J0SqTZyNBNrjCUvpE2jFsgtgljtykJC-kXla4raKQNp11gF4V-zu468Ws0ygrXYPPODAPspWA/s1338/Screenshot+2021-09-30+at+16.49.21.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>Next we added extra devices to harvest the individual temperature channels from the connected modules (here the case of an array with three RTDs).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZp23g-be7rHsEq32x-Yh3z5raklLir2IntX_DzwG0yJSuJ0QSb2hxLjyBb7ssEP1A7YeUKY5dY5KYBY8diPB6ooiXDtCLSPxFQdKUtG775hHfDjztpcAzpVXyxCfO9KetmCKi96J_5CM/s2140/Screenshot+2021-09-30+at+16.49.15.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="470" data-original-width="2140" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZp23g-be7rHsEq32x-Yh3z5raklLir2IntX_DzwG0yJSuJ0QSb2hxLjyBb7ssEP1A7YeUKY5dY5KYBY8diPB6ooiXDtCLSPxFQdKUtG775hHfDjztpcAzpVXyxCfO9KetmCKi96J_5CM/s2140/Screenshot+2021-09-30+at+16.49.15.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>Finally, we defined <a href="https://artisan-roasterscope.blogspot.com/2014/04/virtual-devices-and-symbolic-assignments.html">symbolic formulas</a> to map the average over all temperatures to ET and the temperature of the first channel to BT.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglV2Xk3kG-qvAgkP8raoIGojCzRoDV9q1QSXk5q5dP7fT-uK4xjf82JLD28IJMel5oioHfOxHn2PHrLwwcrwpGUY_3KaeTXSBO5G3H3VbP0pP1cN5HtFZARHLQFTW8bEU1G2Y0jZDoiP4/s1270/Screenshot+2021-09-30+at+16.50.18.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="1270" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglV2Xk3kG-qvAgkP8raoIGojCzRoDV9q1QSXk5q5dP7fT-uK4xjf82JLD28IJMel5oioHfOxHn2PHrLwwcrwpGUY_3KaeTXSBO5G3H3VbP0pP1cN5HtFZARHLQFTW8bEU1G2Y0jZDoiP4/s1270/Screenshot+2021-09-30+at+16.50.18.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div></div><h3 style="text-align: left;">Results</h3><div><br /></div><div>Below are the resulting BT RoR signals for arrays with 2, 3 or 4 elements for the RTD as well as the TC setups. The single probe case (RoR data taken from probe 1) is rendered in blue and the RoR from the average over all probes in red. To both RoR curves we applied a constant offset to avoid overlaps. Note that the RoR scale on the right side of the graph is tighter for the RTD setups (-2!C/min to 2C°/min) then for the TC setups (-15°C/min to 15°C/min, equal to the one used in On Idle Noise). Note further that the measurements reported here were taken with probes connected. This is in contrast to the original work in On Idle Noise where the idle noise was measured without the probes connected. However, we learned that connecting probes does not add relevant extra noise.</div><div><br /></div><div>Note that we are only comparing the Idle Noise behavior of those different setups. The advantage of using a probe array to take bean temperature readings while roasting is expected to be much higher than the results reported here, as probe arrays reduce also the additional fluctuations produced by the beans bumping against the probes and increase the stability of the readings better reflecting the average bean surface temperature in the drum. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEPzgPXyrJrcymjkBpPKXERmFQQHYioiLbpYcWYLMHSsD0_cOcIJp5ARfkyXOmt7Vv_7XtL3SbNhpuNN9I5R8fdArO_oPxdZaBvEp74UO-OxxW93efqOm_Ggizlp1X8WCbivJPraNJeK4/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><div><br /></div><div>A proper installation of a probe array within a roasting machine would be done such that all probes of the array are well covered inside the bean mass at any time, but slightly in distance of each other to max out the effect of the averaging. Still, the usual installation rules should be followed like keeping the probes in greatest possible distance from the drum wall. Still we expect, but did not test, positive effects from replacing a single probe by a dual probe to form a simple 2-element probe array. Even inside a dual probe the sensor elements are usually in some distance which should already allow for some noise reduction in addition to the reduction in idle noise by using two separate meters to read in their signal, as analysed here.</div><div><br /></div><h4 style="text-align: left;">Idle Noise – RTD Arrays</h4><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnNKBgKM4SQrN-ag4an3Ni4a29JCs1UpRCDxoO46TJBiqb9MNZpeaoQS38bC1Bsr9meVqGPc2I4cvtRAG-xnYWfEylLZnNfuTpLUS_aEit3s8yAxVmJZnj8u_6mTCZ7E3X_IhWSLpIuvA/s2048/21-09-20+2x.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnNKBgKM4SQrN-ag4an3Ni4a29JCs1UpRCDxoO46TJBiqb9MNZpeaoQS38bC1Bsr9meVqGPc2I4cvtRAG-xnYWfEylLZnNfuTpLUS_aEit3s8yAxVmJZnj8u_6mTCZ7E3X_IhWSLpIuvA/s2048/21-09-20+2x.sync.jpg?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFt1NWzZUXt1sxjo8zi16pSGl8r2JxkKTYzkmtDoVULSfsgGJAJ3QdGwgs-vawgWHOZvsFU8kIDkAukkK9KSyL72M17xw_Q4nKqJ67IlMKF3qw42I88e6WABvtzFTBij1aBs182qIVZh4/s2048/21-09-20+3x.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFt1NWzZUXt1sxjo8zi16pSGl8r2JxkKTYzkmtDoVULSfsgGJAJ3QdGwgs-vawgWHOZvsFU8kIDkAukkK9KSyL72M17xw_Q4nKqJ67IlMKF3qw42I88e6WABvtzFTBij1aBs182qIVZh4/s2048/21-09-20+3x.sync.jpg?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMEOuvoBwHKIcSGcT1wnUDx2Pvo1J9RuU40GEJk1R8JGop5g_5JVLIm1RtiX5auY4EzJu2G6rBQkqSsaU03IMVFUaqPyfMUVFZeP3ScFofPCA9xy-q_pQyFnZWYE6tk7lBNBwH8uzz1gk/s2048/21-09-20+4x.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMEOuvoBwHKIcSGcT1wnUDx2Pvo1J9RuU40GEJk1R8JGop5g_5JVLIm1RtiX5auY4EzJu2G6rBQkqSsaU03IMVFUaqPyfMUVFZeP3ScFofPCA9xy-q_pQyFnZWYE6tk7lBNBwH8uzz1gk/s2048/21-09-20+4x.sync.jpg?imgmax=1600" width="400" /></a></div><br /><p style="text-align: left;">For the 4x RTD array we repeated the experiment replacing the one HUB0000 module by two, each connected to two probes, to see if that makes any difference. We got the identical results from this setup.</p><p style="text-align: left;"><br /></p><h4 style="text-align: left;">Idle Noise – TC Arrays</h4><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivy4gM_Be-ZyvPzNKQeEI3UScI1t6fLRPoSM3L3SIrJ5LWA_Kj6vK7DvyKNlT7B21X5Iah3NBkLEacJv8IBIhLpCkgIecVdseiZRRHU4bYdCKbnwGiuorunMbERROTxRtfsCiM6-5Bgro/s2048/21-09-30+2xTC.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivy4gM_Be-ZyvPzNKQeEI3UScI1t6fLRPoSM3L3SIrJ5LWA_Kj6vK7DvyKNlT7B21X5Iah3NBkLEacJv8IBIhLpCkgIecVdseiZRRHU4bYdCKbnwGiuorunMbERROTxRtfsCiM6-5Bgro/s2048/21-09-30+2xTC.sync.jpg?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHHRBtqku1-fF7qdHBodA6FnI5D4KnIBj11-p74WQlycWdfzEK_aPrwNoWVMNo2-k6s_68JZHQLgdZzW_eit3rvUWiunt7t0peUdVQwxJMn7Zee9Icm7rBhK0f8pyaUiAuiTjuaAQd1Zs/s2048/21-09-30+3xTC.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHHRBtqku1-fF7qdHBodA6FnI5D4KnIBj11-p74WQlycWdfzEK_aPrwNoWVMNo2-k6s_68JZHQLgdZzW_eit3rvUWiunt7t0peUdVQwxJMn7Zee9Icm7rBhK0f8pyaUiAuiTjuaAQd1Zs/s2048/21-09-30+3xTC.sync.jpg?imgmax=1600" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ01l_pvpwg9FV8fLkXUB842RHLCPBK5M7IYWRibgJS4TifWPcF07dJYvr93Jow0cRfGgB-KPovz35HhPfbZHkyGRr95iyvm48ASBUiSaW8TJA0QjxsRKhKpgSRV4Arqzb-WpdiktQWM/s2048/21-09-30+4xTC.sync.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJ01l_pvpwg9FV8fLkXUB842RHLCPBK5M7IYWRibgJS4TifWPcF07dJYvr93Jow0cRfGgB-KPovz35HhPfbZHkyGRr95iyvm48ASBUiSaW8TJA0QjxsRKhKpgSRV4Arqzb-WpdiktQWM/s2048/21-09-30+4xTC.sync.jpg?imgmax=1600" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">All of the above data was gathered using individual temperature meters, one per probe, TMP1101 in the TC case. The TMP1101 features 4 inputs and allows also to connect all probes to just one meter. Below is data recorded with 4 probes connected to a single TMP1101.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_G3w129B67y6WOQwQf7KsH_LWlvRtuhefkJop10YKjCjUrbKxVtJr79A-Tq7ykSYg8p1gzASDldfYmLIyvFgwXdsonjKejtG4ICTO6Jb65D6nXK0ld0pYi5J8yACXwMNhae6WaF5GKw/s2048/21-09-30+4x+TC+Probe+Array+-+One+TMP1101.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="2048" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_G3w129B67y6WOQwQf7KsH_LWlvRtuhefkJop10YKjCjUrbKxVtJr79A-Tq7ykSYg8p1gzASDldfYmLIyvFgwXdsonjKejtG4ICTO6Jb65D6nXK0ld0pYi5J8yACXwMNhae6WaF5GKw/s2048/21-09-30+4x+TC+Probe+Array+-+One+TMP1101.jpg?imgmax=1600" width="400" /></a></div><div><br /></div><div><br /></div><div>As in the previous report, we computed the StdDev over this data to ease the interpretation of those results. Higher values correlated with more noise. The results for the one probe setups are similar to those we found before for using those modules in synchronous mode.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszoVA_OylOiiZUaIJ5Kb3UqyROygU5SrJHHfHGeQUZhI4KEUNzEfBYOt7jBcfMO1GbpmTiCWBpVxsY98vv5-S4pHldPcVKMTzosEyZyVLawxXohclBmbAb4zKevAR-zLFo5xkKAq0JMk/s1089/probe-array-idle-noise-RTD2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="1089" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszoVA_OylOiiZUaIJ5Kb3UqyROygU5SrJHHfHGeQUZhI4KEUNzEfBYOt7jBcfMO1GbpmTiCWBpVxsY98vv5-S4pHldPcVKMTzosEyZyVLawxXohclBmbAb4zKevAR-zLFo5xkKAq0JMk/s1089/probe-array-idle-noise-RTD2.jpg?imgmax=1600" width="400" /></a></div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Joplq55WHyjFEm84e4vOkx_x22Z2S0I-555s6WIsuU0oiJIHLJ6rGIoWRszYOiY1gljH5lVNl3gx_M2_3rTgJG12_3wDhCDbzLBjzTaZQoxu3EbkGei-mYhAsAyKdtXGDa7pgp6iLYE/s1089/probe-array-idle-noise-TC2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="726" data-original-width="1089" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Joplq55WHyjFEm84e4vOkx_x22Z2S0I-555s6WIsuU0oiJIHLJ6rGIoWRszYOiY1gljH5lVNl3gx_M2_3rTgJG12_3wDhCDbzLBjzTaZQoxu3EbkGei-mYhAsAyKdtXGDa7pgp6iLYE/s1089/probe-array-idle-noise-TC2.jpg?imgmax=1600" width="400" /></a></div><br /><div><br /></div><h3 style="text-align: left;">Discussion</h3><div><br /></div><div><div>Should coffee roasters have probe arrays?</div><div><br /></div><div>Absolutely, as all this comes with zero signal delay and the expected noise reduction on roasting should be considerably higher than just the reduction on idle noise reported here. The idea to take advantage of probe arrays was noted in the <a href="https://artisan-roasterscope.blogspot.com/2019/03/on-idle-noise.html">original 2019 post on Idle Noise</a>. Now we are looking forward to roasting machines equipped with probe arrays from factory.</div></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheRI-mdJWnz_gMsxeYVUHzwHx5tT8Iv4odrA27_m-ZlETokThHqq4UYV2mWWecUGJrRgM-ksExcigRcnY1LxqmWgslh3WWvMy2ai4i5xTtlnLi_Ldi5u9CvQbYnceg6S1jBYf_k7cRDV4/s2000/P9300047.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1010" data-original-width="2000" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheRI-mdJWnz_gMsxeYVUHzwHx5tT8Iv4odrA27_m-ZlETokThHqq4UYV2mWWecUGJrRgM-ksExcigRcnY1LxqmWgslh3WWvMy2ai4i5xTtlnLi_Ldi5u9CvQbYnceg6S1jBYf_k7cRDV4/w200-h101/s2000.JPG?imgmax=1600" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH1r6DBAZ_Dj0RHa_SGIYEA4t1J7fJwjuQwFC289rRjlhAnfNdfL8tUhRYxRMyyuKNEgWGEk4wgzQxV8KKwLoksDVWYDaVwO_LU3jWFCrEy44EYR_3sdLDM2j4p9XSjauebWnbzhieGhM/s2000/P9300052.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1010" data-original-width="2000" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH1r6DBAZ_Dj0RHa_SGIYEA4t1J7fJwjuQwFC289rRjlhAnfNdfL8tUhRYxRMyyuKNEgWGEk4wgzQxV8KKwLoksDVWYDaVwO_LU3jWFCrEy44EYR_3sdLDM2j4p9XSjauebWnbzhieGhM/s2000/P9300052.JPG?imgmax=1600" width="200" /></a></div><br /><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-49378241752426635582021-09-21T13:49:00.009-07:002021-09-21T14:09:46.671-07:0010 degrees above FCs<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2021/09/10-degrees-above-fcs.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="361" data-original-width="756" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtEVd_JJr9XOEkBWIsQhYNmRHdUu1lvWk-MPN5gS8rp-wCMUjLfaO9TlnH7e86pJD2NwLQh190WHPNsBUPhdySP23u87yShlAFHaYeGCaO6DNmFdpYARvfKidgoQ_IyuEZJA1AgolFKAE/w640-h306/IMG_3219+copy.JPG?imgmax=1600" width="640" /></a></div><br /><p>Michael just asked me to extend the <a href="https://artisan-roasterscope.blogspot.de/2013/03/alarms.html">alarm system</a> of Artisan to allow him to add an alarm that would speak to him once his bean temperature increased by 10 degrees after first crack start.</p><span><a name='more'></a></span><p>Well, nothing to add. One just needs to use a sequence of two alarms building an <a href="https://artisan-roasterscope.blogspot.de/2016/08/more-alarms.html">alarm chain</a>. The first alarm should trigger at FCs and set the scene.</p><p><br /></p><p><b>Alarm Rule 1:</b></p><p></p><ul style="text-align: left;"><li>From: FC Start (<i>don't trigger before FCs)</i></li><li>Time: 00:01<i> (keeping time at the default "00:00" would deactivate the time criteria)</i></li><li>Source: <empty><i> (temperature empty to deactivate the temperature criteria)</i></li><li>Condition: <any></li><li>Value: <any></li><li>Action: <empty<i> (we do not want anything to happen yet)</i></li></ul><p></p><p>The second alarm is guarded by the first and will trigger, once the temperature raised by 10 degrees relative to when the first alarm triggered.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzyxUOGbQbKCfhTjG-y9FL4SkSiAm1BeMQYpbkzYlUVeHpfrS3dTdfn5kmzxp2GxdL30fo0YIYA7o3fWLKVg01p609f13NE2t6Z_iEpquQM_myvEEty8Ex5Z2CK0LW1xmoB6Z34TF2r1Q/s2194/Screenshot+2021-09-21+at+19.52.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="804" data-original-width="2194" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiId1hX6r2Z7vRAugfpb7RMu7BhAIRKBAOq6x_5XR0kgOZYM4_y64wJus7b2BmHOIi-ziTMj9vHygni5PSkPsOEd8LHaC17op9N8_qQ0EVb86_0TBRh5cVjc7ufpT6tiWa1f6vhCC4JHvA/s2194/Screenshot+2021-09-21+at+19.52.35.png?imgmax=1600" width="640" /></a></div><br /><p><br /></p><p><b>Alarm Rule 2:</b></p><p></p><ul style="text-align: left;"><li>If Alarm: 1<i> (never trigger before Alarm 1 triggered)</i></li><li>From: If Alarm<i> (relative criteria mode, interpreting them relative to when Alarm 1 triggered)</i></li><li>Time: 00:00<i> (deactivate time criteria)</i></li><li>Source: BT<i> (we want to observe the bean temperature signal)</i></li><li>Condition: above</li><li>Value: 10<i> (interpreted in the selected temperature unit)</i></li><li>Action: Call Program</li><li>Description: say 10C after first crack. Time to DROP!</li></ul><div>The action of this second rule will have your computer say "10C after first crack. Time to DROP!" once the rule fires on macOS. Read on <a href="https://artisan-roasterscope.blogspot.com/2017/12/talking-alarms.html">Talking Alarms</a> on how to have your system do the same.</div><div><br /></div><div>A quick test with a device simulator verifies the correctness. You can as well run the <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-simulator.html">build in simulator</a> to test those rules.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqXdr15yaoa4oyeRYS1i9oOyBA410Ha42Co7lNgQaSrzDEDLquN9OBXQYKXoDjXwMKF-FOyWRX2fJsRYxUWp5t5EXU2IcL30YKapbUyvyPZ2JzXTkrqeWP_EKr6uN-hbFK9Y_BkuJ503c/s1928/Screenshot+2021-09-21+at+19.52.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1131" data-original-width="1928" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqXdr15yaoa4oyeRYS1i9oOyBA410Ha42Co7lNgQaSrzDEDLquN9OBXQYKXoDjXwMKF-FOyWRX2fJsRYxUWp5t5EXU2IcL30YKapbUyvyPZ2JzXTkrqeWP_EKr6uN-hbFK9Y_BkuJ503c/s1928/Screenshot+2021-09-21+at+19.52.20.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-37577631810345425052021-07-29T10:44:00.045-07:002021-11-28T05:24:52.346-08:00Artisan v2.4.6<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2021/07/artisan-v246.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="759" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp04B1RBy3_QsmbIzrRqciOGs16zh-3H_WSTbVSUowJDDnjt9gDG6gMK8-80NT7BQDqGpCakwcQql2_3Qo1kb2Gu7lYW0qcij6_xjRUuQGyEOHTX1E3foumw0vpKA8AYnBp4HC_eXwUnE/s16000/2.4.6.png?imgmax=1600" /></a></div><br /><p>Artisan v2.4.6 adds structures to calculate energy consumption and CO₂ production per roast.</p><span><a name='more'></a></span><h3 style="text-align: left;">THANK YOU! </h3><p>The <a href="https://artisan-scope.org/" rel="nofollow" target="_blank">Artisan project</a> runs on donations from individuals and companies recognising the value of Artisan for their work or leisure. Consider supporting this project <a href="https://artisan-scope.org/donate/" rel="nofollow" target="_blank">with your donation</a>!</p><p>Much thanks go to <a href="https://www.sweetmarias.com/" rel="nofollow" target="_blank">Sweet Maria's</a>, the suppliers of green coffee and home coffee roasting supplies, who took the release sponsorship for Artisan v2.4.6!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.sweetmarias.com/" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtuMemvkmXtwYVQXqe2zg8LpOZcW7E_yb5LIguaiypftlAQUOAe5t_Z20PXnf5HLSTMXx05ID0G5kWgW6gxxK9CoBn8_Xk-XCo0il5udxXGr0eJhCzK0Q-B7daTNPS4sznH3KTMfUuihQ/w400-h200/sweet-marias-logo.jpeg?imgmax=1600" width="400" /></a></div><p>This release, as every other release this and the last years, was supported by the amazing Randy (<a href="http://www.buckeyecoffee.com/" rel="nofollow" target="_blank">Buckeye Coffee Roasters</a>, USA). Compliment! </p><blockquote style="border: medium none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;">In return we offer every customer that purchases a machine from Randy a <b>free 1-year <a href="http://artisan.plus" rel="nofollow" target="_blank">artisan.plus</a> PRO subscription! </b>This offer is valid while Artisan v2.4.6 is the current release.</p></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="http://www.buckeyecoffee.com/" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1340" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73JZ5_yPXKVNrlkhsL8OLVW2Z68mQw4P1yx8Rk1o-KJcmJV0cN1aD5fmo9eSdkbv8mFMSTvmsJvHTzBKIjgDRx0_uR-wXwFe9SJlYQokuzHnp1vxtPtb70HTwpGciyHtB1K0C1AZdPw4/w400-h149/bc-logo-wide.png?imgmax=1600" width="400" /></a><span style="text-align: left;"> </span></div><p>This release is also made possible by the machine manufactures <a href="https://www.bescaroasters.com/" rel="nofollow" target="_blank">Besca</a> (TR), <a href="https://coffed.pl/" rel="nofollow" target="_blank">Coffed</a> (PL), <a href="https://www.ip-cc.com/" rel="nofollow" target="_blank">IP-CC</a> (GR), <a href="https://www.probat.com/" rel="nofollow" target="_blank">Probat</a> (DE), <a href="http://www.roastmaxroasters.com.au/" rel="nofollow" target="_blank">Roastmax</a> (AU), and <a href="https://www.toper.com/" rel="nofollow" target="_blank">Toper</a> (TR) who provided support for the further development of Artisan. A big thanks to all of them!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-scope.org/machines/index" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1500" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ozqV_1prkOytkpCrri_xkEbJF_TllBT4fl4UyeUqOOqO7NcRqWQOF1P7wT_z1sk3vY2vtkB2mCSHZMSY6jIbqzqLfORYCpuGE71Da4p_i-hpKFDk77F7oPhRO0VqddZ5Jo5gA8Oxwis/w640-h214/total.png?imgmax=1600" width="640" /></a></div><br /><p><br /></p><p>Marko & Paul created the <a href="http://artisan.plus" rel="nofollow" target="_blank">artisan.plus</a> service to provide a financial basis for the Artisan project.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan.plus" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="360" data-original-width="2912" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAYHcq4GycOlz3vIgd0A8mbk-mM_N45ZhMkJGCBgSWsZWySqc85wTE2ZQS0eauu_Ct2uZcfU_vspNydPzmazDr9M7cw82IrZHMz-BH1MAaVD5J3TvDarec5VvBoCJJDK81aLHNRqCjoMY/s2912/banner-artisan.plus-nov2021.gif?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>The following individuals and operations (in no specific order) did support the development of this version with their donation: <i>Sam Foley, Sheldon Wenger, John (<a href="https://www.roasting.com/" rel="nofollow" target="_blank">The Salt Lake Roasting Co.</a>), Marsal Bruna, David Parker, Dan (<a href="http://www.danlawrenceviolins.com/" rel="nofollow" target="_blank">Lawrence String Instruments</a>) Gianfranco Azzarone, Todd Waltemade, David (<a href="http://www.damarliestate.com" rel="nofollow" target="_blank">Pech Services LLC</a>), Martin Escobar, Todd Waltemade, Gerald (<a href="http://www.meisterzenger.com" rel="nofollow" target="_blank">Meister Zenger Coffee</a>), William Waits, Hans Roodenburg, Markus (<a href="http://www.kaffeewerkstattkucha.de" rel="nofollow" target="_blank">Kaffeewerkstatt Kucha</a>), Daniel Gerbers, Bernt Harsh,Koehn (<a href="https://beanergyroastingco.com/" rel="nofollow" target="_blank">Beanergy Roasting Co.</a>), Markus Wenzel, 鈴木 貴之, Tiago (<a href="http://www.brazucacoffee.nl" rel="nofollow" target="_blank">Brrazuca C.O. BV</a>), Just Dust, Allister MacSorley, Arsalan (<a href="http://www.fluxcoffee.com" rel="nofollow" target="_blank">Flux Coffee</a>), Anne Huge, Frank Haist, James (<a href="http://www.folkcityroasters.com" rel="nofollow" target="_blank">Folk City Roasters</a>), Brian Larsen, Jared Dean, Guy (<a href="http://www.espressotech.co.il" rel="nofollow" target="_blank">Espressotech</a>), Andres Freytes, John (Dockside Coffee), Martin Dieckmann, Guido Fisler, Alexander (<a href="https://www.roestereibedarf.de" rel="nofollow" target="_blank">Röstereibedarf</a>), Brad Davis, Gracia Posada, Anthony (<a href="https://www.rezoundpro.com/" rel="nofollow" target="_blank">ReZound Productions</a>), Robert Dossett, Levente Balo, Benjamin (<a href="http://www.benson.coffee" rel="nofollow" target="_blank">Benson Coffee</a>), Henk Cowan, Graham Jessup, Phil (<a href="http://anonymouscoffee.co.uk" rel="nofollow" target="_blank">Anonymous Coffee Co.</a>), Markus Moll, Rogelio Martinez, Dario (<a href="http://www.etruriacaffe.it" rel="nofollow" target="_blank">Etruria Manifatture di A.Cavicchi</a>), Gavin Martin, Robert Manning, Alan Hunter, Jamie (<a href="https://canadianbaristainstitute.com" rel="nofollow" target="_blank">Canadian Barista & Coffee Academy</a>), Charles Dunlap, Ronald Lee, Arie Boon, Jonathan and Shelly (<a href="https://pc.coffee/" rel="nofollow" target="_blank">Porch Culture Coffee Roasters</a>), David Goldsobel, Richard Unger, Mike (<a href="http://www.naturesourcecoffee.com" rel="nofollow" target="_blank">Nature Source Coffee</a>), Andreas Fürst, James Gentry, Robert Denson.</i></p><p>We would like to thank especially those that are supporting this project regularly: <i>Craig Seko, Steven Kelleher, David Austin, Jesse Manning, Frans (<a href="https://kostverlorenvaart.blogspot.com/" rel="nofollow" target="_blank">Kostverlorenvaart</a>), Michael (<a href="http://www.encorecoffeeco.com" rel="nofollow" target="_blank">Encore Coffee Company LLC</a>), Mario Holste, Rosemary Levine, Manfred (<a href="https://werksbrandt.de/" rel="nofollow" target="_blank">Werksbrandt</a>), Thomas Husband, Arch Getty, Colin (<a href="http://www.ironsideroasting.com" rel="nofollow" target="_blank">Iron Mule, Inc.</a>), Flint Orr, Reyphilip Sowels, Manuel (<a href="http://www.caffeterzi.it/" rel="nofollow" target="_blank">Café Terzi</a>), Ed Warschilka, Adam Glass, and Richard (<a href="https://www.freespacecoffee.com/" rel="nofollow" target="_blank">Free Space Coffee</a>).</i></p><p>Extra thanks goes to Loren Nasser for enabling the project to acquire a Windows 10 license at a great discount.</p><p>Now get active! Contribute <a href="https://github.com/artisan-roaster-scope/artisan/issues" rel="nofollow" target="_blank">ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues" rel="nofollow" target="_blank">report issues</a>, help to improve <a href="https://artisan-scope.org/docs/quick-start-guide/" rel="nofollow" target="_blank">the documentation</a> and <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" rel="nofollow" target="_blank">correct and extent the localizations</a> as Leo Huang (<a href="http://www.coffeerci.com/public/" rel="nofollow" target="_blank">Rainforest Coffee Institute, RCI</a>) for Chinese and Richard Rodrigues for Spanish did for this version. If you are short in time, consider to contribute with <a href="https://artisan-scope.org/donate/" rel="nofollow" target="_blank">a donation</a> to enable us to develop the next version.</p><p><br /></p><p><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" rel="nofollow" target="_blank">Download now!</a></p><p>Your Artisan team</p><p>Marko, Dave, and Michael</p><p><br /></p><h3 style="text-align: left;">What's new?</h3><div><br /></div><div>This version delivers many small fixes and improvements. The full list of additions, changes and fixes is available in the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" rel="nofollow" target="_blank">Detailed Release History</a>. The most prominent new features are the following.</div><div><br /></div><h4 style="text-align: left;">Tracking Energy Consumption & CO₂ Production</h4><div><br /></div><div>Artisan v2.4.6 takes a first step into <a href="https://artisan-roasterscope.blogspot.com/2021/07/tracking-energy-consumption-co2.html">making energy consumption and CO₂ production in roasting measurable</a>.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM3P3p7yKTi0OLkW8IRZ_X3MFcXYxWIJpUFSVsWPmMc_DKBRcy8g98gKGvmJfrIa90z73fo8GHkbZLWaRrT-AEn7ccvYUtggd2CW8HxrTo5UIVTXOWXRyIgR_Wx0lCXEt2tuo_mpFGpnQ/s1566/Screenshot+2021-07-25+at+17.12.52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="368" data-original-width="1566" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM3P3p7yKTi0OLkW8IRZ_X3MFcXYxWIJpUFSVsWPmMc_DKBRcy8g98gKGvmJfrIa90z73fo8GHkbZLWaRrT-AEn7ccvYUtggd2CW8HxrTo5UIVTXOWXRyIgR_Wx0lCXEt2tuo_mpFGpnQ/s1566/Screenshot+2021-07-25+at+17.12.52.png?imagemax=1566" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div>In a parallel activity we formed the <a href="https://norm-roast.org/" rel="nofollow" target="_blank">NORM ROAST</a> Working Group of manufactures and field experts to define a global harmonised standard for determining the levels of pollutants, CO2 emissions and energy consumption of small to mid-size coffee roasting machines.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://norm-roast.org" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="500" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAKPKo08df9R2u-iUkSBdGiDLWZgCqqwWjENzlivF_L4iLq6JInlaGLbyQAKNdu5jDt_qpFfAD6pbuwvqXCwH4kOYkGKyvB-VhdQ9mCaysx0sOW2kMknlNM-r54fQSEDNMQnmLNF8LsIY/s1566/norm-roast-icon-500.png?imagemax=1566" width="200" /></a></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">Translations</h4><div><br /></div><div>The UI translations for Chinese and Spanish were heavily improved. Further, translations for Vietnamese, Danish, Latvian, Slovak and Scottish have been added.</div><div><br /></div><div><h4>Curve Rendering</h4></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLvvZOACuQvq_6ZKFijjIOhTWLCOqxP1Smfm2T6U7bpbd8aHDJ9PCcflmLpFxSJ1voQgk0Dyo6ZIR2sBf2S9fu8ZGLekyFZFasZPZ8_5lQGktEEyNpSX2yeTDN4Ib-i1ZAGAyMsmr2oXg/s1500/full.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="499" data-original-width="1500" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLvvZOACuQvq_6ZKFijjIOhTWLCOqxP1Smfm2T6U7bpbd8aHDJ9PCcflmLpFxSJ1voQgk0Dyo6ZIR2sBf2S9fu8ZGLekyFZFasZPZ8_5lQGktEEyNpSX2yeTDN4Ib-i1ZAGAyMsmr2oXg/s1500/full.png?imgmax=1600" width="640" /></a></div><br /><div>Flags have been added to allow you to choose to hide the part of the curves before CHARGE and after DROP, separately for the foreground profile (flag "<span style="font-family: courier;">Show Full</span>" in the Curves dialog, menu<span style="font-family: courier;"> Config >> Curves</span>, second tab<span style="font-family: courier;"> Filters</span>) and background template (flag "<span style="font-family: courier;">Show Full</span>" in the Background dialog, menu<span style="font-family: courier;"> Roast >> Background</span>). Pressing the shortcut keys "i" and "o" allows to quickly toggle those two flags. Further shortcuts are listed under menu<span style="font-family: courier;"> Help >> Keyboard Shortcuts</span>.</div><div><br /></div><div>Visibility of a loaded background profile can be toggled by clicking its title on the top right of the graph. Two further flags have been added to control the visibility of background profiles to the Background dialog (menu<span style="font-family: courier;"> Roast >> Background</span>). The flag "<span style="font-family: courier;">Clear the background before loading a new profile</span>" allows to always get rid of previously loaded background profiles on loading a profile, and the flag "<span style="font-family: courier;">Always hide background when loading a profile</span>" will hide background profiles immediately after loading.</div><div><br /></div><h4 style="text-align: left;">Image Export</h4><div><br /></div><div>Profiles exported as images via menu<span style="font-family: courier;"> File >> Save Graph </span>are rendered now in better quality. Optimized image exports for Facebook and Instagram posts have been added.</div><div><br /></div><h4 style="text-align: left;">artisan.plus</h4><div><br /></div><div>The integration with the online inventory management service <a href="http://artisan.plus" rel="nofollow" target="_blank">artisan.plus</a> has been extended in many ways. Artisan now allows to load profiles from URLs which allows to load .alog profiles attached to a roast on artisan.plus with one click and thus allows direct profile sharing with the guests of your account. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPAREKIIxCff2hbN046DjFe-NRxoMZ-83r2WxxrzbmuLWGK_MoLLgIB0RaZ-_qcSuLojgIJBfvrYK34ruANklqJPkiWHDk6bosdgRX9VcEfgMrS500kE5JUIIR9aic9RD_H4WfvKIaL3I/s2048/Screenshot+2021-07-25+at+18.41.17.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1108" data-original-width="2048" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPAREKIIxCff2hbN046DjFe-NRxoMZ-83r2WxxrzbmuLWGK_MoLLgIB0RaZ-_qcSuLojgIJBfvrYK34ruANklqJPkiWHDk6bosdgRX9VcEfgMrS500kE5JUIIR9aic9RD_H4WfvKIaL3I/s2048/Screenshot+2021-07-25+at+18.41.17.png?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div>A click on the artisan icon on an artisan.plus roast entry allows to load a profile in Artisan to the foreground (colored icon) or the background (grey icon).</div><div><br /></div><div>Besides support for <a href="https://ddoc.artisan.plus/updates/organic-reports/" rel="nofollow" target="_blank">organic production reports</a> and FLO-IDs identifying sustainable business, <a href="http://artisan.plus" rel="nofollow" target="_blank">artisan.plus</a> has been extended by an energy consumption and CO2 production widget that sums up your consumption and emissions over all roasts.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX5eR5QSDmAs4XY3LPM8S-cmpKvSx1pp_DCMGJOrzRLK-TYltNL-KuyzZEl0YhfmsVkTnBrHwq60Jl0q509sBvjjDon6SF0_Sq0VLs73aEQaL-LHlPAkWkRHaH7bleHHk8JjE0vTfMGdg/s2048/Screenshot+2021-07-25+at+18.53.52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1052" data-original-width="2048" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX5eR5QSDmAs4XY3LPM8S-cmpKvSx1pp_DCMGJOrzRLK-TYltNL-KuyzZEl0YhfmsVkTnBrHwq60Jl0q509sBvjjDon6SF0_Sq0VLs73aEQaL-LHlPAkWkRHaH7bleHHk8JjE0vTfMGdg/s2048/Screenshot+2021-07-25+at+18.53.52.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><h4 style="text-align: left;">Machine and Device Support</h4><div><br /></div><div><div>This version adds support for the</div><div><ul style="text-align: left;"><li>new <a href="https://www.kirschundmausser.de/" rel="nofollow" target="_blank">Probat Kirsch & Mausser</a> PLCs version supporting control of burner, airflow, drum speed, and various other actors</li><li><a href="https://www.coffee-tech.com/products/shop-roasters/fz94-evo/" rel="nofollow" target="_blank">Coffee-Tech's new FZ94 EVO shop roaster</a> incl. control of burner airflow and drum speed</li><li><a href="https://www.carmomaq.com.br/" rel="nofollow" target="_blank">Carmomaq roasting machines</a> incl. control of burner, airflow and drum speed</li><li><a href="http://www.roastmaxroasters.com.au/" rel="nofollow" target="_blank">Roastmax roasting machines</a></li><li><a href="https://www.craftsmithroasters.com/" rel="nofollow" target="_blank">Craftsmith roasting machines</a></li></ul></div><div>The Giesen setups were updated by a second palette (press command-2 to toggle to this palette and command-1 to go back to the original simpler palette 1) that defines buttons to drive actors optionally available on the larger machines, like operating the discharge door.</div></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87cWfTQaFQg08ocjpF2WBH18Gm49QlaARXbUWqaYhZYTbU0bVWFGDo3IRbXb_hHrvVR6knCmyEfdReIrYQRUnjXq4qfpkIpPxQxQilUGMB6c6zY83HpBraynkESHKhwIznIO6ZeqS3kg/s1832/Screenshot+2021-07-25+at+18.13.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="322" data-original-width="1832" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87cWfTQaFQg08ocjpF2WBH18Gm49QlaARXbUWqaYhZYTbU0bVWFGDo3IRbXb_hHrvVR6knCmyEfdReIrYQRUnjXq4qfpkIpPxQxQilUGMB6c6zY83HpBraynkESHKhwIznIO6ZeqS3kg/s1832/Screenshot+2021-07-25+at+18.13.24.png?imgmax=1600" width="640" /></a></div><div><br /></div>The list of supported devices has been extended by the <a href="https://artisan-scope.org/devices/yoctopuce/" rel="nofollow" target="_blank">Yoctopuce</a> modules <a href="https://www.yoctopuce.com/EN/products/usb-electrical-sensors/yocto-0-10v-rx" rel="nofollow" target="_blank">Yocto-0-10V-Rx</a>, <a href="Yocto-milliVolt-Rx" rel="nofollow" target="_blank">Yocto-milliVolt-Rx</a> and <a href="Yocto-Serial" rel="nofollow" target="_blank">Yocto-Serial</a>. The support for <a href="https://artisan-scope.org/devices/phidgets/" rel="nofollow" target="_blank">Phidgets PWM modules</a> (like the OUT1100) has been extended by a command to set the PWM frequency and a command has been added to set the current limit on <a href="https://artisan-scope.org/devices/phidgets/" rel="nofollow" target="_blank">DCMotor modules</a>. <div><br /></div><div><br /></div><div><br /></div><h3 style="text-align: left;">What else?</h3><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Improved Support</h4><div><br /></div><div>We added a <a href="https://artisan-scope.org/help/" rel="nofollow" target="_blank">help page on artisan-scope.org</a>, which holds links to all information resource available around Artisan and contains newly composed list of <a href="https://artisan-scope.org/help/#FAQ" rel="nofollow" target="_blank">frequently asked questions (FAQ)</a>. To foster the discussions of the Artisan community on the software and beyond, we established <a href="https://github.com/artisan-roaster-scope/artisan/discussions" rel="nofollow" target="_blank">Artisan Discussion Forum</a> on GitHub. To post on this forum, a GitHub registration is required (see <a href="https://artisan-scope.org/discussions/" rel="nofollow" target="_blank">how register on GitHub and how to describe to Artisan discussions</a>, by Dave). Our idea is to move technical discussion from the <a href="https://lists.einfachkaffee.de/postorius/lists/artisan-user.lists.einfachkaffee.de/" rel="nofollow" target="_blank">Artisan mailing list</a> to this new support forum and reserve the mailing list for announcements to the community.</div><div><br /></div><h4 style="text-align: left;">Safe for the next 1000 years!</h4><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFWf76Alqz7nK0JMK9S1Ja9Cl4DOipDsT9zJv3ykEVjrL49nXkAn2vIh0BWeO4y_z6oWORV3pkMDJHI68Xt9Ko-EyyGdu5xeYgqOCJJ8BTPd9Jz5sw49Wew2tvrbnuawaRHOU25qLkSlQ/s1365/artic.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="1365" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFWf76Alqz7nK0JMK9S1Ja9Cl4DOipDsT9zJv3ykEVjrL49nXkAn2vIh0BWeO4y_z6oWORV3pkMDJHI68Xt9Ko-EyyGdu5xeYgqOCJJ8BTPd9Jz5sw49Wew2tvrbnuawaRHOU25qLkSlQ/s1365/artic.png?imgmax=1365" width="400" /></a></div><br /><div><br /></div><div>The Artisan repository has been included in the <a href="https://github.com/" rel="nofollow" target="_blank">GitHub</a> snapshot captured on 02/02/2020, which was archived to hardened film designed to last for 1,000 years, and stored in the <a href="https://archiveprogram.github.com/arctic-vault/" rel="nofollow" target="_blank">GitHub Arctic Code Vault</a> in a decommissioned coal mine deep beneath an Arctic mountain in Svalbard, Norway.</div><div><br /></div><div><br /></div>
<div class="container">
<iframe allowfullscreen="" class="video" frameborder="0" src="https://youtube.com/embed/fzI9FNjXQ0o"></iframe>
</div>
<h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Phidgets Education</h4><div><br /></div><div>Marko gave an interview to <a href="https://www.phidgets.com/" rel="nofollow" target="_blank">Phidgets</a> Education, introducing Artisan and its use of Phidgets in coffee roasting.</div><div><br /></div><div><br /></div>
<div class="container">
<iframe allowfullscreen="" class="video" frameborder="0" src="https://www.youtube.com/embed/mxKqstWoCDE"></iframe>
</div><div><br /></div><div><br /></div>
Only one SD card got hurt on building this release... <div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDKx6OwlzVifFOZ5k_e1qw7nWZMX-lRaGAZlp0xkP3f3jSS45wthAT9XoIhrZh6xkVGDu_yhkCSgBR7xl3J1OWyWwFtQqZzxCaVcqZ-6nHBdR2bPIQkegFQSCWUWKB5OZf9SjlyrLG5uI/s1412/IMG_0080.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="1412" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDKx6OwlzVifFOZ5k_e1qw7nWZMX-lRaGAZlp0xkP3f3jSS45wthAT9XoIhrZh6xkVGDu_yhkCSgBR7xl3J1OWyWwFtQqZzxCaVcqZ-6nHBdR2bPIQkegFQSCWUWKB5OZf9SjlyrLG5uI/s320/IMG_0080.JPG" width="320" /></a></div><br /><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-13740014239308759982021-07-29T10:44:00.041-07:002021-11-08T08:01:33.250-08:00Tracking Energy Consumption & CO2 Production in Coffee Roasting<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2021/07/tracking-energy-consumption-co2.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="414" data-original-width="746" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Fy7pxccids7e1ljvsIGow9Qdt_q1mQWthogrqt4jtcipugLSbqghdINj-BY064OP7e0boc0u5tt9GXzJqzQWr9Se_pF6OSxfRaFDfZQECqndrbTiG6j6nxLPs-8bUE_E51JTlnp4Zks/s16000/pexels-kindel-media-7527883_sized.jpg?imgmax=1600" /></a></div><br /><p>Artisan v2.4.6 introduces a new capability to estimate the energy
consumption and CO2 emission for every batch roasted with Artisan. This first-of-the-kind calculator uses
logged burner settings, roaster machine specific specification data and energy source information to provide a consistent and methodical view of the
roast machine’s performance. </p><span><a name='more'></a></span><div>“<i>We need to stop focusing on dates and numbers and actually accept and acknowledge the fact that we need to reduce our emissions right now. We can talk about 2030 or 2040 as much as we want. But it is what we are doing now that really matters.</i>" <div style="text-align: center;"><span style="text-align: right;"> – Greta Thunberg, Interview by Leslie Hook in Financial Times Magazine (March 31, 2021)</span></div><div style="text-align: center;"><br /></div><div>Let's start now! Still the first action has to be to document our current consumption and emissions to decide on how to improve our performance.</div><div><br /></div><div>As Toby Weedon (<a href="https://www.oatly.com/int/" target="_blank">Oatly</a>) puts it in a recent online session together with Tim Ridley (<a href="https://www.thebaristaleague.com/" target="_blank">The Barista League</a>) on <a href="https://www.youtube.com/watch?v=-__zgmy4qW4" target="_blank">How to Tackle YOUR Coffee's Carbon Footprint Today</a>: "<i>There is so much to be done! As you think about your carbon footprint, can I encourage you to do this: use good information and good data</i>". </div><div><br /></div><div>Although it is known that roasting contributes only about 4% to the total CO2 footprint across the full coffee supply chain from plant to disposal which is about 192.8g CO2 / kg green coffee [<a href="http://www.davidpublisher.org/index.php/Home/Article/index?id=15477.html" target="_blank"><i>Carbon Footprint across the Coffee Supply Chain: The Case of Costa Rican Coffee</i></a> by Killian et al., Journal of Agricultural Science and Technology 2013], it turned out that the CO2 footprint of our roasting is 2.6x higher than that. Why is that and how do I know?</div></div><div><br /></div><div>We developed a tool that calculates gas consumption for every batch roasted with Artisan, knowing that our approach cannot be 100% precise. As Ram Evgi from Coffee-Tech Engineering puts it in <a href="https://perfectdailygrind.com/2021/03/exploring-the-environmental-impact-of-coffee-roasting/" target="_blank">Exploring the environmental impact of coffee roasting</a>: <i>"It isn’t simple to predict gas consumptions from the brochure, and not easy at all to measure them"</i>.<div><br /></div><div>While some research has been performed on large continuous roasting operations, there is not much available on batch roasting. We are left to the manufacturers of roasting machines to provide us with information on consumption and emission. Precious few publish useful information while many others provide inaccurate data or none at all. Some manufacturers make bold marketing claims regarding efficiency or clean operation without disclosing objective measurements to validate them. </div><p>The coffee roasting industry needs to embrace the need for improvement. Roasting machine manufacturers need to be clear and transparent about how their equipment performs. Purchasers of roasting equipment must demand this for the industry to improve.</p><p>By estimating energy consumption the roastmaster can adapt her procedures to reduce the impact of a roast session. It is possible to make significant quantifiable improvement without having to purchase new equipment. </p><p><span>This article provides information about what the Energy Calculator does, how it operates and shows several examples of how to configure it and how to interpret the results. We hope you will find this adds valuable information to your roasting operation and that the Energy Calculator </span> will help create awareness, dialog, and improvement by roastermasters throughout the industry. <br /> </p><h4 style="text-align: left;">How the Energy Calculator Works</h4><p>The Artisan Energy Calculator provides estimates for energy consumption and CO2 emission across four phases of the roasting process, Pre-Heating at the start of the roast session, Between Batches (BBP), the Roast batch itself and the roaster Cooling at the end of the session.</p><p>The units used for the inputs and outputs can be selected. However, two key summary values are reported in fixed units to allow for consistent comparison across measurements. These two measures are Energy in kW per kg green coffee and CO2 in grams per kg green coffee.</p><p>The Energy Calculator uses a variety of inputs to make its calculations. Information about the roast machine and its energy loads is required. The largest energy load will be the primary gas burner or electric heating element. If there is an afterburner it too will be a significant energy load. Gas burners and afterburners generate CO2 from the burning of that gas. The Energy Calculator estimates the amount of CO2 generated based on the type of gas being used and the power rating of the burner. </p><p>Electric loads such as motors, fans and electric heating elements can contribute a surprising amount of CO2. This CO2 is not produced at the roaster but rather in the generation of the electricity. There are a range of sources of electricity from coal to hydro and wind. The Energy Calculator allows for setting the electric energy mix from 100% renewable sources (zero CO2) to 0% renewable (much CO2). </p><p>A total of up to four energy loads can be defined. The loads can be variable or continuous during the roast. Continuous loads are considered to be operating at 100% throughout the duration of the roast. The drum motor is an example of a continuous load. Continuous loads like motors and fans can be aggregated into a single load for convenience.</p><p>Gas, or heat settings are examples of a variable load. A load such as the "Burner" is linked to the event used to <a href="https://artisan-scope.org/help/#FAQ-Recording-11" target="_blank">log the gas setting</a>. Other variable loads, perhaps an afterburner, can each be linked to a logged event. Some roasters report heat while others report gas pressure. The Energy Calculator can optionally translate gas pressure readings into heat energy. </p><p>Sometimes roastmasters choose to log variable loads in some other unit and not as a percent value. Consider gas pressure readings that might be logged as kPa values. The Energy Calculator allows for translating these values into percent of maximum so the roastmaster does not have to change their logging methods to take full advantage of the energy calculation.</p><p>The Energy Calculator operates across four phases of roaster machine operation. These phases are Pre-Heating, Between Batches, the Roast and end of session roaster Cooling. The Pre-Heating and Between Batches phases can be significant energy consumers. By evaluating them the roastmaster can adjust her routine to reduce energy consumption where it is not productive. Normally the heat is off during cooling but the motors and fans are still running and may thus be included in the energy totals.</p><p>Artisan provides assistance in determining the configuration values to use for measuring consumption during the Pre-Heating, Between Batches and Cooling phases. The roastmaster can record one or more of these phases in isolation or in combination with a roast. It is easy with Artisan, press START at the beginning of roaster pre-heating and either press STOP at the end of the pre-heat or enter CHARGE as normal to capture the roast. Similar methods can be used to capture between batches or cooling. From this profile the Energy Calculator is able to autofill the appropriate fields in the Protocols setup. Alternately the roastmaster may input her own estimate or use a percentage for the energy and duration fields.</p><p>Between Batches energy, when configured, will be added to every roast. Pre-heating and Cooling will be added to only the first roast of the session. Why is cooling added to the first roast? Applying the Pre-heating and Cooling energies to the first roast keeps these overheads in one place. Since there could be any number of roasts in a session the last roast won't have a consistent batch number to look up later. </p><p>Sometimes a between batch routine will be included in the pre-heating energy. To avoid double counting, there is an option to not add the separately defined Between Batches energy to this first roast. </p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><i>The Artisan Energy Calculator provides the roastmaster with a way to approximate energy use and CO2 production. However, there is no claim that the values calculated are complete or exact in any respect. Please read the Caveats and Limitations section below for additional information.</i></p></blockquote><p><br /></p><h4 style="text-align: left;">How to Use the Energy Calculator</h4><p>To use the Energy Calculator effectively you must first enter some key parameters. Artisan makes it easy but some work on your part will be necessary. Details for each of these steps will be shown in the examples below.<br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p>(1) Locate the ratings for the roaster’s energy loads. These include the primary gas burner or electric heater, an afterburner if one is used, and electric loads like motors and fans. The largest load will be the heat source. This information should be available from your roaster manufacturer. If it is not available a reasonable, but certainly not exact, estimate can be found by looking up your roaster’s capacity in <a href="https://artisan-scope.org/ratings/" target="_blank">this table</a>. </p><p>(2) Setup Artisan to use events to record variable loads such as gas or heat settings. For instructions how to setup events see <a href="https://artisan-scope.org/help/#FAQ-Recording-11" target="_blank">How do I record my gas and air changes?</a> </p><p>(3) Setup the Artisan<span style="font-family: courier;"> Roast</span><span style="font-family: courier;"> </span><span style="font-family: courier;">Properties » Energy » Load </span><span style="font-family: inherit;">sub-tab </span>to include the primary loads. Click<span style="font-family: courier;"> Save Defaults </span>to be able to restore these settings later.</p><p>(4) Save your roaster settings to a file using<span style="font-family: courier;"> Help » Save </span>settings.</p></blockquote><p style="text-align: left;">At this point you will be able to calculate basic energy consumption and emission from individual roasts. Example 1 demonstrates these steps.</p><p>To expand the calculation to evaluate Pre-heating, Between Batches and Cooling Protocols these additional configuration steps are required. See Examples 2, 3 and 4.<br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p>(5) Make profile recordings for Artisan to use Protocol measurements.</p><p>(6) Complete the Artisan<span style="font-family: courier;"> Roast Properties » Energy » Protocols </span>sub-tab using the profile(s) recorded above. Click<span style="font-family: courier;"> Save as Defaults </span>to be able to restore these settings later.</p><p>(7) Finalize any continuous loads and other settings on the<span style="font-family: courier;"> Loads </span>and<span style="font-family: courier;"> Protocols </span>sub-tabs. Click<span style="font-family: courier;"> Save as Defaults </span>to be able to restore these settings later.</p><p>(8) Save your roaster settings to a file using <span style="font-family: courier;">Help » Save </span>settings.</p></blockquote><p>You may download a zip file containing Artisan profiles for each of the examples below. Examples 1 through 4 share a common settings file. Example 5 has its own unique settings file. Save your own settings to a file first so you can restore them later (menu<span style="font-family: courier;"> Help » Save Settings</span>). Then load the settings file for the example (menu<span style="font-family: courier;"> Help » Load Settings</span>). Download <a href="https://github.com/artisan-roaster-scope/artisan/raw/master/wiki/Examples/Energy/EnergyExamples.zip">EnergyExamples.zip</a>.</p><div><br /></div><h4 style="text-align: left;">Example 1 – The Basics</h4><p style="text-align: left;"></p><p>Let’s look at a simple example to see how to get started with the Energy Calculator. Open the Energy tab of Roast Properties (menu<span style="font-family: courier;"> Roast » Roast Properties » Energy </span>tab). From here click the<span style="font-family: courier;"> Loads </span>sub-tab. The load information is entered here as shown in the image below. Once these values are input we want to click the<span style="font-family: courier;"> Save Defaults </span>button so they can be recalled for new profiles or if they are ever overwritten, such as after loading a profile that has different energy data stored in it.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMjLbuqHNyokI8HSmWGukFpwZr2LdimCfIdtDAyQOXhHuKrOHQ4NSABVLR2pb0LDhCG1xbynXU9BFh65QD-en5uY1pm37LhW1WFuklAHLbR8BuWnrci-uC42iluMgkfxR9wkzOFgLBlSM/s751/Probatone+example+1_1+002.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="751" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMjLbuqHNyokI8HSmWGukFpwZr2LdimCfIdtDAyQOXhHuKrOHQ4NSABVLR2pb0LDhCG1xbynXU9BFh65QD-en5uY1pm37LhW1WFuklAHLbR8BuWnrci-uC42iluMgkfxR9wkzOFgLBlSM/s751/Probatone+example+1_1+002.png?imgmax=1600" width="640" /></a></div><br /><p>The <b><span style="font-family: courier;">Label</span> </b>field can be any text desired. If left blank the row label, “A”, “B”, ”C” or “D” will be used in its place. <br /><br /><b><span style="font-family: courier;">Rating</span> </b>is the value for the power rating of the load using a dot as decimal separator as in other places of the app. <br /><br /><b><span style="font-family: courier;">Unit</span> </b>should match the power rating. It can be “BTU/h”, “kJ/h”, “kCal/h”, “kW” or “hp”.<br /><br /><b><span style="font-family: courier;">Source</span> </b>can be any of “LPG” for propane or liquefied petroleum gas, “NG” for natural gas or “Elec” for electricity. Sorry, we don't support wood fired roasters (yet).<br /><br /><b><span style="font-family: courier;">Event</span> </b>ties the load to a recorded Artisan event. This example identifies Row A as being tied to the “Burner” event. When left blank, as in Row B, the calculator assumes the load is energized at 100% of the Rating value.<br /><br /><b><span style="font-family: courier;">Pressure %</span></b> should be ticked when gas pressure readings are taken from a pressure gauge. It should be unticked for electric roasters and for gas roasters that have a digital display, often labeled burner power or burner output.<br /><b><br /><span style="font-family: courier;">0% / 100%</span></b> sets the range for the load’s values to be interpreted as 0% to 100%. Normally a 0 value entered would correspond to 0%. A 100% value however may not correspond to an entry of 100. If you record burner settings as kPa instead of % then the 100% value could be a number other than 100. An example of how to use this value is<span> shown in Example 5</span>.<br /></p><p><b><span style="font-family: courier;">Electric Energy Mix</span></b> approximates the percentage of electricity that comes from renewable sources.<br /></p><p>For this roaster we entered the load information from the manufacturer's data sheet. </p><p> <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOzjdccPRnfa7jTAprS9kR2IcLJ7kGSffqaOM-jBVWUZQ48HF3jXC72orCHyLD1A0rvGfWvwrdQ3N0tfd0p8G2wKqNQhHYjMUEGJ3t5m2mTj5pynX66VE0yreFu-TKgMKIqcp-hvhh6sI/s495/Probatone+example+1_1+002_ver001.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="495" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOzjdccPRnfa7jTAprS9kR2IcLJ7kGSffqaOM-jBVWUZQ48HF3jXC72orCHyLD1A0rvGfWvwrdQ3N0tfd0p8G2wKqNQhHYjMUEGJ3t5m2mTj5pynX66VE0yreFu-TKgMKIqcp-hvhh6sI/s495/Probatone+example+1_1+002_ver001.png?imgmax=1600" width="640" /></a></div><br /><p>At this time we have not entered any information on the Protocol sub-tab. <br /></p><p>These Protocol fields are very important to the Energy Calculator. Pre-heating and Between Batches can be significant contributors to the energy total. They represent where roastmasters have the easiest opportunity to reduce their carbon footprint without buying new equipment. Shortening Pre-Heating by 10 minutes, or shortening Between batches by one minute can have a dramatic affect on the consumption and emission per kg of green coffee. We'll learn how to use these in the additional examples below. </p><p>For this basic example we will leave these fields blank. </p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_gqzYfyEaHcelHYi3-Z2Ujap4rrTvLhVADreThgSoP0wDookFt0av9OX841Ri2tNL0RC8xLS3q6KQ_snEoOIF9iGgxth8eyuZRfm8KsKVsyZSWHGBjOOa0thS1Z7ZzVx4W_DPF-FynLg/s751/Probatone+example+1_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="751" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_gqzYfyEaHcelHYi3-Z2Ujap4rrTvLhVADreThgSoP0wDookFt0av9OX841Ri2tNL0RC8xLS3q6KQ_snEoOIF9iGgxth8eyuZRfm8KsKVsyZSWHGBjOOa0thS1Z7ZzVx4W_DPF-FynLg/s751/Probatone+example+1_2.png?imgmax=1600" width="640" /></a><br /><br /><br />Click<span style="font-family: courier;"> OK </span>to save the settings and close the Roast Properties dialog. </p><p><br />Next we load a profile showing the burner settings used during the roast.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxjAZK1hqJZDxm642THG8g9Tmo2stSPNXnt-SFVHkfl1rL90eAqMeySJS_Ca6nEsnOuvgFiQlUaDrK_kUvRY3d8JcDe6QGfSNGU8c_e09TTmi8BuWDBbtz2GdJPoIT6EvQPAR56lsJgM/s1366/Example+1+-+The+Basics.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxjAZK1hqJZDxm642THG8g9Tmo2stSPNXnt-SFVHkfl1rL90eAqMeySJS_Ca6nEsnOuvgFiQlUaDrK_kUvRY3d8JcDe6QGfSNGU8c_e09TTmi8BuWDBbtz2GdJPoIT6EvQPAR56lsJgM/s1366/Example+1+-+The+Basics.png?imgmax=1600" width="640" /></a></div><br /><p></p></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><p style="text-align: left;"><i>For information on how to make special event annotations like those in the graph see <a href="https://artisan-roasterscope.blogspot.com/2020/05/special-events-annotations.html" target="_blank">Special Event Annotations</a> and <a href="https://artisan-scope.org/docs/events/" target="_blank">QSG: Events</a>.</i></p></div></blockquote><div><p>Now return to the Energy Tab in Roast Properties (menu<span style="font-family: courier;"> Roast » Roast Properties » Energy</span><span style="font-family: inherit;"> tab</span><span style="font-family: courier;"> » Details</span><span style="font-family: inherit;"> sub-tab</span>).</p><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvomobzyZDqR3xUfa_XapQ6sk7xEjAeOplVKr_nB4Yvfs-6csm7mJ0aoHefTwS3jAbfUzbTBfP65fAkMoDzwQqpThpB5L4xMct_P95m4S0deiyYpnGXBvcMsK03BhMoU50BN7_p8myGkE/s751/Probatone+example+2_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="633" data-original-width="751" height="540" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvomobzyZDqR3xUfa_XapQ6sk7xEjAeOplVKr_nB4Yvfs-6csm7mJ0aoHefTwS3jAbfUzbTBfP65fAkMoDzwQqpThpB5L4xMct_P95m4S0deiyYpnGXBvcMsK03BhMoU50BN7_p8myGkE/s751/Probatone+example+2_2.png?imgmax=1600" width="640" /></a></div><p style="margin-left: 40px; text-align: left;"><i>The energy unit used for this example is BTU, however it can be chosen using the<span style="font-family: courier;"> Results in </span>pull down at the lower left in the Energy tab. </i><br /></p><p>Let’s look at the information available on this page starting with the Energy summary at the top left.<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAXSo1fAwGiCGdJD_9_q1LnVXd-SoszLCel1d0arGB3Fea_PL_UYejQ6JEbtAwPVL0WIBs3y4k5WRIs8hPaYf37MFlvMuMR6i5pdVCGytRdPlMUzLyOPlysLbdH4WeB56zl_M_lMDofm8/s676/Screenshot+2021-07-29+at+20.56.39.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="180" data-original-width="676" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAXSo1fAwGiCGdJD_9_q1LnVXd-SoszLCel1d0arGB3Fea_PL_UYejQ6JEbtAwPVL0WIBs3y4k5WRIs8hPaYf37MFlvMuMR6i5pdVCGytRdPlMUzLyOPlysLbdH4WeB56zl_M_lMDofm8/s676/Screenshot+2021-07-29+at+20.56.39.png?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div> <p></p><p>We see that the total energy used by this roast is 3345 BTU. The Preheat and BBP energies are both zero because no entries have been made on the Protocols sub-tab. At the bottom the energy for this roast is shown per kg of green coffee. This value is always shown in the unit watt-hours per kg. For this value to be shown there must be a green coffee weight entered in the<span style="font-family: courier;"> Roast Properties » Roast </span>tab.</p><p><br />This roast used 3 kg of green coffee, so the 3345 BTU was divided by 3 kg and converted to Wh/kg to produce the value 327 Wh per kg green coffee.</p><p><br /></p><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjea3qTnyp93HPs91RAcGdJcoROk8lkBKq1gRvg7_aNYGE-IzzEJIRicSh3JuL0OUY4B4_kA1fWPJZwLam0-Kjvmy7ofObynUl1j7LyvmgpSAgJrDqpRheDRLHKtOGfZPdAHBcB5wrXHWU/s670/Screenshot+2021-07-29+at+20.51.57.png"><img border="0" data-original-height="118" data-original-width="670" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjea3qTnyp93HPs91RAcGdJcoROk8lkBKq1gRvg7_aNYGE-IzzEJIRicSh3JuL0OUY4B4_kA1fWPJZwLam0-Kjvmy7ofObynUl1j7LyvmgpSAgJrDqpRheDRLHKtOGfZPdAHBcB5wrXHWU/s670/Screenshot+2021-07-29+at+20.51.57.png?imgmax=1600" width="640" /></a></div><br /><p>Now let’s look at the right hand side of the summary where an estimate for CO2 emissions is provided.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidijeQiHe0XbYGJ8RVcYIVQpwBJGkYXUwmHu-7-l6IrMufnjylBo84Ymmv1UFCpS4Re85FJKyMa5yGVcDFeRt6xNF6TfBDKX7E8VXb8YXHGPh6hS5EGGzlpTCLiXgtqWIokyo8mxKDFyA/s674/Screenshot+2021-07-29+at+20.59.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="174" data-original-width="674" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidijeQiHe0XbYGJ8RVcYIVQpwBJGkYXUwmHu-7-l6IrMufnjylBo84Ymmv1UFCpS4Re85FJKyMa5yGVcDFeRt6xNF6TfBDKX7E8VXb8YXHGPh6hS5EGGzlpTCLiXgtqWIokyo8mxKDFyA/s674/Screenshot+2021-07-29+at+20.59.20.png?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>We see that this roast was estimated to have produced 211g CO2, or 70.35g per kg of green coffee. There are many factors that feed this estimate of CO2 produced. They included the energy sources set in the Loads configuration. When the energy source is “Elec”, or electricity, the CO2 produced comes not from heating element on the roaster but rather from the generating source of the electricity. The CO2 produced varies dramatically for electricity generated from coal to electricity generated by wind. The<span style="font-family: courier;"> Electric Energy Mix…% Renewable </span><span style="font-family: inherit;">field </span>allows for adjusting between these two extremes. This example selected 40% Renewable.<br /> </p><p>The Detail data table shows granular information of the energy and CO2 calculations.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtvbNRiPp21Ar2m4sKE7-asQQoDETS15j9PivbtEdzXx8xRLD37THi5eGKGdB8ojbJOM0ofG8atckOn1sO9yd7KwOMD964VNaHxs8roQMAOF3JqEcjIOuvpqE0ya9O6ARS5Lug4EK-c7g/s716/Probatone+example+2_2_ver001.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="368" data-original-width="716" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtvbNRiPp21Ar2m4sKE7-asQQoDETS15j9PivbtEdzXx8xRLD37THi5eGKGdB8ojbJOM0ofG8atckOn1sO9yd7KwOMD964VNaHxs8roQMAOF3JqEcjIOuvpqE0ya9O6ARS5Lug4EK-c7g/s716/Probatone+example+2_2_ver001.png?imgmax=1600" width="640" /></a></div><br /><p></p><p>Each row in the table is used to sum up to the totals shown in the summary. The first row is the amount of electricity used to operate the motors. Since the motors were setup without being tied to an event they are considered to run at 100% power throughout the roast. Thus the motors are a “continuous” kind of load. The duration of this roast was 9:53 so the energy consumed by the motors totals 0.198 BTU. </p><p>The rest of the rows for this example are calculated from the Burner event values. Row 2 shows the burner set to 1% during the 48 second soak period following the CHARGE event. Then the burner was increased to 70% for the next 2:16. Each row corresponds to a change in the burner setting with a duration running until the next change, or the DROP event.</p><p> </p><h4 style="text-align: left;">Example 2 – Between Batches Protocol</h4><p>Most roastmasters using drum roasters employ between batch protocols to insure the roaster’s thermal energy is consistent at the start of every batch. A between batch protocol can be a significant contributor to the overall energy consumption and CO2 production of each roast batch. </p><p>Here again is the Loads sub-tab used for this example, however notice that we changed the<span style="font-family: courier;"> Results in </span>unit to kWh. The difference will become apparent once there are results to show.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBbUEQOCHgbOHdVK0G8mUnH6W4ZmpOwCv0m3QRvlvQulH7oRUMB0n_x-qEUOhEV_TUxU-0BnviDYrO7rNVsbnES39gAC2HTAQVbpLVkATHxkSOPeiwSVFxv14BinpPNcieC4njJ81-S2o/s693/Example+2+loads.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="693" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBbUEQOCHgbOHdVK0G8mUnH6W4ZmpOwCv0m3QRvlvQulH7oRUMB0n_x-qEUOhEV_TUxU-0BnviDYrO7rNVsbnES39gAC2HTAQVbpLVkATHxkSOPeiwSVFxv14BinpPNcieC4njJ81-S2o/s693/Example+2+loads.png?imgmax=1600" width="640" /></a></div><br /> <p>The Protocols sub-tab allows entry of information about the pre-heating, between batches, and roaster cooling phases of a roasting session. The information entered on the Protocols sub-tab can be used for future roasts by clicking the Save Defaults button. Do not forget to save your settings, for safe keeping, to a file by using menu<span style="font-family: courier;"> Help » Save Settings</span>.<br /><br />This example will focus on the between batches protocol. First we need to discuss some important aspects of the Energy Protocols sub-tab. There are columns for each of the four energy loads as defined on the Loads sub-tab. If a Label was entered for the load it will be used as the column title. Otherwise a letter A-D will be used as the identifier. </p><p>There are two ways to enter load information here. An estimate of the
percentage of power over some duration is one way to enter energy
information. If the burner was run at an average 15% for 10:00 the
entry would look as shown below. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEYrikEKYL7Wuj5IlW146MRbKRvuUMnmoq1A0zoXG1oRNk7rDfbR1WGgkRCfTxLU6Mg6X6Gn-_y7xCwktz8fMp0rs621NmfGQGapMKAzXr9NbglophQXG6EoD624O-j1vEuJACv9cfQvw/s693/Example+2+protocol.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="693" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEYrikEKYL7Wuj5IlW146MRbKRvuUMnmoq1A0zoXG1oRNk7rDfbR1WGgkRCfTxLU6Mg6X6Gn-_y7xCwktz8fMp0rs621NmfGQGapMKAzXr9NbglophQXG6EoD624O-j1vEuJACv9cfQvw/s693/Example+2+protocol.png?imgmax=1600" width="640" /></a></div><br /><p></p><p>Load energy values can also be entered as a fixed energy number. The
entry below indicates the between batches protocol consumes a fixed 0.17 kWh. There is no time entry for the between batch protocol because it is not needed. This configuration is a fixed energy consumption for the burner when executing a between batch protocol.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqqIC8SDj2cSoXw0Ipa3jrnCHDaXVUBlriQkbDFUTTn4r9BbCPUt3A3Hao7R7C24PMleDUYsLMl8j0lOouyM-roS7L1P2XYyv-eeshreAoMqcyc9nXvHDVKiYzGoPnLyQ0-5i4xPbIDNY/s693/Example+2+Protocols+2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="693" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqqIC8SDj2cSoXw0Ipa3jrnCHDaXVUBlriQkbDFUTTn4r9BbCPUt3A3Hao7R7C24PMleDUYsLMl8j0lOouyM-roS7L1P2XYyv-eeshreAoMqcyc9nXvHDVKiYzGoPnLyQ0-5i4xPbIDNY/s693/Example+2+Protocols+2.png?imgmax=1600" width="640" /></a></div><br /><br /><p></p><p>Where does this 0.17 kWh energy information come from? It can come from an estimate if you are very familiar with thermal energy calculations. Most of us do not have the knowledge to do this.</p><p>Fortunately, Artisan has a built in tool to measure these values directly from a profile. First you will need to create a profile that includes the between batches protocol. </p><p>Start recording your roast profile immediately after the end of the previous roast. Hit START as soon as the previous roast is complete and the previous profile is saved to a file (<a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html" target="_blank">Autosave</a> can do this without manual intervention, <a href="https://artisan-scope.org/docs/autosave/" target="_blank">see also</a>). Let Artisan run as normal through the between batches protocol and the roast that comes after. Be sure to record your gas settings during the between batches protocol and enter CHARGE and DROP events as normal..</p><p></p><p style="margin-left: 40px;"><i>If you normally use Auto CHARGE (menu<span style="font-family: courier;"> Config » Events » Config </span>tab, <span style="font-family: courier;">Auto CHARGE</span>) it is recommended to untick it and manually set CHARGE for this roast. The<span style="font-family: courier;"> Auto CHARGE </span>feature looks for a rapid drop in BT and can be fooled by the BT drop that is a part of the between batches protocol.</i></p><p style="text-align: left;">Below is the captured profile. The between batch protocol is on the left. In the middle is the CHARGE event and the roast is on the right ending with a DROP event. This was a somewhat long between batch protocol of approximately 10:00. Could there be an opportunity to save energy and to speed it up?<i> </i></p><p style="text-align: left;"><i></i></p><div class="separator" style="clear: both; text-align: center;"><i><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJCmck4VVnZurFxWo3ffS_3X5tdZkNYuuQsbCZJqj3NWFF9XDAWQYBcbVbQ_0uUeEdfLq0SKmcOk6XTT6kX6vwigNOlEoEWLk4TxYYM0k_eydndPqmvwC-0MFc55X6WJMFOUUFx-kAAB0/s1366/Example+2+-+Between+Batches+Protocol.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJCmck4VVnZurFxWo3ffS_3X5tdZkNYuuQsbCZJqj3NWFF9XDAWQYBcbVbQ_0uUeEdfLq0SKmcOk6XTT6kX6vwigNOlEoEWLk4TxYYM0k_eydndPqmvwC-0MFc55X6WJMFOUUFx-kAAB0/s1366/Example+2+-+Between+Batches+Protocol.png?imgmax=1600" width="640" /></a></i></div></div><br /><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><i>When trying this yourself, if you do not see the curve lines before CHARGE check the status of the Display Filter (Menu<span style="font-family: courier;"> Config » Curves </span></i><i><span style="font-family: courier;">»</span></i><i><span style="font-family: courier;"> Filter </span>tab). Insure that<span style="font-family: courier;"> Display Full </span>is ticked.</i></p></blockquote><div><p>Let's go back now to the Protocols setup page (menu<span style="font-family: courier;"> Roast » Roast Properties » Energy tab » Protocols </span>sub-tab). There we click the button with three dots at the end of the Between Batches row.</p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SJg0UdwTcq3wbwirEzW_FiAxYDIu3IekFRxthwdJYJhCvqMWc4blbYOw6gysoOMjPDs3BVYlYRpIHjwdE-VeuXGDS9U3CvuZiaqwY_uFS4aEhKbut0AoEoWmaT-0XQ2JRh_5kMNfHW4/s801/Example+2+1_4++002.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="801" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SJg0UdwTcq3wbwirEzW_FiAxYDIu3IekFRxthwdJYJhCvqMWc4blbYOw6gysoOMjPDs3BVYlYRpIHjwdE-VeuXGDS9U3CvuZiaqwY_uFS4aEhKbut0AoEoWmaT-0XQ2JRh_5kMNfHW4/s801/Example+2+1_4++002.png?imgmax=1600" width="640" /></a></div><br /><p>Artisan has measured the between batches energy by using the Burner event values from the very beginning of the profile until the CHARGE event. Artisan calculates this energy using the Burner settings logged in the profile and the Burner load set on the Loads sub-tab. The motors cannot be measured this way because they are continuous loads with no event information. Load C and Load D are not defined on the Loads tab so not value is calculated for them. We will estimate the motors in a moment.</p><p><br />Clicking<span style="font-family: courier;"> Apply </span>writes the values shown into the Between Batches fields. In this case the Duration of Between Batches and the value for the Burner energy are written. If a value was previously set for the Burner it will be overwritten. Fields where no value was calculated will not be overwritten. <br /> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG4OwNaTQyCcEXQ9KyUmpFQQQIDvg_Qt-Sw3_JqRGhxb1MzJe3LjzWZnhONuoECHzg_6GBJ3nOjg5FaifY0WHc6clWEDiYFaehByotnBPkFtGwa4dj58qM2Q0pw4iwO1fHgSLgJmKYMQE/s801/Example+2+1_5+002.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="801" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG4OwNaTQyCcEXQ9KyUmpFQQQIDvg_Qt-Sw3_JqRGhxb1MzJe3LjzWZnhONuoECHzg_6GBJ3nOjg5FaifY0WHc6clWEDiYFaehByotnBPkFtGwa4dj58qM2Q0pw4iwO1fHgSLgJmKYMQE/s801/Example+2+1_5+002.png?imgmax=1600" width="640" /></a></div><br /><p>The motors run continuously between the batches so we need to make an entry to reflect them running at 100%.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheo8ebumRXtSNFas3oD36L1xPR0GpeAI6bx0qdDVDzOkB7fkBvINvaP4UvMM-1zPD5LQjXduBwKXUnrk-qxVZ3Xd3hrB3I6cH5qg_1Bb59zzKmnIsbq9Zk_wcKoeD_ORZSeZILaXaQ0VU/s801/Example+2+1_5-1+002.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="801" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheo8ebumRXtSNFas3oD36L1xPR0GpeAI6bx0qdDVDzOkB7fkBvINvaP4UvMM-1zPD5LQjXduBwKXUnrk-qxVZ3Xd3hrB3I6cH5qg_1Bb59zzKmnIsbq9Zk_wcKoeD_ORZSeZILaXaQ0VU/s801/Example+2+1_5-1+002.png?imgmax=1600" width="640" /></a></div><br /><p style="text-align: left;">With Burner and Motors values and the Duration entered for the Between Batches Protocol we can now click<span style="font-family: courier;"> Save Defaults </span>to store them when needed to recall later. Then click the<span style="font-family: courier;"> Details </span>sub-tab to see the new results for this profile.</p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjacpMcBj36TOzKZzFxt-uB-oyWGFXHMPw5U_WIodGoy76rrHeeZo6G7e_PwiJ4tV-KMRHJHP6PUYnVAdoQtmuBfyHC2dUDg7kGthu0MDtuIRGicSzy-EJsh0WY0UIP_aW8lcADwHHphGI/s693/Example+2+details.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="654" data-original-width="693" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjacpMcBj36TOzKZzFxt-uB-oyWGFXHMPw5U_WIodGoy76rrHeeZo6G7e_PwiJ4tV-KMRHJHP6PUYnVAdoQtmuBfyHC2dUDg7kGthu0MDtuIRGicSzy-EJsh0WY0UIP_aW8lcADwHHphGI/s693/Example+2+details.png?imgmax=1600" width="640" /></a></div><br /> <p></p><p>In the details table we notice two entries for BBP. There is a measured value for the Burner and a % value for the Motors. </p><p>We can also see that the between batch protocol accounts for almost a third of the total energy consumed and CO2 produced. There is a true opportunity for the roastmaster to make improvement!</p><p><br /></p><h4 style="text-align: left;">Example 3 – Pre-Heating Protocol<br /></h4><p>So far we have made settings for the roaster’s loads to calculate the energy consumed by a roast and we also accounted for the between batch energy use. Now we need to provide settings for the roaster Pre-Heating protocol.</p><p>A profile must be captured that includes the entire pre-heating process, similar to the way a profile was recorded to allow Artisan to calculate the Between Batches energy. START an Artisan profile recording right as the roaster is turned on to start heating. Record each of the gas (or electric burner) changes during the pre-heating. </p><p>When the pre-heating is complete there are two choices. STOP and save the pre-heating profile or continue on without stopping Artisan and record the first roast of the day as normal including CHARGE and DROP events. The steps below will work for either choice. </p><p>This example includes the pre-heating followed by a between batches protocol and then a normal roast. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrWEFcPBPnTktS5aMlITJS89h-TZtGI_1_hYn-U6VDsXmcODXkeTpu0HEKuhjO-3yC3W6K_zm6dgc4Boain5Yk6zUWB6g8o879OuIAXLDxALpsfilqkq3AL8qAas7U4SYVqsbsm4Svxjg/s1366/Example+3+-+Pre-Heating+Protocol.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrWEFcPBPnTktS5aMlITJS89h-TZtGI_1_hYn-U6VDsXmcODXkeTpu0HEKuhjO-3yC3W6K_zm6dgc4Boain5Yk6zUWB6g8o879OuIAXLDxALpsfilqkq3AL8qAas7U4SYVqsbsm4Svxjg/s1366/Example+3+-+Pre-Heating+Protocol.png?imgmax=1600" width="640" /></a></div><br /><p></p><p></p><p></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p><i>When trying this yourself, if you do not see the curve lines before CHARGE check the status of the Display Filter (menu<span style="font-family: courier;"> Config </span></i><span style="font-family: courier;"><i>»</i><i> Curves </i><i>»</i></span><i><span style="font-family: courier;"> Filter </span>tab). Insure that<span style="font-family: courier;"> Display Full </span>is ticked.</i></p></blockquote><p>With this profile open we go back to the Protocols setup page (menu<span style="font-family: courier;"> Roast » Roast Properties » Energy </span>tab<span style="font-family: courier;"> » Protocols </span>sub-tab) and click the three dot button at the end of the Pre-Heating row. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9KpCFCt8ZPNxnS3i7uBF8Qjg9WDdPLFmfbZ7CuZGm2mckI4JG8dN_Li44xjfg5Qj_0_5duuljf0BoRC2kQz3-nx43DQrHzoLAYkJq3iHWlRp0klq6V0J7osW0orSrc3P-xiodLqahoQ/s692/Example+3+protocols+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="692" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9KpCFCt8ZPNxnS3i7uBF8Qjg9WDdPLFmfbZ7CuZGm2mckI4JG8dN_Li44xjfg5Qj_0_5duuljf0BoRC2kQz3-nx43DQrHzoLAYkJq3iHWlRp0klq6V0J7osW0orSrc3P-xiodLqahoQ/s692/Example+3+protocols+1.png?imgmax=1600" width="640" /></a></div><br /><p></p><p><br /></p><p>Click<span style="font-family: courier;"> Apply</span>. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiE16zMj5jTA9WT1b4vyCs9W93l46Is9LMi_UdyI5pVXAqXh6_55w5jmAmtEBBEZvbn_udrhyphenhyphen311QoZNPxc4lMRZBSlTG07q810oXgTlw3_qeiSfZs4dx48VQaq31pyM6h71eJvTQMAdw/s692/Example+3+protocols+2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="692" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiE16zMj5jTA9WT1b4vyCs9W93l46Is9LMi_UdyI5pVXAqXh6_55w5jmAmtEBBEZvbn_udrhyphenhyphen311QoZNPxc4lMRZBSlTG07q810oXgTlw3_qeiSfZs4dx48VQaq31pyM6h71eJvTQMAdw/s692/Example+3+protocols+2.png?imgmax=1600" width="640" /></a></div><br /><br /><p></p><p style="text-align: left;">The profile used in this example includes the BBP energy between the end of pre-heating and before the roast starts. We don't want to double count the BBP energy by also including the usual Between Batches energy we defined earlier in Example 2. To prevent this we must untick the<span style="font-family: courier;"> Between Batches after Pre-Heating </span>box. This setting applies only to the first roast of the day. If the pre-heating profile was captured in isolation, without including a BBP, ticking this box would add the normal Between batches to the first roast of the day.</p><p style="text-align: left;">The Pre-Heating Duration of 56:23 was autofilled as well. This is useful for the motors entry whose manual input should be "100%". </p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZcx_QvT8OvtqVagdlO7IrteUNPOP-eccAmACZEjM_uOqLKiiIX7I8ARTTleF2BzvpfNbcXu7gfqY_CxozolcusWJiO6_isneosTS-Z6SZMhSuBEPDrbqAkmSmQwm1J-nTHiyHyk3Quks/s693/Example+3+protocols+3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="693" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZcx_QvT8OvtqVagdlO7IrteUNPOP-eccAmACZEjM_uOqLKiiIX7I8ARTTleF2BzvpfNbcXu7gfqY_CxozolcusWJiO6_isneosTS-Z6SZMhSuBEPDrbqAkmSmQwm1J-nTHiyHyk3Quks/s693/Example+3+protocols+3.png?imgmax=1600" width="640" /></a></div><br /> <p></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8-pVtQyZy63MPD-EHIW_55JWZ9ugWpf3O9MW2O67aBoOFLyDOv259KbyMl_w-deKtbTb63rCHuO8RM36xoymO-fsA2wvnWGoN155_Xp7NzU8nXKeuVsj1HTDQLSgkw5-vw39q0uchQu8/s693/Example+3+protocols+4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="693" height="570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8-pVtQyZy63MPD-EHIW_55JWZ9ugWpf3O9MW2O67aBoOFLyDOv259KbyMl_w-deKtbTb63rCHuO8RM36xoymO-fsA2wvnWGoN155_Xp7NzU8nXKeuVsj1HTDQLSgkw5-vw39q0uchQu8/s693/Example+3+protocols+4.png?imgmax=1600" width="640" /></a></div><br /><br /><p></p><p style="text-align: left;">Notice that the batch number is indicated in the lower right corner of the Details table. The roast is "Batch #1" so the Pre-Heating and Cooling (not yet configured for this example) energies will be included in the summary totals. Thus the energy per kg green coffee and CO2 per kg green coffee are much higher for this batch. </p><div><p style="text-align: left;"><br /></p><p></p><h4 style="text-align: left;">Example 4 – Cooling Protocol</h4><p style="text-align: left;">The Cooling protocol we are concerned with here is the roaster cooling at the end of the roasting session. Bean cooling at the end of a roast should be accounted for in the Between Batches Protocol where it is necessary.</p><p style="text-align: left;">This profile captured the last roast of the day. It has been edited to appear as if it is the first roast of the day so the Cooling energies can be observed. Recall that only the first roast of the day will include the energies from Pre-Heating and Cooling protocols.</p></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><i>Artisan can make the calculated entries from a single profile that records the Pre-Heating protocol, a normal roast, and then the Cooling protocol. However, we don’t recommend heating and cooling the roaster solely for this purpose. To do so would be wasteful.</i></p></blockquote><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLjfPKgcON1XmQOiTEd-7-V15KrlW_XLySCa35qzPxSZtsVJSAa8OR6logSjmN74e8UYuTa9F68Xr1obkpYvUSAwtt4SHJBK_W6qDMoKYBKDLjKh2aucHQ6aBOQ58EDGuPEJuRk0Zn8yk/s1366/Example+4+-+Cooling+Protocol.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLjfPKgcON1XmQOiTEd-7-V15KrlW_XLySCa35qzPxSZtsVJSAa8OR6logSjmN74e8UYuTa9F68Xr1obkpYvUSAwtt4SHJBK_W6qDMoKYBKDLjKh2aucHQ6aBOQ58EDGuPEJuRk0Zn8yk/s1366/Example+4+-+Cooling+Protocol.png?imgmax=1600" width="640" /></a></div><br /><p></p></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><i>When trying this yourself, if you do not see the curve lines after DROP check the status of the Display Filter (menu<span style="font-family: courier;"> Config » Curves </span></i><i><span style="font-family: courier;">»</span></i><i><span style="font-family: courier;"> Filter </span>tab). Insure that<span style="font-family: courier;"> Display Full </span>is ticked.</i></p></blockquote><div><div><p style="text-align: left;">This example builds on the same energy configuration developed in the previous examples. </p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7MzkyvEx6bnSWaEt999jN2mHZSds6IkbO7teYEGsgkGkPJoPQpi5FbUKmoOabVni9RK-DAnDsGv42AXw2m-Qo5H5hT3FhqATUHEuG6qEENHfh70Tp6J5XatApYBQmKVW7DIBSG7tM2xE/s692/Example+4+3+dots.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="692" height="572" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7MzkyvEx6bnSWaEt999jN2mHZSds6IkbO7teYEGsgkGkPJoPQpi5FbUKmoOabVni9RK-DAnDsGv42AXw2m-Qo5H5hT3FhqATUHEuG6qEENHfh70Tp6J5XatApYBQmKVW7DIBSG7tM2xE/s692/Example+4+3+dots.png?imgmax=1600" width="640" /></a></div><br /><p></p><div><p style="text-align: left;">This same procedure used in Example 3 is repeated now for Cooling. Since the Burner is off and only the motors are running during the cooling period the three dots button shows no energy for this profile. The Duration is calculated and autofilled. We need only now to enter the Motors continuous energy of 100%.</p></div><p style="text-align: left;">Below is the completed Protocols sub-tab for this roaster. The<span style="font-family: courier;"> Save Defaults </span>button should be pressed before clicking<span style="font-family: courier;"> OK</span>. Then the complete settings should be saved to a file for safe keeping using menu<span style="font-family: courier;"> Help » Save Settings</span>.</p><p></p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMJsAARlSzd4PO9VliZE5sHcUdjQ4hBX8D45FHB6AVz3UMmoYx05gAiI0Q2zxbnqekOGZGNgq5octol2cFQdwDDdK8TzjBOAlNqIcdAOZLBFilB_LuQY4VhwdWgZHbJE-j1pB0_MzrhMQ/s693/Example+3+post+3+dots.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="693" height="570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMJsAARlSzd4PO9VliZE5sHcUdjQ4hBX8D45FHB6AVz3UMmoYx05gAiI0Q2zxbnqekOGZGNgq5octol2cFQdwDDdK8TzjBOAlNqIcdAOZLBFilB_LuQY4VhwdWgZHbJE-j1pB0_MzrhMQ/s693/Example+3+post+3+dots.png?imgmax=1600" width="640" /></a></div><br /> </div><div><br /><h4 style="text-align: left;">Example 5 – Logging Gas Pressure Gauge Readings</h4><p style="text-align: left;">This example will demonstrate how to use logs where a pressure reading was recorded with the Energy Calculator.</p></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><p style="text-align: left;"><i>Caution: Don't be confused! This example was prepared on a different roaster and is using an Energy configuration different from the previous examples.</i></p></div></blockquote><div><p style="text-align: left;">On this roaster we log readings taken directly from a pressure gauge in the gas line feeding the burner. The gauge reads in kPa. The pressure readings are entered into Artisan as 100 times the value indicated on the gauge. The value is multiplied by 100 because the direct kPa readings are small. They range from 0 to 3 and Artisan only allows whole number inputs to the events. By multiplying by 100 we can enter the values 0 to 300, thus a kPa reading of 2.5 would be entered as 250.</p><p style="text-align: left;">Here is a profile showing the kPa reading on the event labeled Gas. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6lwObJ6t02iba8Dqh7EfGB32fdrwcB0QFkoviaFHqAmJcaBcTTaJmxAkivgrYMD8N0T_soADD2nWzpUhQN8NIh80UYpmle8-PRQD8cFm5DKlZ70cbiTcd9IJ1PxOlGdPtTEXMBqvOkJ0/s1366/Example+5+kPa+Log.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6lwObJ6t02iba8Dqh7EfGB32fdrwcB0QFkoviaFHqAmJcaBcTTaJmxAkivgrYMD8N0T_soADD2nWzpUhQN8NIh80UYpmle8-PRQD8cFm5DKlZ70cbiTcd9IJ1PxOlGdPtTEXMBqvOkJ0/s1366/Example+5+kPa+Log.png?imgmax=1600" width="640" /></a></div><br /></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><p style="text-align: left;"><i>Though the kPa reading are recorded as 100x the actual value, notice the annotations show the original reading. This is because we used this string in the Event Annotations "Gas ~E/100 kPa". For more information see <a href="https://artisan-roasterscope.blogspot.com/2020/05/special-events-annotations.html" target="_blank">Special Event Annotations</a> and <a href="https://artisan-scope.org/docs/events/" target="_blank">QSG: Events</a>.</i></p></div></blockquote><div><p style="text-align: left;">So far, these examples have assumed the Burner reading represent heat energy from 0 to 100% of the burner rating. How can the Energy Calculator interpret these kPa readings to determine the percentage of heat applied? Let's look at the Loads page, which is configured for this roaster (menu<span style="font-family: courier;"> Roast » Roast Properties » Energy tab » Loads </span>sub-tab).</p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsn9MhaJs8jOnIMEM9D3fITAe_iZ953Fu9q2REyUMiGWAfPhpMgyDOnmnoqkdPpi8ZoBycdvuCxIsk1WrAD20-5sVvAy0DpvyS2BRBKzOSuEc1pk6hjRsC4A5K6LW5z5bv2a3xSgK3lo0/s736/Example+5+kPa+1_1.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="523" data-original-width="736" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsn9MhaJs8jOnIMEM9D3fITAe_iZ953Fu9q2REyUMiGWAfPhpMgyDOnmnoqkdPpi8ZoBycdvuCxIsk1WrAD20-5sVvAy0DpvyS2BRBKzOSuEc1pk6hjRsC4A5K6LW5z5bv2a3xSgK3lo0/s736/Example+5+kPa+1_1.png?imgmax=1600" width="640" /></a><br /><p style="text-align: left;">There are two significant things to note in this setup. The first is that the "Pressure %" box is checked. This tells the Energy Calculator that the readings come from a pressure gauge and therefore represents gas pressure not burner power. The Energy Calculator internally uses <a href="https://en.wikipedia.org/wiki/Bernoulli%27s_principle" target="_blank">Bernouli's equation</a> to relate gas pressure to burner power when calculating the energy consumption..</p><p style="text-align: left;">Next is the setting for the Burner in the "100%" column. Recall that the 100% Gas pressure is 3 kPa, which is stored as the number 300 in the Gas event (3 kPa x 100). Thus 300 is the 100% value. By entering 300 here Energy Calculator knows how to interpret all the logged gas pressure events. For instance, 0.6 kPa is stored as 60, which is interpreted as 20% pressure. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDy7TZ61AtT3y593fKvuzKkzSnkBwmi74wlotIxWyUWRHoNnpH2ZHp-O2cHzil2xpo8G6Jh_V9vpUC0bNGrIBUY1pKYPejVaxiIekEfnrfyIv8JxmXPodAth1AtMNmaFV2HnZdp7T65Ms/s736/Example+5+1_3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="655" data-original-width="736" height="570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDy7TZ61AtT3y593fKvuzKkzSnkBwmi74wlotIxWyUWRHoNnpH2ZHp-O2cHzil2xpo8G6Jh_V9vpUC0bNGrIBUY1pKYPejVaxiIekEfnrfyIv8JxmXPodAth1AtMNmaFV2HnZdp7T65Ms/s736/Example+5+1_3.png?imgmax=1600" width="640" /></a></div><br /><p style="text-align: left;">Now we are able to use the Energy calculator with old and new profiles that have stored the gas settings as a number in units rather as a percentage. </p><p style="text-align: left;"><br /></p></div><h4 style="text-align: left;">Wrap up</h4><p></p><div><p style="text-align: left;">The Artisan Energy Calculator is a powerful tool that can provide insight into the energy use and carbon footprint of your roasting operation. This is a first of it kind endeavor that we believe is very important. We want to hear your <a href="https://github.com/artisan-roaster-scope/artisan/discussions" target="_blank">feedback, questions, ideas and experiences</a> using it. </p><div style="text-align: left;"><br /></div><p></p><h4 style="text-align: left;">Caveats and limitations</h4><p style="text-align: left;">The Artisan Energy Calculator depends on information about the roast machine and energy sources as well as logged heat settings data to provide its estimates for energy consumption and CO2 emission. Its results shall be considered approximation only and shall not relied upon as being exact or complete. </p><p style="text-align: left;"></p><ul style="text-align: left;"><li>The calculated energy consumption and emission values are estimated using the load data for the burners/heaters and fans/motors. These load values may not be accurate which will cause the calculated values to be inaccurate. </li><li>The CO2 released from the coffee being roasted is not included.</li><li>CO2 generated from the production and transportation of gas is not included.</li><li>The CO2 emission for electricity generation has regional variances that are not accounted for at this time.</li><li>Other emissions such as CO, NOX, Other PPM are not considered at this time.</li></ul><p></p><p style="text-align: left;"><br />Happy Roasting!</p><p style="text-align: left;">Dave and Marko</p><p style="text-align: left;"><br /></p><p style="text-align: left;"><span style="font-size: x-small;">Top photo by Kindel Media from Pexels</span></p><br /><br /><br /><br /></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-11726284397044602142020-12-14T09:46:00.009-08:002021-04-21T06:55:29.936-07:00Artisan v2.4.4<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2020/12/artisan-v244.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="454" data-original-width="756" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9YEtYH1fRMxKnX1WXrl6l3MnZA-E546lVJHacMWAG-EOhSucCWQnJVB7NXvPVrGEdgWVxdO7X9PfZ4D43VuMNQ1z8CnH_zQty7u6oWNYIpZH6p6Ia_-DBybbXXX30UbhkS2Wz_UCf3eY/w640-h384/2560px-Bundesstra%25C3%259Fe_244_number.svg.png?imgmax=1600" width="640" /></a></div><br /><p>This version improves some established automation features to better support the control of preheat and between batches protocols.</p><span><a name='more'></a></span><h3 style="text-align: left;">Thank You!</h3><p>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 <a href="https://artisan-scope.org/donate/" target="_blank">donation</a>!</p><p>This version, as every other version this and the last years, was supported by the amazing Randy (<a href="http://www.buckeyecoffee.com/" target="_blank">Buckeye Coffee Roasters</a>, USA). Compliment!</p><div class="separator" style="clear: both; text-align: center;"><a href="http://www.buckeyecoffee.com/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><br class="Apple-interchange-newline" /><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh613dgFH3BkcZIN17UMUivxfQ64t3Penqm7DtGmFk0IFSgobfSaQrUIGonbe065I41WDFw9LH_99ZuSwtASk12xqNnJ7TQ05kcDDhhvMvjL7LoN29GwtzBkET7Bgnt_t4LCGgKw5__J0/w320-h160/bc-logo.jpg?imgmax=1600" width="320" /></a></div><div><br /></div><div><br /></div><div>Also Tigran (<a href="https://typhoon.coffee/" target="_blank">Typhoon Roaster</a>, Russia), Frank (<a href="http://kapokcoffee.com/" target="_blank">KapoK</a>, Taiwan) and Marko & Paul (<a href="http://artisan.plus" target="_blank">artisan.plus</a>, Germany) supported this release.
</div><div><br /></div>
<div>
<a href="http://www.buckeyecoffee.com/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><br /></a><br /></div>
<div class="separator" style="clear: both; text-align: center;"><a href="http://kapokcoffee.com/" style="clear: left; display: inline; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="124" data-original-width="480" height="83" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2oQE_3lspA8Gvcr-2lM-F5pTLQ5dQGQfTUzqFmuLxeG39rElKSssJC-xlKVJKNwtrWeD1Ue90f3q8NZaks-m2pJ291gdUgRbb-TCdD10Tx1sbcJbwBy5KiMeOGf2KEuCGEB2BnNUWpX8/w320-h83/kapok.png?imgmax=1600" width="320" /></a></div><div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://typhoon.coffee/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="600" data-original-width="600" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi39ZTJRMyLBKyN_TI7TvJanOfsj6T_Sh63eisJi-kI6IYqulhAI-KHloJTP0EOhVu-LfdeYIbi71m7bwIbxPgxtha3fvdfLZyM4PhRBqQKUGo3bGP3o6mou7kL_RP73pttVKeAPvoRKqw/w200-h200/typhoon.jpg?imgmax=1600" width="200" /></a><a href="https://artisan.plus/" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFve7zq8ycR4-wxX5Qy9g3YkbAxPYKHso-EyX8RVmyDchMpF5DaRcvABYy4vbqGtA1NIQiIxWT1ugSiFsMSHyn-_8EmGpZ-TdXrICj_rE7GSY8wig2Rv5JFC0w1M-lwHbNdS37_oiq1EA/s320/artisan-plus.jpg?imgmax=1000" width="320" /></a></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div></div>
<p>The following individuals and operations (in no specific order) did support the development of this version with their donation: <i>Fred Pagles, Daniel (<a href="https://neuekaffeeroesterei.de/" target="_blank">Neue kaffeerösterei Plauen</a>), Graham Kennedy, Steven Kelleher, Maillard Trading (<a href="https://crescendocoffeeph.shipsbeans.com/" target="_blank">Crescendo Coffee Roasters</a>), Gregory Froelich, Boris & Valentin (<a href="https://kaffeemodul.at/" target="_blank">KAFFEEMODUL</a>), Dennis Garrett, Dan Strickland, Kristian & Andreas (<a href="https://garageristeriet.dk/" target="_blank">Garage Risteriet</a>), Paul Johnsen, Mark Jacob, Abbey & Darrell (<a href="http://www.bygoodcoffee.com" target="_blank">BYGood Coffee & Tea</a>), Robert Denson, Mark Culet, Luke Fisher, Luigi (<a href="https://www.latteart.org/" target="_blank">Latte Art</a>), Damian Gronsky, Gregory Piferi, Philipp Pallentin, 謝天恩, Barrett Simmons, John Mosher, Michele (<a href="https://www.micheleyoungart.com/" target="_blank">MicheleYoungArt</a>), Jochen Weber, Adam Glass, Michael Kane, David (<a href="http://coop-cdc.com/" target="_blank">Cooperativa Carlos Díaz Cajina</a>), Mario Holste, Eray Yelkenci, David DeGan, Julien Dougoud, Wolfgang May, John Lehet, and Richard Glynn.</i></p><p>We would like to thank especially those that are supporting this project regularly: <i>Frans (<a href="https://kostverlorenvaart.blogspot.com/" target="_blank">Kostverlorenvaart</a>), Tije De Jong, Paolo (<a href="https://www.hmcmonza.com" target="_blank">His Majesty the Coffee</a>), Matthias Theobald, Dan (<a href="https://fatrabbitcoffee.com/" target="_blank">Fat Rabbit Coffee</a>), David Austin, Jaroslav (<a href="https://www.doubleshot.cz" target="_blank">doubleshot</a>), </i><i>Budiono (<a href="http://www.aslancofffee.com.au" target="_blank">ASLAN COFFEE</a>), </i><i>Thomas Husband, Mark (<a href="http://www.velvetsunrise.ca" target="_blank">Velvet Sunrise Coffee Roasters</a>), Rosemary Levine, Arnoud (<a href="http://amsterdam-roasters.nl" target="_blank">Amsterdam Roasters</a>) and Phil Dawes.</i></p>Now get active! Contribute <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">ideas</a>, report <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">issues</a>, help to improve the <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">documentation</a> and correct and extent the <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">localizations</a> as <a href="https://github.com/artisan-roaster-scope/artisan/pull/491" target="_blank">wuyi-levard</a> (Chinese) and <a href="https://github.com/rich1n" target="_blank">Richard Rodrigues</a> (Spanish) did for this version. If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop the next version.<div><br /><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Download now</a>!<br /><br /><br />Your Artisan team<br /><br />Marko, Dave, and Michael<br /><br /><br /><h3 style="text-align: left;">What's New?</h3></div><div><br /></div><div>This version is intended as a bug fix release in the v2.4.x series and thus mainly increases the overall stability and performance of the app. However, we could squeeze some additional functionality in as well. For the full list of additions, changes and fixes consult the <a href="https://github.com/artisan-roaster-scope/artisan/blob/master/wiki/ReleaseHistory.md" target="_blank">Detailed Release History</a>.</div><div><br /></div><h4 style="text-align: left;">Machine and Device Support</h4><div><br /></div><div>This version extends the set of supported machines by PLC equipped machines from <a href="https://artisan-scope.org/machines/nordic/" target="_blank">Nordic</a>, machines from <a href="https://artisan-scope.org/machines/fabrica/" target="_blank">Fabrica Roasters</a> as well a machine setup for <a href="https://artisan-scope.org/machines/mcr/" target="_blank">MCR Series machines</a> configured to report readings in Celsius instead of Fahrenheit. We also added support for the new ambient humidity <a href="https://artisan-scope.org/devices/phidgets/" target="_blank">Phidget HUM1001</a>. Finally, new profile importers for <a href="https://rubasseroasters.com/" target="_blank">Rubase</a> and <a href="https://aillio.com/" target="_blank">Aillio</a> RoastWorld have been added and the Cropster XLS importer has been improved.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Automation</h4><div><br /></div><div>Artisan was always strong on automation with its <a href="https://artisan-roasterscope.blogspot.com/2013/03/alarms.html">strong alarm system</a>, the time and <a href="https://artisan-roasterscope.blogspot.com/2017/10/profile-templates.html">temperature-based event replay mechanism</a> and its <a href="https://artisan-roasterscope.blogspot.com/search?q=PID">PID controller</a>. This version adds alarm sets that allows to store and quickly recall lists of alarms defined for different purposes like preheats, roasts, and between patch protocols. Also the Ramp-Soak pattern mechanism of the internal PID controller allows now to switch between 3 different sets of patterns. Each Ramp-Soak element can now trigger an action, similar to those alarm actions, on its completion. Alarm sets, Ramp-Soak patterns as well as event palettes feature now a label to tag them with a memorable label and allow their recall by name. Ramp-Soak patterns are saved along profiles and can be loaded from a foreground or background profile.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeUGJz2vgLjdE3o2UrwWPx9NsOPEy71nCOTySDFF28xDyGczy5CSmTf3_9mwNlIvtV3bYlyks7Pkk8-KusHFnav9vmig-lcSNnA2ArWX-yNUY_diCy88lqtwulf5xYA31NPawrSWWlbrk/s1336/Screenshot+2020-12-11+at+09.16.19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1264" data-original-width="1336" height="606" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeUGJz2vgLjdE3o2UrwWPx9NsOPEy71nCOTySDFF28xDyGczy5CSmTf3_9mwNlIvtV3bYlyks7Pkk8-KusHFnav9vmig-lcSNnA2ArWX-yNUY_diCy88lqtwulf5xYA31NPawrSWWlbrk/w640-h606/Screenshot+2020-12-11+at+09.16.19.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div><br /></div><div>Alarms can initiate a wide range of action types allowing automation of many features within Artisan. Among them are Ramp-Soak patterns and standard as well as custom buttons. The <span style="font-family: courier;">Artisan Command</span> action provides access to these features. Here are all such commands supported by Artisan with the ones introduced in v2.4.4 in bold type face.</div><div><br /></div><div><br /></div><div><span style="font-family: courier;">Artisan Commands</span><span style="font-family: courier;"> </span>addressing the PID</div><div><div><ul style="text-align: left;"><li><span style="font-family: courier;">PIDon</span><br /><i>turns PID on</i></li><li><span style="font-family: courier;">PIDoff</span><br /><i>turns PID off</i></li><li><span style="font-family: courier;">PIDtoggle</span><br /><i>toggles the PID state</i></li><li><span style="font-family: courier;">pidmode(<int>)</span><br /><i>sets PID mode to 0: manual, 1: RS, 2: background follow</i></li><li><b><span style="font-family: courier;">pidSource(<int>)</span></b><br /> <i>selects the PID input source with <int> 0: BT, 1: ET (Software PID); <int> in {0,..,3} (Arduino PID)</i></li><li><span style="font-family: courier;"><b>pidRS(<rs>)</b></span><br /><i>activates the PID Ramp-Soak pattern list by number or label</i></li><li><span style="font-family: courier;"><b>p-i-d(<p>,<i>,<d>)</b></span><br /><i>sets the p-i-d parameters of the PID</i></li><li><span style="font-family: courier;"><b>pidSV(<int>)</b></span><br /><i>sets the PID target set value SV</i></li><li><span style="font-family: courier;"><b>adjustSV(<int>)</b></span><br /><i>increases or decreases the current target SV value by <int></i></li></ul></div></div><h4 style="text-align: left;"><div style="font-weight: 400;"><br class="Apple-interchange-newline" /><br /></div><div style="font-weight: 400;"><span style="font-family: inherit;">Further</span><span style="font-family: courier;"> </span><span style="font-family: courier;">Artisan Commands</span></div><div><ul><li><span style="font-weight: 400;"><span style="font-family: courier;">sleep(<float>) </span><br /><i><span style="font-family: inherit;">add a delay of <float> seconds</span></i></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">autoCHARGE(<bool>)</span><br /><span style="font-family: inherit;"><i> enables/disables autoCHARGE</i></span></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">autoDROP(<bool>) </span><br /><span style="font-family: inherit;"><i>enables/disables autoDROP</i></span></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">playbackmode(<int>) </span><i><br /><span style="font-family: inherit;">sets playback mode to 0: off, 1: time, 2: BT, 3: ET</span></i></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">tare(<int>) </span><br /><i><span style="font-family: inherit;">tare channel <int> with 1 => ET, 2 => BT, 3 => E1c1, 4: E1c2,..</span></i></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">openProperties </span><br /><i><span style="font-family: inherit;">opens the Roast Properties dialog</span></i></span></li><li><span style="font-weight: 400;"><span style="font-family: courier;">alarms(<bool>)<br /></span><i><span style="font-family: inherit;">enables/disables alarms</span></i></span></li><li style="font-weight: 400;"><b><span style="font-family: courier;">alarmset(<as>)</span></b><i><br />activates the alarm set with the given number or label</i></li><li style="font-weight: 400;"><b><span style="font-family: courier;">palette(<p>)</span></b><i><br />activates palette <p> with <p> either a number 0-9 or a palette label</i></li><li style="font-weight: 400;"><b><span style="font-family: courier;">loadBackground(<filepath>)</span></b><i><br />loads the .alog profile at the given filepath as background profile</i></li><li style="font-weight: 400;"><b><span style="font-family: courier;">clearBackground</span></b><br /><i>clears the current background profile</i></li><li><span style="font-family: courier;">popup(<msg>[,<int>])</span><br /><i style="font-weight: 400;"> shows popup with message <msg> which optionally automatically closes after <int> seconds</i></li><li><span style="font-family: courier;">message(<msg>)</span><br /><span style="font-style: italic; font-weight: 400;"> shows message <msg> in the message line</span></li><li><span style="font-family: courier;">button(<name>)</span><br /><span style="font-style: italic; font-weight: 400;"> activates button <name>, with <name> one of from { START, CHARGE, DRY, FCs, FCe, SCs, SCe, DROP, COOL, OFF } </span></li><li><span style="font-family: courier;">setCanvasColor(<color>)</span><br /><span style="font-style: italic; font-weight: 400;"> sets canvas color to the RGB-hex <color> like #27f1d3</span></li><li><span style="font-family: courier;">resetCanvasColor</span><br /><span style="font-style: italic; font-weight: 400;"> resets canvas color</span></li></ul></div></h4><h4 style="text-align: left;"><br /></h4><div><div>Note that command actions can be sequenced by using a semicolon in-between single commands. Eg. the sequence</div><div><br /></div><div><span style="font-family: courier;">pidmode(0); pidSV(180); PIDon; sleep(300); PIDoff</span></div><div><br /></div><div>is valid and configures the PID to manual mode with target temperature 180C and turns it on for 5 minutes. Note further that sequences of different action types can be combined using a <span style="font-family: courier;">Multiple Event</span> event action that triggers (hidden) button actions, each grouping a list of potential different action type.</div></div><div><br /></div><div>Examples on how to put alarms, Ramp-Soak patterns and those<span style="font-family: courier;"> Artisan Commands </span>to action are given in our parallel post on <a href="https://artisan-roasterscope.blogspot.com/2020/12/supporting-between-batch-protocols.html">Supporting Between Batch Protocols</a>.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Others</h4><div><br /></div><div><div>This version adds labels also to <a href="https://artisan-roasterscope.blogspot.com/2013/02/events-buttons-and-palettes.html">event palettes</a> and allows to switch off the polyfit RoR calculation introduced in <a href="https://artisan-roasterscope.blogspot.com/2020/10/artisan-v242.html">Artisan v2.4.2</a> as with low-noise signals the standard algorithm performs better in some cases. Finally, as a tribute to the Dutch Computer Scientist and receiver of the Turing Award, <a href="https://en.wikipedia.org/wiki/Edsger_W._Dijkstra" target="_blank">Edsger W. Dijkstra</a>, we added the Dijkstra font option. This allows to render Artisan graphs in the beautiful handwriting of E.W.D. as digitalised by <a href="http://lucacardelli.name/" target="_blank">Luca Cardelli</a>, another hero in Computer Science. Select it under menu<span style="font-family: courier;"> Config >> Curves</span>, last tab<span style="font-family: courier;"> UI</span>.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUYnATHALZNaoc_7M9m6Rw90HEEv-RllX-EBHKr84_wVBC4_cPpIZWtf6epcP8IvkvvFC_243cJt5iQp2lnSXT5X_hvRZZZ5JyyUJxO3xYHBHw782wq-I43Dbui2Fpt6ZApwuVrjRLMS8/s985/P289.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="985" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUYnATHALZNaoc_7M9m6Rw90HEEv-RllX-EBHKr84_wVBC4_cPpIZWtf6epcP8IvkvvFC_243cJt5iQp2lnSXT5X_hvRZZZ5JyyUJxO3xYHBHw782wq-I43Dbui2Fpt6ZApwuVrjRLMS8/w640-h312/P289.png?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div><br /></div></div><div>Happy Roasting!</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuNsK-_qxXx5kGKAgMNLVeObBfDVuvY6l4nwUbYuSDy7DA4RX7chgYX-FRXsgvSKeh9r9g0QiqT9QglUwzvUFZd69W5A8uxMrvQdnLFaZDvQOJuveTwCoXPOAsCWxqtcOUbwjJwA07n3Q/s2048/IMG_1125.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1184" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuNsK-_qxXx5kGKAgMNLVeObBfDVuvY6l4nwUbYuSDy7DA4RX7chgYX-FRXsgvSKeh9r9g0QiqT9QglUwzvUFZd69W5A8uxMrvQdnLFaZDvQOJuveTwCoXPOAsCWxqtcOUbwjJwA07n3Q/s320/IMG_1125.JPG?imgmax=1600" /></a></div><br /><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-23284361622105895632020-12-14T09:46:00.008-08:002021-04-21T06:54:41.077-07:00Supporting Between Batch Protocols<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/12/supporting-between-batch-protocols.html" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="352" data-original-width="756" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqd8lYV__mJ4rwx1M6MOBwN44s2x0rT6UQwMn5L_3Z9_6qk38NdJKz16xWYxHZBi3GhyphenhyphenvGlW7QaA1jCLFU31AddaCjysbh3AilFuyBtkYu_fD0NltyvRPEU1D3SSs4noRH93ZLAkbD-P4/w640-h298/cover_small.jpg?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>Here is our response to Scott Rao's
<a href="https://www.instagram.com/p/CHiZ4tiMeVK/" target="_blank">call out to makers of roasting software</a> to offer structures supporting the tracing and managing of BBPs (Between Batch Protocols) and warmups.</div>
<span>
<a name='more'></a>
</span>
We agree with Scott's assessment that without a precise and successful BBP, it is impossible to replicate roast curves exactly. This holds especially for drum roasters where the stored heat of the machine contributes significantly to the total energy input during a roast, but cannot be controlled any longer once the roast has started.
<div>
<br />
</div>
<div>
<h3 style="text-align: left;">
<span style="color: #0b5394;">Between Batch Protocols</span>
</h3>
<div>
<br />
</div>
<div>The goal of any Between Batch Protocol (BBP) is to bring the machine into a defined thermal state before starting to roast the next batch. If successful, one can easily roast succeeding batches with identical gas and airflow changes to the identical roast profile. There are two common methods used. One method raises the temperature after the beans are dropped, then allows the temperature to ramp down to the CHARGE temperature, all within a defined temperature and time window. The other method lets the temperature fall well below the CHARGE temperature in a certain time window to a chosen temperature and then ramps the temperature up to the CHARGE temperature, again within a time window. Note that the exact temperature and time ramps depend on the intended CHARGE temperature and the physics of the machine. In some cases it might also be of advantage to guide the BBP by a temperature signal different from the bean temperature probe (which reads air temperature at a fixed point in the empty drum). An alternate to estimating a machine’s stored energy might be the temperature of the exhaust air or the temperature of the drum. </div>
<div>
<br />
</div>
<div>With more than just a timer, Artisan supports BBP on all roasters regardless whether they are totally manual or equipped with remote burner control. This article will show you examples of how to manage your BBP temperatures and times. If your roaster is fully manual you should use alarms as shown in the first example. If your roaster’s burners can be controlled remotely the example using Ramp-Soak patterns demonstrates how to completely automate your BBP.</div>
</div>
<div>
<br />
</div>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;">
<div>
<div style="text-align: left;">
<i>Please be aware of the additional energy use caused by running between batch protocols and consider to minimize its environmental impact by a design that avoids waste!</i>
</div>
</div>
</blockquote>
<div>
<div>
<br />
</div>
<div>
<br />
</div>
<h3 style="text-align: left;"><span style="color: #0b5394;">BBP Using Artisan Alarms - For Fully Manual Roasters</span></h3>
<div>
<p>
Artisan can help roastmasters manage their BBP when the roaster controls are fully manual. The following example shows how to manage temperature and time to execute a between batch protocol using
<a href="https://artisan-roasterscope.blogspot.com/2013/03/alarms.html">Artisan alarms</a>.</p>
<p>Before diving in to
the example, let’s review how alarms work in Artisan. Alarms have
two primary parts: a trigger and an action. A trigger is a set of
conditions that must be met. Once the conditions are met the alarm
“triggers” and executes the defined action. An example trigger
might be "
<i>when bean temperature is above 300°F." </i>The corresponding action might be "<i>put
a pop up window on the screen to tell the user the Maillard phase
has begun.</i>" This is a just a simple alarm example. Artisan alarms
can do quite complex tasks including clicking event buttons, changing
sliders, and even having the computer to
<a href="https://artisan-roasterscope.blogspot.com/2017/12/talking-alarms.html">talk to the roastmaster</a>.</p>
<p>Any
single alarm can be triggered only once during a roast. This is important to know because an alarm will not trigger every time the trigger conditions are met. It will trigger only the first time the conditions are met. Another important point, Artisan checks
the trigger conditions for each alarm only once each sample period.
That means that an alarm qualified using “If Alarm” or “But
Not” will not trigger in the same sample period as the alarm used
in the qualification.</p>
<p>With this brief introduction to alarms we will now look at an example using alarms to manage BBP.</p><p><br /></p>
</div>
</div>
<h4>
<span style="color: #444444;">Example BBP</span>
<br />
</h4>
<p>Let's assume the CHARGE temperature will be 380°F. Our BBP protocol after
dropping the beans of the previous roast, is to lower the bean temperature (BT) to 40°F below the CHARGE
temperature. Thus the bottom temperature will be 340°F.
Once the bottom temperature is reached we will increase the temperature with a fixed gas setting of 0.75kPa until the BT reaches the CHARGE
temperature.</p>
<p>The BBP runs with Artisan in the ON mode so that the roastmaster can set up the
next roast and make any necessary entries in the roast properties window before the roast itself starts. An alarm will automatically press the START button so Artisan will begin recording shortly before the CHARGE temperature is reached.</p>
<p>The following set of alarms implements the protocol just described. This
example uses pop ups to alert the roastmaster however
<a href="https://artisan-roasterscope.blogspot.com/2017/12/talking-alarms.html">talking alarms</a> can be used just as easily and perhaps more
effectively.</p>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4SgaOd8b8KCj0vgpN3VMc9_wkQ1YH5WBW8PryNf25725qeAZAgUCP_5RWfU2czysqnZdLpkXo5qzjHg5fEQU-3xTkqaqw0e-TzMLr5N1wUM1hmyvJFRPNnwLX3nF61mn9teheYLvTNo8/s986/Example+BBP+alarms.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="435" data-original-width="986" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4SgaOd8b8KCj0vgpN3VMc9_wkQ1YH5WBW8PryNf25725qeAZAgUCP_5RWfU2czysqnZdLpkXo5qzjHg5fEQU-3xTkqaqw0e-TzMLr5N1wUM1hmyvJFRPNnwLX3nF61mn9teheYLvTNo8/w640-h282/Example+BBP+alarms.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<h4>
<span style="color: #444444;">Details of Each Alarm</span>
</h4>
<p>Alarm 1 triggers on
CHARGE. Is is used to qualify the subsequent BBP alarms so they do
not trigger after CHARGE when the BT falls and rises through the
turning point.</p>
Alarm 2 is the start of the BBP. It triggers if the BT is above 340°F. Following a completed
roast this alarm will trigger when ON is pressed. The pop up prompts
the roastmaster to begin BBP by dropping the gas to zero.
<p>By selecting from the menu
<span style="font-family: courier;"> Config >> Sampling >> Keep ON</span>, Artisan will automatically shift
from OFF back to ON at the end of a roast. This works
really well with the BBP protocol.
</p>
<blockquote style="border: medium none; margin: 0px 0px 0px 40px; padding: 0px;">
<p style="text-align: left;">
<i>If START is pressed without first pressing ON, this alarm will trigger and the pop up will still appear but it can be ignored. The subsequent BBP alarms will not trigger once
CHARGE has been marked</i>
</p>
</blockquote>
<p>Alarm 3 tells the
roastmaster that the bottom temperature for BBP is near and the gas
should be increased to heat the roaster towards a charge. This alarm
triggers only after alarm 2 has previously triggered and BT is below
340°F. Said another way, this alarm happens only when the BT is decreasing and
CHARGE has not been marked.
</p>
<p>Alarm 4 alerts the roastmaster to get ready to charge the beans when BT reaches 380°F.</p>
<p>Alarm 5 automatically presses the START button so Artisan will begin recording the roast as we near the CHARGE temperature. We now shift from BBP to roasting.</p>
<p>Alarm 6 is used to automatically turn OFF the scope a fixed time after DROP. This saves the roastmaster from having to remember to click OFF. It is completely optional.
</p>
<p>You can add additional alarms for use during the roast. Further, you could define similar alarm sets for BBP with different CHARGE temperatures.</p>
<p>
<br />
</p>
<h4>
<span style="color: #444444;">How Does It Look in Operation?</span>
</h4>
<p>A background curve is displayed in the following images to show you the entire roast cycle including the BBP beginning before CHARGE. Normally you would not record the BBP as the roaster would be in the ON
state while you set up the next roast and enter data for it in the
<span style="font-family: courier;">
Roast >> Properties </span>window. </p><p><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieOnKSkaQSjRm1-dDm9xJAsDG_tztz1XWq7kCHshQhJ8eDOXpBxQBvEUOkgXbKcyY7ccckoN6gZFtOwXnLpSfAnHOHNg224TlankfzB7X_gdGtaM5b8NmYICDcIO0C9ymWhacIn0x4BYI/s1033/bbp1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1033" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieOnKSkaQSjRm1-dDm9xJAsDG_tztz1XWq7kCHshQhJ8eDOXpBxQBvEUOkgXbKcyY7ccckoN6gZFtOwXnLpSfAnHOHNg224TlankfzB7X_gdGtaM5b8NmYICDcIO0C9ymWhacIn0x4BYI/w640-h392/bbp1.png?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">In this first image the previous roast has just finished and the ON button pressed. Alarm 2 has triggered and displayed the prompt for the roastmaster to turn off the gas to start BBP.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvDex1EuG8KPku6SjXeyp4PP3_tcv_HQC4rbPUo4maQ30S7y3Y7I0ruULQt86_IbCb7nWpRqaAYXqtISOYotbdngH3AW6xMouPyt1OkeANbs8YcQ6K49FXlaQV1BYQsqpGwDv17_YtAvQ/s1033/bbp2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1033" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvDex1EuG8KPku6SjXeyp4PP3_tcv_HQC4rbPUo4maQ30S7y3Y7I0ruULQt86_IbCb7nWpRqaAYXqtISOYotbdngH3AW6xMouPyt1OkeANbs8YcQ6K49FXlaQV1BYQsqpGwDv17_YtAvQ/w640-h392/bbp2.png?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;">The bottom BBP temperature was reached and alarm 3 has triggered. </div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><br /></div></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicH6PkE6nk389tSbK0NoUuR15n9pHvTVP1FsTiXVHqD4ZXz95NE9Y7bakIuo_BIlzj4eJrhs9jT8v0KS05YDGboK5a-LAaZE5DilF8lWE7iXeNls8OUi4w52jGv8qEiAoocCpbNi5C3A8/s1033/bbp3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1033" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicH6PkE6nk389tSbK0NoUuR15n9pHvTVP1FsTiXVHqD4ZXz95NE9Y7bakIuo_BIlzj4eJrhs9jT8v0KS05YDGboK5a-LAaZE5DilF8lWE7iXeNls8OUi4w52jGv8qEiAoocCpbNi5C3A8/w640-h392/bbp3.png?imgmax=1600" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">The temperature has risen and will soon reach the CHARGE temperature.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj27sIRC5okaGyF_64OGPWSE2BN8gdWTyU4Lx8gvz1ZQ1WxqydCU2nW23G_iZNRFyUIBMHZ7LkCIKNctYVD7RN3lBWSb9wlelQ6dJUIU76i9VspjMEtJaqSnqCtXuLMJcMwKpndDFSBeX8/s1033/bbp4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="634" data-original-width="1033" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj27sIRC5okaGyF_64OGPWSE2BN8gdWTyU4Lx8gvz1ZQ1WxqydCU2nW23G_iZNRFyUIBMHZ7LkCIKNctYVD7RN3lBWSb9wlelQ6dJUIU76i9VspjMEtJaqSnqCtXuLMJcMwKpndDFSBeX8/w640-h392/bbp4.png?imgmax=1600" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;">Alarm 5 automatically pressed START at 376°F to start Artisan recording the roast. In this image we see that the CHARGE is recorded and we are tracing the background profile.</div><div class="separator" style="clear: both; text-align: center;"><br /></div>
<div>
<br />
</div>
<h3 style="text-align: left;">
<span style="color: #0b5394;">Machines with Remote Gas, Air and/or Drum Speed Control</span>
</h3>
<div>
<div><br /></div><div>Machines that allow the control of the burner, airflow and drum speed, when available, can be operated via Artisan sliders. The BBP can be fully automated using alarm actions to conditionally modify slider values. The example above can be extended to support machines with remote control capability. </div>
<div>
<br />
</div>
<div>The next example shows a way to fully automate BBP via remote control of the burner.</div>
</div><div><br /></div><div><br /></div>
<div><br /></div><h3 style="text-align: left;"><span style="color: #0b5394;">BBP Using the Artisan PID - For Roasters with Remote Burner Control</span></h3>
<div>
<div><br /></div><div>For roasters with burners that can be controlled remotely by Artisan, a Ramp-Soak pattern can be used allowing a PID system to automate the BBP. This is a bit like the auto parking mode of your car. If your roaster does not have the ability for its burner to be controlled remotely you should use the alarms based method above.</div>
</div>
<div><br /></div>
<div>
<h4 style="text-align: left;">
<span style="color: #444444;">PID Control and Ramp-Soak Patterns</span>
</h4>
<div><br /></div><div>A PID is an algorithm which takes as an input signal (process value, PV) and generates an output signal for an actor such that the input signal is driven towards a given target value (set value SV, sometimes call set point). </div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVkSnWSgJ8XRfZuB1CpcEH2Y6eQD7Rmzi5vU1rzGY2mxpKSMzpqk3TonLIMrCdiERVYxYFgvNWRGmqdzAVnk5OByQ2GqDJjAtZdTJWY8Pwy4pgO1Cs4BSHJVeNyN9BU8xUJxc7nFvzolg/s600/pid2.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="412" data-original-width="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVkSnWSgJ8XRfZuB1CpcEH2Y6eQD7Rmzi5vU1rzGY2mxpKSMzpqk3TonLIMrCdiERVYxYFgvNWRGmqdzAVnk5OByQ2GqDJjAtZdTJWY8Pwy4pgO1Cs4BSHJVeNyN9BU8xUJxc7nFvzolg/s320/pid2.png?imgmax=1600" width="320" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>For the use with traditional drum roasters we use the bean temperature as input and allow the PID algorithm to control the burner to reach the SV. For air roasting using the environmental temperature probe signal as input might be more appropriate and in some cases putting the airflow under PID control might be a good alternative to the control of the burner.</div>
</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5khidM-Ch4U0r_mDCGy82K1AhFx-mcUJbCcpFWApjMFTKSBpN6jtej12jodaSIsx3dOOeFRNR9twBx-t6MenKah3lXeOiReB2MDqvbccWM_O_xQKDskD3YUz4kwCoYoQfTtl8qMDqeVU/s800/pid1.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="435" data-original-width="800" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5khidM-Ch4U0r_mDCGy82K1AhFx-mcUJbCcpFWApjMFTKSBpN6jtej12jodaSIsx3dOOeFRNR9twBx-t6MenKah3lXeOiReB2MDqvbccWM_O_xQKDskD3YUz4kwCoYoQfTtl8qMDqeVU/w400-h217/pid1.png?imgmax=1600" width="400" />
</a>
</div>
<br />
<div>To realize a certain BBP using PID control in Artisan, the SV can be manipulated manually using sliders or buttons, by alarm rules using corresponding alarm actions or dynamically via Ramp-Soak patterns. Note that these mechanisms can freely combined. Here we take a look at PID control via Ramp-Soak patterns.</div>
<div>
<div>
<br />
</div>
<div>A Ramp-Soak pattern is a pair of two time periods and a SV. In the Ramp period, the SV is increased step-wise to the specified SV from the SV the pattern got started, while in the Soak period the SV is hold constant at the specified SV. Note that both periods can be zero. </div>
<div>
<br />
</div>
<div>The following picture shows a sequence of two Ramp-Soak patterns to specify a BBP by modulating the SV over time. The first pattern contains just the Soak part and allows the bean temperature to fall down to 170°C within 4min. The second pattern starts with a Ramp to bring the bean temperature up again to the intended CHARGE temperature of 190°C within 3 minutes and a short Soak to hold the SV constant until CHARGE.</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx2xDcYvOWqZe08GO-UqnBjnNkqhZuHhoXCdMrICqTxX10mhs-3SRr8w2jjyelV723JLmcY6VFNLUzD8g1X5qm8U3iFFqw6ixA6fGfqW87lb5EYRg5WdBU12AUbVbIDlj8a05uvzX_cgk/s789/BBP-190C.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="460" data-original-width="789" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx2xDcYvOWqZe08GO-UqnBjnNkqhZuHhoXCdMrICqTxX10mhs-3SRr8w2jjyelV723JLmcY6VFNLUzD8g1X5qm8U3iFFqw6ixA6fGfqW87lb5EYRg5WdBU12AUbVbIDlj8a05uvzX_cgk/w640-h374/BBP-190C.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<br />
</div>
<div>The Artisan PID allows you to define up to 3 Ramp-Soak sets, each with up to 8 Ramp-Soak pairs. That should be enough to model pre-heat, between batch and even full roast processes.</div>
</div>
<div>
<br />
</div>
<div>
<br />
</div>
<h4 style="text-align: left;">
<span style="color: #444444;">Artisan PID Setup</span>
</h4>
<div>
<br />
</div>
<div>To activate the PID Control in Artisan you first need to tick the Control flag in the Device Assignment dialog (menu
<span style="font-family: courier;">Config >> Device</span>, 1st tab).</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjum6h-G6iVk8FxoUiByXJrbneRvJ_2EhL0Cn0z4gSiFsXbG8rAS4zJbK19jONaM1N1MQxIW1l5T1HNlnmCEfiw_4gcPuvERah1TDuJyXMLAuoUJ3uOLxxcZA5YtVVLA9exzlFjd7OzjG4/s1322/Screenshot+2020-12-12+at+15.20.02.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="394" data-original-width="1322" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjum6h-G6iVk8FxoUiByXJrbneRvJ_2EhL0Cn0z4gSiFsXbG8rAS4zJbK19jONaM1N1MQxIW1l5T1HNlnmCEfiw_4gcPuvERah1TDuJyXMLAuoUJ3uOLxxcZA5YtVVLA9exzlFjd7OzjG4/w640-h190/Screenshot+2020-12-12+at+15.20.02.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>An additional blue Control button will show up in the right upper corner of the main window which opens the PID Control dialog which allows to configure the PID.</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhewjLAudOCspkYVWDRytu8weDQ5QxjKZ1JSmaLsyVQ40k0g0n0JeC43BbjHOsK4QBCTGnRuRvWdi-suHYsQeUNhRdi-MsgckL3v81m61hhfVhgO5DK0e4JtAhFF_2IwEyFrPuF4JKrvCw/s1249/Screenshot+2020-12-12+at+15.28.17.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="424" data-original-width="1249" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhewjLAudOCspkYVWDRytu8weDQ5QxjKZ1JSmaLsyVQ40k0g0n0JeC43BbjHOsK4QBCTGnRuRvWdi-suHYsQeUNhRdi-MsgckL3v81m61hhfVhgO5DK0e4JtAhFF_2IwEyFrPuF4JKrvCw/w640-h218/Screenshot+2020-12-12+at+15.28.17.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>
<br />
</div>
<div>
<br />
</div>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;">
<div style="text-align: left;">
<i>Artisan can either operate an external hardware PID via the S7 or MODBUS protocol </i>
<i>that some machines feature</i>
<i> (if configured in the Ports Dialog), the Fuji/Delta PID or the Arduino/TC4 PID if configured as main device, or the internal Software PID of Artisan. Which PID is operated depends on of your device setup. The PID Control dialog will look slightly different for each of those 3 modes.</i>
</div>
</blockquote>
<div>
<div>
<br />
</div>
<div>
<br />
</div>
<div>The PID Dialog itself allows you to configure the PID algorithm by tuning its p-i-d parameters, chose a source signal to operate on (here the bean temperature, BT), set a target to be operated (here the slider that controls the burner of the roasting machine), set limits on the duty signal (e.g. you might want to limit the minimum level of the burner to say 10%), set SV mode (manual, Ramp/Soak or follow-background), activate the SV button and slider controls and to activate and deactivate the PID (a light blue Control button indicates a running PID).</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPSeIegBJ3VX5Yp4CLEFjtlgxcX7xCD9wYAaLRJdOhmq4StJLaKOPK0N3JClqNnWSyJHrSU3asneBVF8sP6s2BTYZ14AkcQTyi_pFhXTjWMxmQ6DDue8HRjC8BI1lON7DX6pHzI4qGJU/s1548/PID-Dialog.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="890" data-original-width="1548" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPSeIegBJ3VX5Yp4CLEFjtlgxcX7xCD9wYAaLRJdOhmq4StJLaKOPK0N3JClqNnWSyJHrSU3asneBVF8sP6s2BTYZ14AkcQTyi_pFhXTjWMxmQ6DDue8HRjC8BI1lON7DX6pHzI4qGJU/w640-h368/PID-Dialog.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
</div>
<br />
<div>The BBP Ramp-Soak pattern discussed above can be configured in the second tab of the PID Control dialog.</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPu_czd45bAuccqkvWRIQp7FKJk2BrxZUsXxmmaw3m3eV0b9sFiLjBmMjQGsef75EMNW_he2m6PlLh1mjn6ov9K8eR2pD2AA_5-C9brZ4bgz7A9Dn-IRIb7PjHS8WgogLVUtTXMce6kM/s1336/Screenshot+2020-12-12+at+16.25.28.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="1264" data-original-width="1336" height="606" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPu_czd45bAuccqkvWRIQp7FKJk2BrxZUsXxmmaw3m3eV0b9sFiLjBmMjQGsef75EMNW_he2m6PlLh1mjn6ov9K8eR2pD2AA_5-C9brZ4bgz7A9Dn-IRIb7PjHS8WgogLVUtTXMce6kM/w640-h606/Screenshot+2020-12-12+at+16.25.28.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>
<br />
</div>
<h4 style="text-align: left;">
<span style="color: #444444;">How Does It Look in Operation?</span>
</h4>
<div>
<br />
</div>
<div>In the image below you see this Ramp-Soak BBP in action. Note that here the recording is running to see the progress in the chart and thus the timer increasing as normal during recordings. Usually the Ramp-Soak BBP is run in monitoring ON mode where the timer LCD counts down to indicate the remaining run-time of the Ramp-Soak sequence. This helps the roastmaster follow the progress of BBP and to get prepared to CHARGE. The SV slider on the left as well as the SV LCD on the right indicate the temperature target at any moment, while the burner slider on the left and the Duty LCD on the right show the duty value computed by the PID based on the current bean temperature and the SV.</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDvdPqU8PcHj0ddrpaM8J_6ERzsQYvVFpI7a9R9jvBpcDYsXlMTsOX_zjrif3jXK8Uw2deJNtNQD319ujRjJsr8_NS2Z6fuwMZDzXRjjzfVIY9TL6fz-g610fGRgOyjjq46dkXN3_tFv0/s960/BBP.mp4.gif" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="540" data-original-width="960" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDvdPqU8PcHj0ddrpaM8J_6ERzsQYvVFpI7a9R9jvBpcDYsXlMTsOX_zjrif3jXK8Uw2deJNtNQD319ujRjJsr8_NS2Z6fuwMZDzXRjjzfVIY9TL6fz-g610fGRgOyjjq46dkXN3_tFv0/w640-h360/BBP.mp4.gif?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>
<br />
</div>
<div>The BBP is started here around BT 203°C, my usual DROP temperature. The machines slow cooling speed at -4.6°C/min with the burner turned off doesn't allow to reach the 170°C target within the 4 minutes of the first Soak period. On might want to increase that period to 5 minutes on this machine. Then around minute 5 the Ramp up of the second segment catches the falling BT and the PID immediately starts the burner. Thus the bean temperature BT is able to catch up by minute 7 with the target SV given by our BBP and reaches the 190°C target just in time. At the very end you see that the PID produces a slight over swing which could be prevented by better p-i-d parameter tuning.</div>
<div>
<br />
</div>
<div>
<br />
</div>
<h4 style="text-align: left;">
<span style="color: #444444;">Full Automation</span>
</h4>
<div>
<br />
</div>
<div>Above we showed how to completely automate the BBP. Why not define a custom event button with some
<span style="font-family: courier;"> Artisan Commands </span>that start this BBP process with one click? The button defined below will do this.</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzDpxKK4xCHUL3Zy-iR3mIQRbU6e0Yjq2Y59ROuaSBG7mpLvb3Yh-wc8eFz7Q8DBfJW-MQ0e0_mWLn5sEqO1z3f9474SaDy8caz68udqQ20yUHEL2g7hR2nQTYoMBFxhjEEH8ixTrO9J8/s2118/Screenshot+2020-12-12+at+16.27.35.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="612" data-original-width="2118" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzDpxKK4xCHUL3Zy-iR3mIQRbU6e0Yjq2Y59ROuaSBG7mpLvb3Yh-wc8eFz7Q8DBfJW-MQ0e0_mWLn5sEqO1z3f9474SaDy8caz68udqQ20yUHEL2g7hR2nQTYoMBFxhjEEH8ixTrO9J8/w640-h184/Screenshot+2020-12-12+at+16.27.35.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>Previously we configured an action that shows a pop up message that says “Charge!” on completion of the last Ramp-Soak pattern. Instead we can select START as the action to immediately start the recording of the next batch once our BBP successfully completes. But why not also start the BBP automatically after dropping the previous batch? If we want to show a pop up reminder, start the recording and turn the PID off, we can define a corresponding hidden button (button 2 below) with a corresponding Artisan Command action that is activated at the end of the last Ramp-Soak pattern by using and Event Button action. </div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhw4GyaqYSBxwqvBnt7VQb1QlfXdcIPKuuqd8w5FCJJjKkFGAguq8psfZTnVu9qy-x-ZtzYkJa2Dg-KOMXshZBuxFzRM31bKFdksczvIIkzJnvBnNT42eRdvMqGV8556z7sALv3Nc9onw/s2100/Screenshot+2020-12-12+at+18.53.37.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="469" data-original-width="2100" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhw4GyaqYSBxwqvBnt7VQb1QlfXdcIPKuuqd8w5FCJJjKkFGAguq8psfZTnVu9qy-x-ZtzYkJa2Dg-KOMXshZBuxFzRM31bKFdksczvIIkzJnvBnNT42eRdvMqGV8556z7sALv3Nc9onw/w640-h142/Screenshot+2020-12-12+at+18.53.37.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy1pAjdHro8DO8-OiWhkUbnGhLAWjd89oyN5BtPzScXpv6qR1wUeBQ-eVBF6C4HIWXwvvy7jw1ff4zi9ecjYz0EiSCL94pOoW_sazAYQuX_28OgxK7hfQ17CQcvdFjTqSFTQ_xGzoSSak/s1336/Screenshot+2020-12-12+at+18.54.03.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="475" data-original-width="1336" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy1pAjdHro8DO8-OiWhkUbnGhLAWjd89oyN5BtPzScXpv6qR1wUeBQ-eVBF6C4HIWXwvvy7jw1ff4zi9ecjYz0EiSCL94pOoW_sazAYQuX_28OgxK7hfQ17CQcvdFjTqSFTQ_xGzoSSak/w640-h228/Screenshot+2020-12-12+at+18.54.03.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div>
<br />
</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div>We might also want to have the burner set to 100% automatically on pressing CHARGE. This can be achieved by a corresponding main button action triggering the hidden custom button 3 as defined above. Another such action could automatically turn the recording OFF 30sec after DROP.</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTmHLZ5YEBJHtJbpVsKBCuvxZfh4tpTRbkcLxELI1MhjN2fV6QPqgyJc9AMmQ6N2K1PLf7T4SuO5tMsBJFWZkaZwMTRzPNFA5_uuXVHyZt3JzeJuxPIJTyWmlKiDYtzoGRJZkNhDjSdz0/s2048/Screenshot+2020-12-12+at+18.53.20.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="1084" data-original-width="2048" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTmHLZ5YEBJHtJbpVsKBCuvxZfh4tpTRbkcLxELI1MhjN2fV6QPqgyJc9AMmQ6N2K1PLf7T4SuO5tMsBJFWZkaZwMTRzPNFA5_uuXVHyZt3JzeJuxPIJTyWmlKiDYtzoGRJZkNhDjSdz0/w640-h338/Screenshot+2020-12-12+at+18.53.20.png?imgmax=1600" width="640" />
</a>
</div>
<div>
<br />
</div>
<div>
<br />
</div>
<div>The Keep ON feature could then automatically turn Artisan back ON in the monitoring mode after the OFF button is triggered. Finally, an alarm triggered a second after ON (or alternatively a button action assigned to the ON button) could automatically run again our BBP by calling the corresponding event button 1.</div>
<div>
<br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP0CEPCdbQiMRDROLNBmNEVdpHCsUFS6ZhWUjnqi5uMzqe1zycNHx_E1g-D_biKlmaOkDdhwZxsoHzbp9NEKB6CbsJn8-7NuwPqGOp7t7wmUqaP_rFx4GyBDXbs15tKnxTRawDBNx3Pok/s750/Screenshot+2020-12-12+at+19.28.10.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="594" data-original-width="750" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP0CEPCdbQiMRDROLNBmNEVdpHCsUFS6ZhWUjnqi5uMzqe1zycNHx_E1g-D_biKlmaOkDdhwZxsoHzbp9NEKB6CbsJn8-7NuwPqGOp7t7wmUqaP_rFx4GyBDXbs15tKnxTRawDBNx3Pok/s320/Screenshot+2020-12-12+at+19.28.10.png?imgmax=1600" width="320" />
</a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwVWZ1EvCo9o2rSHDScMsbJ1wUDyITDLOhTaPbsfdaKNAdfx6DJ69y1AYJIi45OLkAlG4WgTLhq7Qn3tV8aNcYD9v1zOjgO4aloun5mrgl0ieep66pFb60EVG-zTmKkx1FQfR3E8oqgGo/s1908/Screenshot+2020-12-12+at+18.53.54.png" style="margin-left: 1em; margin-right: 1em;">
<img border="0" data-original-height="780" data-original-width="1908" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwVWZ1EvCo9o2rSHDScMsbJ1wUDyITDLOhTaPbsfdaKNAdfx6DJ69y1AYJIi45OLkAlG4WgTLhq7Qn3tV8aNcYD9v1zOjgO4aloun5mrgl0ieep66pFb60EVG-zTmKkx1FQfR3E8oqgGo/w640-h262/Screenshot+2020-12-12+at+18.53.54.png?imgmax=1600" width="640" />
</a>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br />
</div>
<div>This closes the cycle and fully automates roasting a sequence of batches, including a BBP in between each roast.</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br />
</div>
<div><br /></div>We hope that Artisan helps you better manage your BBP to improve your roasting.<div><br /></div><div>Marko and Dave</div>Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-62517970007772194932020-12-10T04:15:00.002-08:002021-04-21T06:56:13.951-07:00Blend Replacements<div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2020/12/blend-replacements.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="756" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoFyeBGVWWOi2SiraUhQb80CsfTNta7j7l6jdSdSX_twZSVmeuL3SigVQr6v8idVTiaQCJxc9V6RLvqs5j2uyIAuLS2WL7I3de_eDIhDhAIF7Ktjmjp9FawHAiNe8ryMtTTrnh66QaJhc/w640-h254/cover.jpg?imgmax=1600" width="640" /></a></div><br /><p>It happens that you run out of certain green beans. Often those beans can just be replaced by another one. However, if those beans play a part in one of your blends you might want to replace them with comparable beans without changing the recipe otherwise. Especially, if you just received the new harvest of that very same bean. Here we assume that you are managing your green bean inventory with <a href="http://artisan.plus">artisan.plus</a>.</p><span><a name='more'></a></span><p><br /></p><h3 style="text-align: left;">Blend without replacement</h3><p><br /></p><p>Let’s assume you have your standard Espresso Blend defined like this.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisdvEGbRo9TKzcMvneH_gox4yJfQfV5GbQRUU42Pug31aR5A62pZ1lLQ5eyo63Ms0bdEReFe1oxeBiW2skNQRz5wARWRynFH3BY5pA90t_m60-EKXGrt_dtdMCgYDG-sLU2sGUUb35nL4/s1098/blend-without-replacement.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="522" data-original-width="1098" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisdvEGbRo9TKzcMvneH_gox4yJfQfV5GbQRUU42Pug31aR5A62pZ1lLQ5eyo63Ms0bdEReFe1oxeBiW2skNQRz5wARWRynFH3BY5pA90t_m60-EKXGrt_dtdMCgYDG-sLU2sGUUb35nL4/w640-h304/blend-without-replacement.png?imgmax=1600" title="Espresso Blend with 5kg remaining stock" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Espresso Blend with 5kg remaining stock</span></td></tr></tbody></table><br /><p><br /></p><p>The indicated 5kg available stock is not enough to roast another full 15kg batch of this blend as the stock of its main ingredient is just 2.5kg. The Artisan app indicates this by marking the batch size red.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqAGKgzHGGwuzYkz30dCKwsJ0dwqObHjIDbEZvcdSf96JZ1Q6UeRxZObYG1HM5RY6qK3tt2xhOyEER77qWCEdbTZU8XdzQMVbrW6vEWlLBdH4FSGs744gR3nXC6QhyphenhyphenxapgLHlyeVkLGw/s1385/artisan-blend-without-replacement.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="668" data-original-width="1385" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqAGKgzHGGwuzYkz30dCKwsJ0dwqObHjIDbEZvcdSf96JZ1Q6UeRxZObYG1HM5RY6qK3tt2xhOyEER77qWCEdbTZU8XdzQMVbrW6vEWlLBdH4FSGs744gR3nXC6QhyphenhyphenxapgLHlyeVkLGw/w640-h308/artisan-blend-without-replacement.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Artisan indicating missing stock</span></td></tr></tbody></table><br /><p><br /></p><p>Luckily, you just received 2 bags of the new harvest of this bean.</p><p>Of course you can edit the blend definition and replace the ingredients that is running out by its follow-up before your next roast. However, what to do then with those 5kg left-over from the previous harvest? It should be totally ok to “blend” this remaining stock of that Brazil and fill the missing amount with beans from the new harvest.</p><p><br /></p><p><br /></p><h3 style="text-align: left;">Blend with replacement</h3><p><br /></p><p>Why not specify the new harvest as a replacement for the previous harvest in the first place? Just click on the “Add/Change replacement ingredients” and establish the new 2020 crop as replacement bean. Replacement beans will automatically be used as substitutes once the linked component runs out.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWC9Kem8T4QMkNc7BiRT_N3f4K2dhj01HpnditmcrYCZNgYDiLwnjCipTebd6d9f83pUYee96SNBKBfwHLRMEHjGP8DlsHuhtk6lK0Af6K8c82NCc_CR7kKdN-NQ9jX7T3AwDMYD7ctsE/s1114/blend-with-replacement.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="556" data-original-width="1114" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWC9Kem8T4QMkNc7BiRT_N3f4K2dhj01HpnditmcrYCZNgYDiLwnjCipTebd6d9f83pUYee96SNBKBfwHLRMEHjGP8DlsHuhtk6lK0Af6K8c82NCc_CR7kKdN-NQ9jX7T3AwDMYD7ctsE/w640-h320/blend-with-replacement.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Espresso Blend with replacement</span></td></tr></tbody></table><br /><p><br /></p><p>The <a href="http://artisan.plus">artisan.plus</a> platform estimates an additional 240kg range for our Espresso Blend with this replacement.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjugq9hjSL9oBeaq-0q5nxguz_EC7CoG7iEFelfFADn-tWY_QaJJB2C5l45YbRYSNOlf_ZAn0tTK4rnZfyugVSrWEJM8sw5unUjPL_fW-b3OIeDzBPwTwxcFOghai5n1YEcPJWdOjOPUU0/s1712/blend-with-replacement-stock.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="641" data-original-width="1712" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjugq9hjSL9oBeaq-0q5nxguz_EC7CoG7iEFelfFADn-tWY_QaJJB2C5l45YbRYSNOlf_ZAn0tTK4rnZfyugVSrWEJM8sw5unUjPL_fW-b3OIeDzBPwTwxcFOghai5n1YEcPJWdOjOPUU0/w640-h240/blend-with-replacement-stock.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Estimated reach with replacements</span></td></tr></tbody></table><br /><p><br /></p><p>The Artisan app automatically generate an intermediate blend recipe for the next batch that consumes up that left-over part and fills this batch up with beans from the specified replacement.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79DnzVsVLhyphenhyphenILtIClDk96yOMaMLCl5opqyIsATWsd6LyP73Q-XHy3CIY3qeN12lcuugwFwYZ-ZsV6I51GVe2TqmwfQyiEAprLDhDQBbwSyCdGZ-zSlNiawGlFXwgHpWdK5lIFj4FLNE4/s1385/artisan-intermediate-blend.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="668" data-original-width="1385" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79DnzVsVLhyphenhyphenILtIClDk96yOMaMLCl5opqyIsATWsd6LyP73Q-XHy3CIY3qeN12lcuugwFwYZ-ZsV6I51GVe2TqmwfQyiEAprLDhDQBbwSyCdGZ-zSlNiawGlFXwgHpWdK5lIFj4FLNE4/w640-h308/artisan-intermediate-blend.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Intermediate blend recipe</span></td></tr></tbody></table><br /><p><br /></p><p>What is left to do is to promote the replacement as permanent component and specify a new replacement for it once it is available.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS8PUcLbsDn-ThvO7E3Ry44E86G_zpkogrkOlXuhsPaP7umH65JiOcOr0DI4sA07XyRkHBZEML5AFf3tjZ4U-R-aGKbx9Ts3C7jaMzKoRLVuTvmZwiGuGUs3NTuPIdbbZFfs1l1LIxvI8/s1384/promote-replacement.mov.gif" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="656" data-original-width="1384" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS8PUcLbsDn-ThvO7E3Ry44E86G_zpkogrkOlXuhsPaP7umH65JiOcOr0DI4sA07XyRkHBZEML5AFf3tjZ4U-R-aGKbx9Ts3C7jaMzKoRLVuTvmZwiGuGUs3NTuPIdbbZFfs1l1LIxvI8/w640-h304/promote-replacement.mov.gif?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Replacement promotion</span></td></tr></tbody></table><br /><p><br /></p><p>All succeeding batches will automatically be composed using the updated recipe based on the promoted replacement.</p><p><br /></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjziVr9efRu42BGFstDW-mBrIZwcyMrccAkE4m8jyopiS4Az23QFWQ8gh8wRdjKZzIWVc6cfKPGq4zzU3LnkqW1eDY2JbiOirwmuloUJ2Io9QO9BzFl3ujqTQQAyoQKmyKoshMIZBeJIHI/s1385/artisan-blend-updated-recipe.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="665" data-original-width="1385" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjziVr9efRu42BGFstDW-mBrIZwcyMrccAkE4m8jyopiS4Az23QFWQ8gh8wRdjKZzIWVc6cfKPGq4zzU3LnkqW1eDY2JbiOirwmuloUJ2Io9QO9BzFl3ujqTQQAyoQKmyKoshMIZBeJIHI/w640-h308/artisan-blend-updated-recipe.png?imgmax=1600" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="text-align: left;">Intermediate blend recipe</span></td></tr></tbody></table><p><br /><br /></p><h3 style="text-align: left;">Further applications</h3><p><br /></p><p>Of course nothing prevents you in defining some beans already used as an ingredient in a blend as replacement of another ingredients. The replacement mechanism can also be used to automate the transition to succeeding harvests of single origins by blend recipes with just one component.</p><p><br /></p><p><br /></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-53591686557549685382020-10-02T10:29:00.009-07:002021-04-22T02:38:41.483-07:00Artisan v2.4.2<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://artisan-roasterscope.blogspot.com/2020/10/artisan-v242.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="327" data-original-width="756" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKVQc3T_acUD_ckaTNg_ief2vOkOxaSq5wNPKqbuuIH-Ax4Fh-VEVWfTxdg1ro_IHuqE_oT6WfmusPXAEvyYwwwqkE5otfN9m6jeZADpBa9gzY0aFSmbAnOPg5xIFAgv1K6xTdqUI8-hc/w640-h277/v2.4.2.jpg?imgmax=1600" width="640" /></a></div><br /><p></p><div>The focus of this release is on extending the one-click configurations to many more machines.</div><span><a name='more'></a></span><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Thank You!</h3><div><br /></div><div>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 <a href="https://artisan-scope.org/donate/" target="_blank">donation</a>!</div><div><br /></div><div>We observe that many persons profit from our work on Artisan. Sadly, only a very small fragment of the fast growing set of users, instructors and manufactures are supporting this project financially (with some notable exceptions like Randy running Buckeye Coffee). This project is now down to 0.08.- EUR donation per download. Not enough to keep this project going!</div><div><br /></div><div><div>This version was supported by <i>Randy (<a href="http://www.buckeyecoffee.com/" target="_blank">Buckeye Coffee Roasters</a>, USA), Nicola (<a href="https://www.ingnapoli.com/" target="_blank">Tostabar</a>, Italy), Hyunjai (<a href="http://novustec.co.kr/" target="_blank">Trinitas Novustec</a>, South Korea), Taylor (</i><a href="https://showroomcoffee.com/category/roasting-supplies/" target="_blank">Arc Roaster / Showroom Coffee</a>, USA)<i> and Marko & Paul (<a href="https://artisan.plus/">artisan.plus</a>, Germany).</i></div></div><div><i><br /></i></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<a href="http://www.buckeyecoffee.com/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh613dgFH3BkcZIN17UMUivxfQ64t3Penqm7DtGmFk0IFSgobfSaQrUIGonbe065I41WDFw9LH_99ZuSwtASk12xqNnJ7TQ05kcDDhhvMvjL7LoN29GwtzBkET7Bgnt_t4LCGgKw5__J0/s200/bc-logo.jpg?imgmax=1600" width="200" /></a><a href="https://www.ingnapoli.com/" style="margin-left: 1em; margin-right: 1em; text-align: center;" target="_blank"><img border="0" data-original-height="267" data-original-width="750" height="71" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8NvxyYPwdWweBA42A0b5EMmMpiUWBtid0XJFPgWQgCEWDZOGyE8PV4Ae9hvX-fsMbZcWRr6w4Q_ywWhOLtXWLL_bNHfnLIYQ8dZhyFV_TSOGfPS8fgpENx25_NDwxphoQII_XEA2D2SI/w200-h71/TOSTABAR-logo.png?imgmax=1600" width="200" /></a><a href="http://novustec.co.kr/" style="margin-left: 1em; margin-right: 1em; text-align: center;" target="_blank"><img border="0" data-original-height="340" data-original-width="1491" height="46" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMS0PCMQjvkDUvxxGELpiupWO1YdI7STrVZnXSe8_Hi0LMmcYlranhmjjkS0S4gexYrDzNz23eDUpCPeg-NQZhTe3TdwBEcucjAWm7k8_6eUtWkbAX-z2xpHM00sah4y7o8G-f0h7K-mE/w200-h46/logo.jpg?imgmax=1600" width="200" /></a><br /><br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<div class="separator" style="clear: both; text-align: center;"><br /></div><br /><a href="https://showroomcoffee.com/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj6MjM1jwDRDnvR9bgQykoCObhSONp5YhnqiFHUIRb_mcoaDATDxM1qPJxHSERodAYIwfC9p9Rh1d1ocxQnIo1vOJ6krTUxTcaXX0nz-cZCemMvtbuh0P2eK7GGPmMMN78_AHgfWCgBHE/w200-h87/showoom-coffee.png?imgmax=1600" width="200" /></a>
<a href="https://artisan.plus/" style="clear: right; display: inline; margin-bottom: 1em; margin-left: 1em; text-align: center;" target="_blank"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFve7zq8ycR4-wxX5Qy9g3YkbAxPYKHso-EyX8RVmyDchMpF5DaRcvABYy4vbqGtA1NIQiIxWT1ugSiFsMSHyn-_8EmGpZ-TdXrICj_rE7GSY8wig2Rv5JFC0w1M-lwHbNdS37_oiq1EA/s320/artisan-plus.jpg?imgmax=1000" width="320" /></a>
</div>
</div>
<br />
<div><br /></div><div><div>The following individuals and operations (in no specific order) did support the development of this version with their donation: <i>Ben, Henry Levine, Marcel Speek, Steven Kelleher, Reyphilip Sowels, Joshua McWilliam, Jaime O Diaz, Mark Darren Randell, Christian Steidele, Keith Poole, Abdulmohsin Ibrahim, Budiono (<a href="http://www.aslancofffee.com.au" target="_blank">Aslan Coffee</a>), Tom Kernan, Troy Truong, Jared Watkins, Rene dela Cruz Stuart, Aaron Wersing, Stephen Hull, Petro Lytvynchuk, Alan Perkins, Stephen Asara, Sinisa Novakovic, Stephen Mitchell, Andrew Freeman, Richard Parkinson and Dalton Moody.</i></div></div><div><br /></div><div><div>We thank especially those, that are supporting this project regularly: <i>Frans (<a href="https://kostverlorenvaart.blogspot.com/" target="_blank">Kostverlorenvaart</a>), Flint Orr, Colin (<a href="http://www.ironsideroasting.com" target="_blank">Café Mulé & Ironside Roasting</a>), Matthias Theobald, Gary Seeman, Mike (<a href="http://marvellstreet.com" target="_blank">Marvell Street Coffee Roasters</a>), Arch Getty, Rosemary Levine, Tolga (<a href="http://www.onetake.coffee" target="_blank">onetake coffee</a>) and Thomas Husband.</i></div></div><div><br /></div><div><div>Now get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">Contribute ideas</a> as <a href="https://github.com/artisan-roaster-scope/artisan/issues/502" target="_blank">PDWest did for this version</a> (see below), <a href="https://github.com/artisan-roaster-scope/artisan/issues" target="_blank">report issues</a>, help to improve the <a href="https://artisan-scope.org/docs/quick-start-guide/" target="_blank">documentation</a> and to <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html" target="_blank">correct and extent the localizations</a> as <a href="https://github.com/artisan-roaster-scope/artisan/pull/491" target="_blank">wuyi-levard did for this version</a> (see below). If you are short in time, consider to <a href="https://artisan-scope.org/donate/" target="_blank">contribute with a donation</a> to enable us to develop another version.</div><div><br /></div><div><a href="https://github.com/artisan-roaster-scope/artisan/releases/latest" target="_blank">Download now</a>!</div><div><br /></div><div>Your Artisan team</div><div>Marko, Dave, and Michael</div></div><div><br /></div><div><br /></div><h3 style="text-align: left;">What's New?</h3><div><br /></div><h4 style="text-align: left;">Extended Machine Support</h4><div><br /></div><div>This version adds one-click configuration support for roasting machines of more than 40 additional brands with build in measuring systems allowing Artisan to connect via USB or network directly without the need of any additional hardware:</div><div><br /></div><div><ul style="text-align: left;"><li><a href="https://artisan-scope.org/machines/ambex/" target="_blank">Ambex (YM)</a></li><li><a href="https://artisan-scope.org/machines/arc/" target="_blank">Arc Roaster (S/800)</a></li><li><a href="https://artisan-scope.org/machines/bellatw/" target="_blank">Bella TW (EVO)</a></li><li><a href="https://artisan-scope.org/machines/berto/" target="_blank">Berto (One and D)</a></li><li><a href="https://artisan-scope.org/machines/bideli/" target="_blank">Bideli (1-20kg)</a></li><li><a href="https://artisan-scope.org/machines/blueking/" target="_blank">BlueKing (BK)</a></li><li><a href="https://artisan-scope.org/machines/brambati/" target="_blank">Brambati (PLC models)</a></li><li><a href="https://artisan-scope.org/machines/datgen/" target="_blank">Dätgen (DR and DW)</a></li><li><a href="https://artisan-scope.org/machines/dongyi/" target="_blank">Dongyi (BR, BY and D)</a></li><li><a href="https://artisan-scope.org/machines/easyster/" target="_blank">Easyster</a></li><li><a href="https://artisan-scope.org/machines/froco/" target="_blank">Froco (FRA A & I Series)</a></li><li><a href="https://artisan-scope.org/machines/garanti/" target="_blank">Garanti (GKPX)</a></li><li><a href="https://artisan-scope.org/machines/goldenroasters/" target="_blank">Golden Roasters (GR)</a></li><li><a href="https://artisan-scope.org/machines/hartanzah/" target="_blank">Hartanzah Roaster</a></li><li><a href="https://artisan-scope.org/machines/hb/" target="_blank">HB-Roaster (standard and S models)</a></li><li><a href="https://artisan-scope.org/machines/hive/" target="_blank">Hive Roaster (Data Doom)</a></li><li><a href="https://artisan-scope.org/machines/ipxenakis/" target="_blank">IP Xenakis (iRm_Series with full control)</a></li><li><a href="https://artisan-scope.org/machines/kapok/" target="_blank">KapoK (K500, 1.0, and 5.0)</a></li><li><a href="https://artisan-scope.org/machines/kuban/">Kuban (Supreme setup with full control)</a></li><li><a href="https://artisan-scope.org/machines/lilla/" target="_blank">Lilla (PLC models)</a></li><li><a href="https://artisan-scope.org/machines/mcr/" target="_blank">Mill City Roasters (MCR Series)</a></li><li><a href="https://artisan-scope.org/machines/nor/" target="_blank">NOR Coffee Roaster (Nx000i and N3 PRIME)</a></li><li><a href="https://artisan-scope.org/machines/nordic/" target="_blank">Nordic</a></li><li><a href="https://artisan-scope.org/machines/opp/" target="_blank">Opp Roaster (MR)</a></li><li><a href="https://artisan-scope.org/machines/ozturk/" target="_blank">Öztürk (OKS)</a></li><li><a href="https://artisan-scope.org/machines/petroncini/" target="_blank">Petroncini (TT 5/10, 10/20, TT 60-400)</a></li><li><a href="https://artisan-scope.org/machines/roasterandroaster/" target="_blank">Roaster & Roaster (R Models)</a></li><li><a href="https://artisan-scope.org/machines/rascomac/" target="_blank">Rasco Mac (CRMA)</a></li><li><a href="https://artisan-scope.org/machines/rolltech/" target="_blank">Rolltech (EL)</a></li><li><a href="https://artisan-scope.org/machines/santoker/" target="_blank">Santoker</a></li><li><a href="https://artisan-scope.org/machines/tesla/" target="_blank">Tesla</a></li><li><a href="https://artisan-scope.org/machines/tostabar/" target="_blank">Tostabar (Genius K1 and K3)</a></li><li><a href="https://artisan-scope.org/machines/trinitas/" target="_blank">TRINITAS (T2 and T7)</a></li><li><a href="https://artisan-scope.org/machines/trobrat/" target="_blank">Trobrat</a></li><li><a href="https://artisan-scope.org/machines/typhoon/" target="_blank">Typhoon (2/3/4/9kg)</a></li><li><a href="https://artisan-scope.org/machines/vnt/" target="_blank">VNT</a></li><li><a href="https://artisan-scope.org/machines/vortecs/" target="_blank">Vortecs (PRO)</a></li><li><a href="https://artisan-scope.org/machines/wintop/" target="_blank">Wintop (WB, WK and WS)</a></li><li><a href="https://artisan-scope.org/machines/yangchia/" target="_blank">Yang-Chia (Feima 8xxn)</a></li><li><a href="https://artisan-scope.org/machines/yoshan/" target="_blank">Yoshan (BR, BY and DY)</a></li></ul></div><div><br /></div><div>Further, the configurations for machines of already supported brands got extended as well:</div><div><ul style="text-align: left;"><li>we added support for the new <a href="https://artisan-scope.org/machines/probat/" target="_blank">Probat Sample Roaster and P Series III machines</a></li><li>we added support for the <a href="https://artisan-scope.org/machines/coffeetech/" target="_blank">CTE Ghibli with touch panel</a> adding control of burner, fan and drum speed</li><li>we updated the <a href="adds " target="_blank">IMF RM</a> setups</li><li>we added burner control to the <a href="https://www.sanfranroaster.com/" target="_blank">San Franciscan</a> setup</li><li>we added a Toper USB setup next to the network MODBUS/TCP variant to connect to <a href="https://artisan-scope.org/machines/toper/" target="_blank">Toper TKM-SX machines</a></li></ul></div><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">New Profile Imports</h4><h4 style="text-align: left;"><br /></h4><div>We added importers for profiles of the <a href="https://roastlog.com/" target="_blank">RoastLog</a> service and made the existing <a href="https://www.ikawacoffee.com/" target="_blank">IKAWA</a> profile importer compatible with their new v3 CSV file format. We also updated the Aillio Bullet R1 JSON importer to cover their format changes.</div><div><br /></div><h4 style="text-align: left;"><br /></h4><h4 style="text-align: left;">Improved Rate-of-Rise Computation</h4><div><br /></div><div>An improved method to compute the Rate-of-Rise signals based on linear polyfits (least squares) has been suggested by <a href="https://github.com/PDWest" target="_blank">PDWest</a> (<a href="https://github.com/artisan-roaster-scope/artisan/issues/502" target="_blank">Issue #502</a>) and integrated based on his initial implementation (<a href="https://github.com/artisan-roaster-scope/artisan/pull/503" target="_blank">PR #503</a>). This technique results in a smoother Rate-of-Rise curve with larger delta-span values for signals containing high-frequency noise without the introduction of any additional delay.</div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjUA9UE_b2ETDSA9YV7qSdbLAEZFSKc5NmZ0tjLNWKuZQxwo5Gib99N9gaHAQQzVgO4DcG4Zd2-MYmscpqiugleuju6pEHMAUeoXd0XJxCAbc99rizC49wBw4X5V760_mQ80s-QKjzHo/s1194/Screenshot+2020-09-30+at+20.17.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1151" data-original-width="1194" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjUA9UE_b2ETDSA9YV7qSdbLAEZFSKc5NmZ0tjLNWKuZQxwo5Gib99N9gaHAQQzVgO4DcG4Zd2-MYmscpqiugleuju6pEHMAUeoXd0XJxCAbc99rizC49wBw4X5V760_mQ80s-QKjzHo/w200-h193/Screenshot+2020-09-30+at+20.17.35.png?imgmax=1600" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXC9QxA3kBPLKBnf8-rilqE5o19GXJZdQbFykmb1PPNh1RV8SXHvg4Mwb0_kgrGYrGgK173hYzEtD6WVpQZ7w6_OlZbjG8ODgiOLTxdrzVlXW1FAKom43BAPdbHsuqWSgT9hZK-645evc/s1192/Screenshot+2020-09-30+at+20.17.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1151" data-original-width="1192" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXC9QxA3kBPLKBnf8-rilqE5o19GXJZdQbFykmb1PPNh1RV8SXHvg4Mwb0_kgrGYrGgK173hYzEtD6WVpQZ7w6_OlZbjG8ODgiOLTxdrzVlXW1FAKom43BAPdbHsuqWSgT9hZK-645evc/w200-h193/Screenshot+2020-09-30+at+20.17.13.png?imgmax=1600" width="200" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><h4 style="text-align: left;">Additional Font Options</h4><div><br /></div><div>Suggested by <a href="https://github.com/wuyi-levard" target="_blank">wuyi-levard</a>, who also provided improved Chinese translations (<a href="https://github.com/artisan-roaster-scope/artisan/pull/494" target="_blank">PR #494</a>) to integrate a set of free fonts with complete character sets for Chinese, and some other Asian languages. On all platforms you can now select as graph font (menu Config >> Curves, last tab "UI") also "<a href="https://en.wikipedia.org/wiki/Source_Han_Sans" target="_blank">Source Han Sans</a>" offering CN, TW, KR, JP character sets and "<a href="https://en.wikipedia.org/wiki/WenQuanYi" target="_blank">WenQuanYi Zen Hei</a>" offering CN and TW character sets.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Dynamic Blend Replacements</h4><div><br /></div><div>On working with pre-blends, one has to handle the case when running out of a blend component which in turn has to be replaced by a substitute coffee. The <a href="http://artisan.plus" target="_blank">artisan.plus</a> platform and the Artisan app now supports the <a href="https://artisan-roasterscope.blogspot.com/2020/12/blend-replacements.html">automatic computation of the corresponding blend recipe transition</a>.</div><h4 style="text-align: left;"><br /></h4><div><br /></div><h4 style="text-align: left;">Bernoulli Sliders</h4><div><br /></div><div>Sliders can now be configured to emit values respecting Bernoulli's gas law, translating non-linear between gas flow (slider values) and gas pressure (gas valve). In Bernoulli mode, slider values<span style="font-family: courier;"> x </span>are first transformed by function<span style="font-family: courier;"> f(x) = (max-min) * ((x-min)/(max-min))^2 + min </span>(with<span style="font-family: courier;"> min/max </span>the slider min/max limits) before multiplying by the sliders factor and adding the sliders offset. Thus reducing the slider from 100% to 50% is reducing the value by 4 times instead of 2. For details see the <a href="https://www.home-barista.com/home-roasting/coffee-roasting-best-practices-scott-rao-t65601-70.html#p724654" target="_blank">recent discussion on home-barista.com</a>.</div><div><br /></div><div><br /></div><h4 style="text-align: left;">Interpolating Duplicate Input Filter</h4><div><br /></div><div>Finally, we observed that some devices (eg. Center meters or some Arc/HB roasting machines) return fresh readings only at a rather slow frequency (every 4-5 seconds). </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRklhYG8BNvn7KCdmCm3AYS4MmBtM1hJ7FjMplOFcw8qjDqQTh_c5s692tkQe8zirQj88-1fgNWajRV-tmj84eEBqXmMSCk_QUQyT6vWsXRB_VbRC8oNdUlnU1iWFyIimKIQGL5RDhOyE/s2048/HB+Screenshot+2020-09-11+at+19.05.21-1sec.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1431" data-original-width="2048" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRklhYG8BNvn7KCdmCm3AYS4MmBtM1hJ7FjMplOFcw8qjDqQTh_c5s692tkQe8zirQj88-1fgNWajRV-tmj84eEBqXmMSCk_QUQyT6vWsXRB_VbRC8oNdUlnU1iWFyIimKIQGL5RDhOyE/w640-h448/HB+Screenshot+2020-09-11+at+19.05.21-1sec.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>While this seems to be more of a cosmetic problem, receiving duplicate values by sampling faster than the connected device delivers updated data has negative implications on the derived rate-of-rise signal. Two successive temperature readings correspond to a zero rate-of-rise. As a consequence the resulting rate-of-rise curve contains significant swings even with relative aggressive smoothing settings. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Ujpa4mdRD8JSGmPxs3TZw7Fh6sVIgHV76-IoNrIaBYB0YA-7cshz8cSEjCwujzzUuIsC2JvLY-dWfwdwQ8uDh-bv70gMLjidCT9xjTz5iYDeYO-YZOsCxGiJMil5sEnStHcJwy-X63A/s2048/Screenshot+2020-09-30+at+21.06.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1368" data-original-width="2048" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Ujpa4mdRD8JSGmPxs3TZw7Fh6sVIgHV76-IoNrIaBYB0YA-7cshz8cSEjCwujzzUuIsC2JvLY-dWfwdwQ8uDh-bv70gMLjidCT9xjTz5iYDeYO-YZOsCxGiJMil5sEnStHcJwy-X63A/w640-h428/Screenshot+2020-09-30+at+21.06.24.png?imgmax=1600" width="640" /></a></div><br /><div><br /></div><div>We added a (destructive) Input Filter that recognises duplicate readings and replaces them with interpolation between the last and the next valid reading. It can be activated and its tolerance can be configured in the Filters tab of the Curves dialog (menu<span style="font-family: courier;"> Config >> Curves</span>).</div><div><br /></div><div><br /></div><h4 style="text-align: left;">WebSocket Communication</h4><div><br /></div><div>Next to the standard MODBUS and Siemens S7 protocols we added a <a href="https://artisan-scope.org/devices/websockets/" target="_blank">configurable protocol based on WebSockets exchanging JSON messages</a>.</div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-21071858946168545192020-06-26T08:49:00.001-07:002021-04-21T06:57:21.500-07:00How to Create the Perfect Background Curve<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/06/how-to-create-perfect-background-curve.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="756" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvTv6m0P6M_YXPxUgJtS0u9g_srBaCEI7veGMJgM6yIQ45_y5Yl1aEctRW0Ep8ubPIFE3BBW46oAE2X92M-VJCiJ4O7YEQT9uhksJM6Kkb6ssCPyVSwgaWsnLf8Mh1hydU6PUkZTo00rA/s1600/rails_cropped.png" /></a></div>
<br />
A background curve can act like a set of rails to ride while roasting. Roast masters often use a successful past roast as a reference in the background to follow and reproduce. This can be very helpful. Frequently the roasts available to use as a reference suffer from imperfections like RoR curves that show dips, crashes and flicks. A question we are asked is how to use an existing curve to create a "perfect" reference curve, a curve with straight line declining RoR using the event times and temperatures from an existing curve. This article will show one method to create a such a reference background curve.<br />
<a name='more'></a><br />
1) Start with a curve that has the desired FCs and DROP times and temperatures for the reference background curve.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYmZ-L7M1uqpWaihG-OkWP0hrVxHEIx8uXQ01VSoe1eR4MKmX11DYQa-hH6R4HvtjdtVGMu5svyIJp0sndsdD_NsmIjKuxrIRG7XehBZ223u-mliOO-cHIN4GOtV9rZ8X901XfMfj6kXo/s1600/Screenshot+-+6_8_2020+%252C+12_46_10+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="736" data-original-width="1366" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYmZ-L7M1uqpWaihG-OkWP0hrVxHEIx8uXQ01VSoe1eR4MKmX11DYQa-hH6R4HvtjdtVGMu5svyIJp0sndsdD_NsmIjKuxrIRG7XehBZ223u-mliOO-cHIN4GOtV9rZ8X901XfMfj6kXo/s640/Screenshot+-+6_8_2020+%252C+12_46_10+PM.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
2) Next, run the <a href="https://artisan-roasterscope.blogspot.com/2019/11/analyzer.html" target="_blank">Profile Analyzer</a>
on this curve. The x² Analyzer option will provide a straight line
RoR. Not every curve can be fit this way. If that happens try the x³
option which will provide a smooth declining RoR that has a slight curve
to it.<br />
<br />
The result is shown below. The Analyzer performed a curve fit in the time from DRY END to DROP. This can be seen by the outer shaded area, highlighted by the red box here. This is the most critical part of the roast. In drum roasters it follows the time when the probes must adjust to an enormous change in temperature. They were stable at the CHARGE temperature when all of a sudden they are immersed in beans that are at ambient temperature. This is typically a change of over 150°C (300°F).<br />
<br />
The shaded region is where a linear, declining RoR is desired. The Analyzer created a background profile with a BT curve that best fits the times and temperatures of the original from DRY END to FCs to DROP, and has a straight line BT RoR.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJuy_Hg8ruT3GcxHzd3zV38GM9mSxM8EED3JFCuPOMaz0GZipdrsqC8j0eXcp7MVLQWfiss0pFvJc5owCno9pOqSoz7gDMHZt1Zh6tUwQwFnxyPAkThdPO4xTmviTvdCjWkLoZ-m59FBc/s1600/Screenshot+-+6_8_2020+%252C+12_58_20+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJuy_Hg8ruT3GcxHzd3zV38GM9mSxM8EED3JFCuPOMaz0GZipdrsqC8j0eXcp7MVLQWfiss0pFvJc5owCno9pOqSoz7gDMHZt1Zh6tUwQwFnxyPAkThdPO4xTmviTvdCjWkLoZ-m59FBc/s640/Screenshot+-+6_8_2020+%252C+12_58_20+PM.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<br />
<br />
3) The next step is to bring the new background profile to the foreground. Use the menu Roast>>Switch Profiles.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcFjNmXthobfZeOkpG2-09Nu4X-VhB64aUtMQRuxc4VzofVnICy9liITa3ia0CTxYtqtXE9Y2HCbztL_6wyf5ewb_T5brNWf7i5gyZLKiF3yoe0ukuQOMzOUC4mjNKKmaR_49aHKqDid8/s1600/Screenshot+-+6_8_2020+%252C+1_37_18+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="735" data-original-width="1366" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcFjNmXthobfZeOkpG2-09Nu4X-VhB64aUtMQRuxc4VzofVnICy9liITa3ia0CTxYtqtXE9Y2HCbztL_6wyf5ewb_T5brNWf7i5gyZLKiF3yoe0ukuQOMzOUC4mjNKKmaR_49aHKqDid8/s640/Screenshot+-+6_8_2020+%252C+1_37_18+PM.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
A prompt will pop up asking if you want to save the original profile. Choose <span style="font-family: "courier new" , "courier" , monospace;">Discard </span>(unless you made changes to the original profile that you have not saved and want to keep). Now the curve fit BT and BT RoR are brought to the foreground.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBnlSIqbFaI0SqNpTM5nz6CG2fpKmOlmJ2RYHE1YaMebK5wU4GMbBUQYtpwBOCg7RR7HLV9mwIL_8F_wnGJRiAtMS-4Wxvt0Tqo1OBVkoDiDEngQ2TXgjm4cp94Vx3WZDD-Eo_7rhIiK8/s1600/Screenshot+-+6_8_2020+%252C+1_54_14+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBnlSIqbFaI0SqNpTM5nz6CG2fpKmOlmJ2RYHE1YaMebK5wU4GMbBUQYtpwBOCg7RR7HLV9mwIL_8F_wnGJRiAtMS-4Wxvt0Tqo1OBVkoDiDEngQ2TXgjm4cp94Vx3WZDD-Eo_7rhIiK8/s640/Screenshot+-+6_8_2020+%252C+1_54_14+PM.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
At this point the BT curve displayed fits the original roast's event times and bean temperatures for the events FCs and DROP. The BT RoR is a declining straight line for the most critical part of the roast. <br />
<br />
4) Save the profile to use later as a reference background curve.<br />
<br />
<i>Note: This is a good time to save your settings too. You should save them periodically so if something ever goes wrong you will have a copy to restore. From the menu choose <span style="font-family: "courier new" , "courier" , monospace;">Help>> Save Settings</span>.</i><br />
<br />
Notice the BT curve is the shape that corresponds to a fluid bed roaster. Not represented is the initial temperature drop from CHARGE through TP and up to DRY END typical of a drum roaster. When you think about it, the true temperature of the beans starts at the ambient temperature and rises continuously just as shown in this BT curve. While the shape of the BT curve from CHARGE to TP to DRY could be manually recreated in the <a href="https://artisan-roasterscope.blogspot.com/2019/05/using-artisan-designer.html" target="_blank">Designer</a> it is probably not worth the trouble.<br />
<br />
If adjustments do need to be made, take the curve into the Designer or use the <a href="https://artisan-roasterscope.blogspot.com/2020/05/profile-transposer.html" target="_blank">Transposer</a> (new in <a href="https://artisan-roasterscope.blogspot.com/2020/06/artisan-v24.html" target="_blank">Artisan v2.4</a>) to adjust the timings and then repeat the steps above as necessary.<br />
<br />
Enjoy creating "perfect" profiles to guide your future roasts. <br />
<br />
<br />
<br />
<br />
<br />
<br />Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-84430953209697755072020-06-03T08:55:00.000-07:002020-06-04T10:19:14.662-07:00Artisan v2.4<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/06/artisan-v24.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="320" data-original-width="709" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzlOySUZ5mgyPRS0OX2pXiKLPrtg_QTh7b2wtiQMKqPac3xv0lA1alf9p-3Nd9BaD1zRFDEXvjwllzIKXakhvG5MQ1zoFV1coiwHkGmIHF9Z_Bz2X-5Yhi9YlP4ofhyhSfIM3CnG_IrjY/s640/g3169-1.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
We are proud to present the results of our work of the past months. This release takes Artisan quite a bit further by introducing a number of new roasting tools besides and many small refinements. Enjoy the new <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-comparator.html">Roast Comparator</a>, <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-simulator.html">Roast Simulator</a>, and <a href="https://artisan-roasterscope.blogspot.com/2020/05/profile-transposer.html">Profile Transposer</a> now available with <a href="https://github.com/artisan-roaster-scope/artisan/releases/latest">Artisan v2.4</a>!<br />
<a name='more'></a><br />
<h3>
Thank You!</h3>
<div>
<br /></div>
<div>
<div>
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 <a href="https://www.paypal.me/MarkoLuther">donation</a>!</div>
<div>
<br /></div>
<div>
Especially the support by the coffee industry is extremely important. This version was supported by Randy (<a href="http://www.buckeyecoffee.com/">Buckeye Coffee Roasters, USA</a>), Michael (<a href="https://www.hottopusa.com/">Hottop, USA</a>), Mustafa (<a href="https://www.ozstarmakina.com/">Özstar</a>, Turkey) and Marko&Paul (<a href="http://artisan.plus/">artisan.plus</a>, Germany).</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<a href="http://www.buckeyecoffee.com/" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1000" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh613dgFH3BkcZIN17UMUivxfQ64t3Penqm7DtGmFk0IFSgobfSaQrUIGonbe065I41WDFw9LH_99ZuSwtASk12xqNnJ7TQ05kcDDhhvMvjL7LoN29GwtzBkET7Bgnt_t4LCGgKw5__J0/s200/bc-logo.jpg" width="200" /></a><a href="https://www.ozstarmakina.com/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1000" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitZipzy8XgoxaGrcECVPn8c2y-_w2z8c1RYXh-nPM9DgrUlGqFUSDKWgM7ejXCZSOFido62Aug4PLRCaQHo0uOTiEFUuJIpTz6rjkM2CcL3Or6IsG3s5bH9wxRgDCSe_CnxWECKhAvGA4/s200/logo1000.jpg" width="200" /></a><a href="https://www.hottopusa.com/" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="500" data-original-width="1000" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFUF1AoEhy7gaWgCM6bMYhvnDCWsOE8D7paJz2j5YztzbmyLWE3N6-uSQRA-AkQ0t8ZKte6EkA5IaPEa8aeiy5B2TrIjjXdBHmi_x8FIDy-sRMn9JlFySWyCEiqryAojbWTQ9geXLNmcU/s200/hottop-logo.png" width="200" /></a></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan.plus/" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFve7zq8ycR4-wxX5Qy9g3YkbAxPYKHso-EyX8RVmyDchMpF5DaRcvABYy4vbqGtA1NIQiIxWT1ugSiFsMSHyn-_8EmGpZ-TdXrICj_rE7GSY8wig2Rv5JFC0w1M-lwHbNdS37_oiq1EA/s320/artisan-plus.jpg?imgmax=1000" width="320" /></a>
</div>
</div>
<br />
The Artisan team thanks Fotis (<a href="https://coffeelovers.gr/">Coffee Lovers, Editors & Trainers</a>, Athens Greece) as well as Alberto (<a href="https://www.bloom.coffee/">Bloom Coffee School</a>, Trieste Italy) for organising Artisan seminars at their locations, helping to spread the word.<br />
<br />
The following individuals and operations (in no specific order) did support the development of this version with their donation: <i>Martin Copper, Dave (the Chambers), Richard (<a href="http://www.rusticroastery.net/">Rustic Roastery</a>), Mark Clavell, Carlos Fernandez, Ben (<a href="http://www.potomacchocolate.com/">Potomac Chocolate</a>), Michael Stimets, </i><i>Philip Sowels, </i><i>Keith Poole, </i><i>Bruno Henriques, </i><i>Sander de Bie, </i><i>Lou Arminio, </i><i>Jim (<a href="http://www.salvationcoffeecompany.com/">Salvation Coffee Company</a>), Federico Osorio, Norm and Martin (<a href="http://banffroastingcompany.com/">Banff Roasting Company</a>), Chris Kolber, JunShin, Andreas Wurtinger, </i><i>Koby Funderburg, </i><i>Uwe Schuschnig, Craig (<a href="https://riverbottomroasters.com/">River Bottom Roasters</a>), Douglas Sharp, Vitaly Tarasenko, Chris Moore, Chang Hui, Peter Sloan, Randy and Deacon (<a href="http://www.xanaducoffee.com/">Xanadu Coffee</a>), Rosewood Fun, Ohnishi-san (<a href="http://www.coffeesakura.jp/">株式会社 さくら</a>), Jordan Nickell, Danette Adams, </i><i>Raymond (<a href="https://www.facebook.com/reallyreallyfreshcoffee">Really Really Fresh Coffee</a>), </i><i>William Johnson, Suksit Thep-Aree, Oliver Prosperi, Andy Russell, Knud Buck, Samuel Malanowski, Grant Spence (<a href="https://speysidecoffee.co.uk/">Speyside Coffee Roasting</a>), Wilker Silva, Dane Paster, Aaron Rupp, Engin Arcan, Leo Shrock, David Manning, Joseph Ferreri, Martin Kral, John Castle, Mugurel-Ovidiu Sodolea, Michele (<a href="http://caffegentili.com/">Caffè Gentili</a>), Phil Dawes, Jürgen Wagner, Kenneth (<a href="https://www.coffeereview.com/">Coffee Review</a>), Chris Dunavan and Michael Gallagher.</i><br />
<br />
We thank especially those, that are supporting this project regularly: <i>Vladimir Pal, Frans (<a href="https://kostverlorenvaart.blogspot.com/">Kostverlorenvaart</a>), Colin (<a href="https://www.facebook.com/ironsideroasting/">Ironside Roasting</a>), Michael (<a href="http://www.encorecoffeeco.com/">Encore Coffee Company</a>), Rick (<a href="http://www.softwarepolish.com/">Software Polish</a>), Matthias Theobald, Dan (<a href="https://fatrabbitcoffee.com/">Fat Rabbit Coffee</a>), Paolo (<a href="https://www.hmcmonza.com/">His Majesty the Coffee</a>), Flint W Orr, Stuart McKnight, Jaroslav (<a href="https://www.doubleshot.cz/">doubleshot</a>) and Joe (<a href="https://ojoecoffee.com/">O-JOE Coffee & Food</a>).</i><br />
<i><br /></i>
Special thanks go to Manfred (<a href="http://werksbrandt.de/">Werksbrand</a>) who helped Marko to install a modulating gas valve on his vintage Probat, Dennie for again sharing his firework of ideas and many detailed bug reports, and Nico for supporting this project wherever he can.<br />
<br />
Now get active! <a href="https://github.com/artisan-roaster-scope/artisan/issues">Contribute ideas</a>, <a href="https://github.com/artisan-roaster-scope/artisan/issues">report issues</a>, <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html">help to improve</a> the <a href="https://artisan-scope.org/docs/quick-start-guide/">documentation</a> and to <a href="https://artisan-roasterscope.blogspot.com/p/contact-me.html">correct and extent the localizations</a>. If you are short in time, consider to <a href="https://artisan-scope.org/donate/">contribute with a donation</a> to enable us to develop another version.<br />
<br />
<a href="https://github.com/artisan-roaster-scope/artisan/releases/latest">Download now</a>!<br />
<br />
Your Artisan team<br />
Marko, Dave, Michael and Rui<br />
<i><br class="Apple-interchange-newline" />"If you can't roast with software you have to roast with your own knowledge and experience."</i><br />
<i><br /></i>
<i><br /></i>
<br />
<h3>
What's New?</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-mMOU35mYdjdcG55zKbh6lSNWa8Ot8D1QwsJ2B92MNeazpwo48hsJ02HstMvZk1pZVx8zQ0-lIHZurtF1R4Tq2XNeziGBp2LojBFVD7v5K4Xq_Jo7uDQPXb5XzRdcGJuDs6mHbCmNqCA/s1600/Screenshot+2020-05-16+at+17.10.45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1279" data-original-width="1600" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-mMOU35mYdjdcG55zKbh6lSNWa8Ot8D1QwsJ2B92MNeazpwo48hsJ02HstMvZk1pZVx8zQ0-lIHZurtF1R4Tq2XNeziGBp2LojBFVD7v5K4Xq_Jo7uDQPXb5XzRdcGJuDs6mHbCmNqCA/s640/Screenshot+2020-05-16+at+17.10.45.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h3>
</h3>
<h4>
</h4>
<h4>
1. Features Creating New Experiences in Roasting</h4>
<div>
<br /></div>
<div>
Some great and exciting features can change your roasting experience. <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-comparator.html">Roast Comparator</a> allows to compare many roasts at one time with the ability to add and delete as you go. This feature excels at comparing roasts of the same bean, while <a href="https://artisan-roasterscope.blogspot.com/2019/11/analyzer.html">Analyzer</a> is great for looking at a single completed roast. <a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-simulator.html">Roast Simulator</a> allows you try new set ups and devices without actually roasting.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQXd6eT6LkqNpUaSTlJlrLUt03rY0EK3E4hYCJ3pH49iDIOQF0wU3lqqlcdq6kD7LH0Ad3DyfA0tMhLIteW-r7Ta0ENL7vGEU5dTHg_Nx-WcBk5eR19znOVhZVKOh12YSEUb90Gh5LE3k/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="186" data-original-width="1426" height="51" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQXd6eT6LkqNpUaSTlJlrLUt03rY0EK3E4hYCJ3pH49iDIOQF0wU3lqqlcdq6kD7LH0Ad3DyfA0tMhLIteW-r7Ta0ENL7vGEU5dTHg_Nx-WcBk5eR19znOVhZVKOh12YSEUb90Gh5LE3k/s400/2.png?imgmax=1600" width="400" /></a></div>
<br />
<br />
<a href="https://artisan-roasterscope.blogspot.com/2020/05/profile-transposer.html">Profile Transposer</a> allows you to discover targets for modifying a roast such as extending it, changing phase times, or adapting a profile to a different roasting machine. </div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCNcFayaHYbWmXfBiQI2FcMll3qHBp2dgzsO5oyRM-4hUwTmAZBy8yXU3XT71l3hpbWAHNjjOhjPTip5DmiNtgd2rsj0SooZPtzAYq4FC6i0jTYUyMcIX2RM__ovDzBp9ws6DLzeePeMI/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="398" data-original-width="1226" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCNcFayaHYbWmXfBiQI2FcMll3qHBp2dgzsO5oyRM-4hUwTmAZBy8yXU3XT71l3hpbWAHNjjOhjPTip5DmiNtgd2rsj0SooZPtzAYq4FC6i0jTYUyMcIX2RM__ovDzBp9ws6DLzeePeMI/s400/1.png?imgmax=1600" width="400" /></a></div>
<br />
<br /></div>
<div>
Autosave of profiles has been greatly enhanced to allow a variety of <a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html">auto naming protocols</a>, and you can automate the saving of the Artisan file to a separate directory from another copy such as a PDF. </div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_1J5vwrRYQX1bVU-YvfSaDw5DAf_OrUB7rSXw9WobfsX24St90HSFVOxFj-KxZBIQ5GVKY0VJ4HZbWL2zc_o83Q2IyNTyI7hMzdyO2ZF_brB7IVCIHI3N1LrnMrxi2ptuC_dbQk50_Ug/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="679" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_1J5vwrRYQX1bVU-YvfSaDw5DAf_OrUB7rSXw9WobfsX24St90HSFVOxFj-KxZBIQ5GVKY0VJ4HZbWL2zc_o83Q2IyNTyI7hMzdyO2ZF_brB7IVCIHI3N1LrnMrxi2ptuC_dbQk50_Ug/s640/6.png?imgmax=1600" width="640" /></a></div>
<br />
<br /></div>
<div>
<a href="https://artisan-roasterscope.blogspot.com/2020/05/special-events-annotations.html">Event annotations</a> now allow a variety of plain english terminology to be shown on the stair steps as reported in Step and Step+ event reporting. You can display roast data including time, temperature and DTR. As with the new Autosave, abundant choices offer a great deal of customization.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk7byU28h6zCeyc5sZRSBPPLBQvPSYBObEQK9tZKu-sCBY38nBdz1EdfQu_mHIDXZx90wzegZ0KjJPmnne8Hc7DztfyLE8_LSvGSU_4Hfo-tvbb-1WuICx5SEmuNg7xLIBElVmxiuLUB0/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="130" data-original-width="633" height="129" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk7byU28h6zCeyc5sZRSBPPLBQvPSYBObEQK9tZKu-sCBY38nBdz1EdfQu_mHIDXZx90wzegZ0KjJPmnne8Hc7DztfyLE8_LSvGSU_4Hfo-tvbb-1WuICx5SEmuNg7xLIBElVmxiuLUB0/s640/3.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
The rate-of-rise (RoR) for the bean temperature (BT) and environmental temperature (ET) is now already computed and displayed before a recording is started, to support your between-batches protocol (BBP).<br />
<br />
<a href="https://artisan-roasterscope.blogspot.com/2020/06/working-together-artisan-artisanviewer.html">The Artisan, the ArtisanViewer and artisan.plus work together </a>to enhance the roast master's productivity. Roasting data is interlinked and shared between this family of applications to create a productive environment.</div>
<div>
<br /></div>
<h3>
</h3>
<h4>
2. Data Presentations</h4>
<div>
<br />
Besides the additional event annotation mechanism introduced above, we added some more configurations to help you to tune your data representation. Up to now, custom event lines were rendered on the temperature y-axis either between 0 and 100 (for 0 to 100%) in snap mode or between 0 and the lowest phases limit. Both options can lead to either a very compact representation where single steps are hard to grasp or overlaps with the bean temperature and/or rate-of-rise curves.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLeGmSmvYzrs5tTvFrCWCGDlSLPKnJLEJh63oLDf-4817AOBpIWXI_u687tZsCnzoIxe1L3qr77-v3M14MnAcS6EzvW1KB0ruUxPlEPlW6wZykm2vuDXLxx3oSbg5tlQuS9V4K5EPpXhI/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="241" data-original-width="729" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLeGmSmvYzrs5tTvFrCWCGDlSLPKnJLEJh63oLDf-4817AOBpIWXI_u687tZsCnzoIxe1L3qr77-v3M14MnAcS6EzvW1KB0ruUxPlEPlW6wZykm2vuDXLxx3oSbg5tlQuS9V4K5EPpXhI/s320/4.png?imgmax=1600" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
The event axis upper limit corresponding to 100% can now be specified in terms of its corresponding y-axis temperature (setting "100% Event Step" in the Axis configuration dialog, menu<span style="font-family: "courier new" , "courier" , monospace;"> Config >> Axis</span>) and events of value 0 are automatically aligned with the minimum y-axis temperature limit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsutyiuYv3lpOVDaiMXs5r5xxmGMxmVcYQphl8hn3MDCd98SNWB1qBpuO4QcwGMTPWS2zVvoqX5BF-fM3ob3-yC7ZFJEk1kBt1e5bUKEq9wgmgqz8m6jX8WnD_7mbcstkssg2lqIqN8xU/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="683" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsutyiuYv3lpOVDaiMXs5r5xxmGMxmVcYQphl8hn3MDCd98SNWB1qBpuO4QcwGMTPWS2zVvoqX5BF-fM3ob3-yC7ZFJEk1kBt1e5bUKEq9wgmgqz8m6jX8WnD_7mbcstkssg2lqIqN8xU/s320/5.png?imgmax=1600" width="320" /></a></div>
<br />
<br />
A number of other things were improved and added, like the draggable annotations as well as the legend that now remember their positions, the new auto rate-of-rise upper axis limits mode, configured via two new flags in the Axis dialog, and the large Phases LCDs that toggle their state on right clicks as well.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPt7IdmTUzM_0mR9wJU7V34lvs1096oUYMc2Q0NfHrP57-VXzcu88079QTTNh3ztIiM54HA6fFNAt1dEKq-hQeaDlRuJ0kLNHed0q1RXtlbpqWodlF-qtPcHseA5QdHyo1iADK98CaVI/s1600/Screenshot+2020-05-17+at+18.05.02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="322" data-original-width="1036" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPt7IdmTUzM_0mR9wJU7V34lvs1096oUYMc2Q0NfHrP57-VXzcu88079QTTNh3ztIiM54HA6fFNAt1dEKq-hQeaDlRuJ0kLNHed0q1RXtlbpqWodlF-qtPcHseA5QdHyo1iADK98CaVI/s400/Screenshot+2020-05-17+at+18.05.02.png?imgmax=1600" width="400" /></a></div>
<br /></div>
<h4>
3. artisan.plus</h4>
<div>
<br />
The inventory management service <a href="http://artisan.plus/">artisan.plus</a> speaks now French in addition to English, German and Italian, got some extra store selectors, an improved handling of pre-blends and comes with some additional reports for tax purposes.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmcjnyTlQbD28bwrBUnrZMARl_KzcT1FID2waS876mtUsopqw9tPzt_NLDq1EzkuY4mT2D7sO8RS4xOjfRJIqqkW8XdJKX9PZdq68_H2GyRYSZp5ZbJhmgnFzp218h9-2AbJhlkwz8Adg/s1600/Screenshot+2020-05-17+at+18.49.34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="1600" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmcjnyTlQbD28bwrBUnrZMARl_KzcT1FID2waS876mtUsopqw9tPzt_NLDq1EzkuY4mT2D7sO8RS4xOjfRJIqqkW8XdJKX9PZdq68_H2GyRYSZp5ZbJhmgnFzp218h9-2AbJhlkwz8Adg/s640/Screenshot+2020-05-17+at+18.49.34.png?imgmax=1600" width="640" /></a></div>
<br />
<br /></div>
<h4>
4. Extended Connectivity</h4>
<div>
<br />
Artisan now learned to import profiles from Cropster, IKAWA and the Giesen Software. New setups have been added for Giesen machines featuring an infrared sensor (IR) and the Twino machines from <a href="https://artisan-scope.org/machines/twino-ozstar/">Özstar</a> with full control over their numerous actors via sliders and buttons.<br />
<br />
The implementation of the S7 and MOBDUS protocols underlying many machine setups have been extended by two more channels and a clever optimiser has been added to minimize the amount of data that has to be transported over the network from which most machine connections benefit.<br />
<br />
The set of MODBUS Commands was extended by <span style="font-family: "courier new" , "courier" , monospace;">mwrite</span>, a fake function 22 (Mask Write Register) for PLCs not supporting direct bit flipping (ex. <span style="font-family: "courier new" , "courier" , monospace;">read(1,0);mwrite(1,0,65527,_^0xFFFF,_)</span> toggles bit 3 of register 0 on slave 1 and leaves all other bits of register 0 unmodified). Additionally, now the tags <span style="font-family: "courier new" , "courier" , monospace;">{BT}</span>,<span style="font-family: "courier new" , "courier" , monospace;"> {ET}</span>,<span style="font-family: "courier new" , "courier" , monospace;"> {t}</span> are substituted by the current bean temperature (BT), environmental temperature (ET) and timestamp (t) in Serial, Program, MODBUS and S7 command actions (ex. <span style="font-family: "courier new" , "courier" , monospace;">write(1,10,int(round({BT}*10))</span> writes the current BT*10 as integer to register 10 on slave 1). Check the <a href="https://artisan-scope.org/devices/modbus/">MODBUS page</a> on <a href="http://artisan-scope.org/">artisan-scope.org</a> and the new online help in the MODBUS tab for details.<br />
<br />
The already extensive support for modules from <a href="https://www.phidgets.com/">Phidgets</a> and <a href="https://www.yoctopuce.com/">Yoctopuce</a> has been further extended. Artisan now supports also the Phidget VINT DCMotor driver family (<a href="https://www.phidgets.com/?tier=3&catid=18&pcid=15&prodid=965">DCC1000</a>, <a href="https://www.phidgets.com/?tier=3&catid=18&pcid=15&prodid=1117">DCC1002</a> and <a href="https://www.phidgets.com/?tier=3&catid=18&pcid=15&prodid=1118">DCC1003</a>), is able to discover Phidget servers via Multicast DNS Service Discovery (mDNS) and can identify Phidget IO modules by the hub serial number and port they are connected allowing now to operate multiple modules of one type. The Yoctopuce IO modules <a href="https://www.yoctopuce.com/EN/products/usb-electrical-interfaces/yocto-0-10v-tx">Yocto-0-10V-Tx</a>, <a href="https://www.yoctopuce.com/EN/products/usb-electrical-interfaces/yocto-4-20ma-tx">Yocto-4-20mA-Tx</a>, low-frequency PWM board <a href="https://www.yoctopuce.com/EN/products/usb-electrical-interfaces/yocto-pwm-tx">Yocto-PWM-Tx</a>, <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-servo">Yocto-Servo</a> and Yoctopuce Relays modules (<a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-relay">Yocto-Relay</a>, <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-latchedrelay">Yocto-LatchedRelay</a>, <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-maxicoupler-v2">Yocto-MaxiCoupler-V2</a>, <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-powerrelay-v2">Yocto-PowerRelay-V2</a>, <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-powerrelay-v3">Yocto-PowerRelay-V3</a>, and <a href="https://www.yoctopuce.com/EN/products/usb-actuators/yocto-maxipowerrelay">Yocto-MaxiPowerRelay</a>) can be operated and 4-20mA sensors connected to a <a href="https://www.yoctopuce.com/EN/products/usb-electrical-sensors/yocto-4-20ma-rx">Yocto-4-20mA-Rx</a> board can be read. For further documentation on how to operate those modules, check the <a href="https://artisan-scope.org/devices/phidgets/">Phidgets-</a> and <a href="https://artisan-scope.org/devices/yoctopuce/">Yoctopuce device pages</a> on <a href="http://artisan-scope.org/">artisan-scope.org</a> and the new online help in the Buttons and Sliders tabs of the Events dialog (menu <span style="font-family: "courier new" , "courier" , monospace;">Config >> Events</span>).<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDCnsfd0glVhSSxftcV_KLcMB6hIkJxULwsO1WKK3jR2m6nZXz6_3AyXkpwkmHbHGm387wZIwR1ZOeT1Vn-BVJhwuWi2bTSWmnBSveRWsZN7HQzPJczawbnjRK1acIr0a6-LBCaxANXlE/s1600/P5160057.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1029" data-original-width="1600" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDCnsfd0glVhSSxftcV_KLcMB6hIkJxULwsO1WKK3jR2m6nZXz6_3AyXkpwkmHbHGm387wZIwR1ZOeT1Vn-BVJhwuWi2bTSWmnBSveRWsZN7HQzPJczawbnjRK1acIr0a6-LBCaxANXlE/s320/P5160057.JPG" width="320" /></a></div>
<br /></div>
<h3>
</h3>
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-61873525710193683542020-06-03T08:03:00.000-07:002020-06-04T03:11:07.852-07:00Working Together – Artisan, ArtisanViewer and artisan.plus<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/06/working-together-artisan-artisanviewer.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="299" data-original-width="570" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH8slePrWRDpMc7UME1kS-o3hvLBcmZfPztTr6CSVBNjQC-09C9O0kKb4HJeSf11kTaSC5VKh4Kx2rC9iCUia9cI2F-LUxgRu00El-ns5niWUAYo5MIrP4A-ukL2UgVaWhn51qX45JPOE/s640/link-it-all.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
The Artisan family of applications and services can work together to enhance the roast master's productivity. This article will describe the many ways these applications communicate with each other and how you can use them to increase your productivity.<br />
<br />
<a name='more'></a><br />
<h3>
The Players</h3>
<br />
<ul>
<li><b>Artisan</b>: the regular app instance that you use for logging your roasts</li>
<li><b>ArtisanViewer</b>: a second instance of the Artisan app started next to a regular Artisan instance runs as ArtisanViewer with restricted functionality, offering all but recording</li>
<li><a href="http://artisan.plus/"><b>artisan.plus</b></a>: the inventory management Web app that integrates with Artisan</li>
</ul>
<br />
<br />
<h3>
Artisan and artisan.plus </h3>
<br />
Artisan can be linked to the inventory management platform <a href="http://artisan.plus/">artisan.plus</a>. Once logged in, Artisan receives the current stock situation from the <a href="https://artisan.plus/">artisan.plus platform</a> (visible in the Roast Properties)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaWX3iF_GDPc4upDH1ndAUVMLvHZef8axcjNDEW5qZ9aeuuJByYEVWKjw3RBXfiy6BOfrQgycmMv0WDlE0MrS-PPKO4YGbWQT__kFh7KcsXaFFDrHW_tOYUfDrgf-ge5jzLxANpVIzPiM/s1600/Screenshot+2020-06-02+at+12.33.44.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="532" data-original-width="1580" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaWX3iF_GDPc4upDH1ndAUVMLvHZef8axcjNDEW5qZ9aeuuJByYEVWKjw3RBXfiy6BOfrQgycmMv0WDlE0MrS-PPKO4YGbWQT__kFh7KcsXaFFDrHW_tOYUfDrgf-ge5jzLxANpVIzPiM/s640/Screenshot+2020-06-02+at+12.33.44.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
Completed roasts are reported back to the <a href="https://artisan.plus/">artisan.plus platform</a> and the corresponding stock is updated automatically. All further modifications applied in Artisan or the platform are synced automatically. On opening a profile in Artisan updated properties are retrieved from the platform if available. Changes applied on the Artisan side are send back to the platform on saving the profile to the disk.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrOqmAPxCysLb97sLLDAtrRLmF5Zq3azYDeTGblH4kxKfji1WrZ9-LM3m_DxmAfD-4fO2eIxL0X10RGKJ0ux1sx2VBc5yhS1Mo5XtZT71-ZyGWvRfa-c8Uzh7d4EIVbH6MAFoL8qJ2o4/s1600/part.mov.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="849" data-original-width="1500" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrOqmAPxCysLb97sLLDAtrRLmF5Zq3azYDeTGblH4kxKfji1WrZ9-LM3m_DxmAfD-4fO2eIxL0X10RGKJ0ux1sx2VBc5yhS1Mo5XtZT71-ZyGWvRfa-c8Uzh7d4EIVbH6MAFoL8qJ2o4/s640/part.mov.gif?imgmax=1000" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
Roast entries on <a href="http://artisan.plus/">artisan.plus</a> contain links to quickly open the underlying profile in Artisan. A double click on the profile title in the Artisan app opens the corresponding roast entry on <a href="http://artisan.plus/">artisan.plus</a>.<br />
<br />
<br />
<h3>
Artisan and ArtisanViewer</h3>
<div>
<br /></div>
<h4>
<span style="font-weight: 400;">Artisan and the ArtisanViewer are very similar. Yet they each have a different purpose. Artisan can perform every function of the Viewer and more. The greatest difference is that only Artisan can sample and record a roast. Both are capable of viewing, analyzing, and editing properties of a recorded profile. Let's look at how these two can work together.</span></h4>
<div>
<span style="font-weight: 400;"><br /></span></div>
<h4>
Completed Roast in ArtisanViewer</h4>
<div>
<br /></div>
The first time you start Artisan, the familiar Artisan application will open. While Artisan is open, starting Artisan a second time will open the ArtisanViewer. It is not possible to start Artisan a third time, when both Artisan and the Viewer are open.<br />
<br />
<i>Notes:</i>
<br />
<ul>
<li><i>Artisan and the Viewer keep separate settings stored between usage. Settings files can be opened in Artisan and the Viewer. Settings files cannot be saved from the Viewer.</i></li>
<li><i>On macOS the Artisan.app can be started only once. However, you can easily make a copy of the app and name it, for example, ArtisanViewer.app. Now you can start that ArtisanViewer.app while the Artisan.app is already running. Which app is started on double-clicking a file icon is determined in macOS by the "Open with" in the File Info section (right-click an .alog profile and select "Get Info".</i></li>
</ul>
<br />
<br />
Some roast masters use a workflow for back to back roasts where they enter roast properties information after the roast has completed. They prefer not to delay starting the subsequent roast to hold the previous one open in Artisan while they enter data. It is possible to save the previous roast to a file, start the next roast and then open the previous profile in the Viewer. That is a rather manual process. Beginning with v2.4 Artisan automates this by automatically opening the previous roast in the Viewer as soon as the ON button is clicked.<br />
<br />
To enable this feature use the menu to go to <span style="font-family: "courier new" , "courier" , monospace;">Config>> Sampling</span>. Tick the <span style="font-family: "courier new" , "courier" , monospace;">Open Completed Roast in Viewer</span> checkbox.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPrucrpxfrMDqmvsGbkqdm9JS9iwqPAXpkhdcv92etv7qhc5RVykq-ZG5Uzwj0CEnVCNB6sFkBlP-PpfYmErJ2ujTRYA-v1zzt2emj8vKY7KgXTLLtAlDx9DTbkkHI-a5P2Ea1pCyoVuI/s1600/Sampling+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="153" data-original-width="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPrucrpxfrMDqmvsGbkqdm9JS9iwqPAXpkhdcv92etv7qhc5RVykq-ZG5Uzwj0CEnVCNB6sFkBlP-PpfYmErJ2ujTRYA-v1zzt2emj8vKY7KgXTLLtAlDx9DTbkkHI-a5P2Ea1pCyoVuI/s1600/Sampling+1.png?imgmax=1600" /></a></div>
<br />
<br />
It may be helpful to click the <span style="font-family: "courier new" , "courier" , monospace;">Keep On</span> checkbox as well. When <span style="font-family: "courier new" , "courier" , monospace;">Keep On</span> is selected, the roaster scope will automatically transition back to ON when the previous roast ends. This can be a time and click saver when doing continuous roasts. It is most efficient when used with the <a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html" target="_blank">Autosave</a> feature that saves the file to a customized file name at the end of a roast without user intervention.<br />
<br />
When <span style="font-family: "courier new" , "courier" , monospace;">Keep On</span> and <a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html">Autosave</a> are used with <span style="font-family: "courier new" , "courier" , monospace;">Open Completed Roast in Viewer<span style="font-family: "times" , "times new roman" , serif;"> a roast when it completes will be saved and open in the Viewer automatically and the roaster scope returned to the ON state.</span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "times" , "times new roman" , serif;"><br /></span></span>
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "times" , "times new roman" , serif;"><i>Note: On some platforms the Viewer is not automatically opened. The Viewer must be started and running before profiles sent by Artisan can be opened.</i></span></span><br />
<br />
<br />
<h4>
Comparator</h4>
<br />
Profiles being examined in the Artisan Comparator roast compare tool can individually be opened in the Viewer. Double click on the profile identifier in the first column of the Comparator window and the profile will open in the Viewer. The reverse works too, a profile from the Comparator will open in Artisan.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAGwSQE5V3jLJvZH-Ym54aT3eyYPFlNCTB8nFjr-5vDJis9VJPWO0a6YkoVuIY53KCrsiC8IeVMNvoS1MngsdeaHYZ1-pMwsBCdVCyg05bc__kja0BQS88YO69U1ETZVy8rqt7mZ2Oqk/s1600/Comapator+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1366" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAGwSQE5V3jLJvZH-Ym54aT3eyYPFlNCTB8nFjr-5vDJis9VJPWO0a6YkoVuIY53KCrsiC8IeVMNvoS1MngsdeaHYZ1-pMwsBCdVCyg05bc__kja0BQS88YO69U1ETZVy8rqt7mZ2Oqk/s640/Comapator+1.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
Bear in mind the receiving application must not be doing something that would prevent it from display the sent profile. This includes being in the Designer tool, the Wheel Graph tool, the roast Cup Profile editor, or when the Artisan scope is ON or recording a roast.<br />
<br />
What happens if the receiving application has the Comparator open? The profile will conveniently be added to the Comparator list.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr8fjt5vrmqKrT70n20W9v13uJgOLqUF4cAkHRLCAGRDUdPObIT_yF-_7IVYde0UBWVDNBIC87itJCTPJ9E63NZKtOl4OoQonuiuoyG_sLEiJhoQ4zDibGtbaWKCevgeR6_am12otRgWE/s1600/Comparator+2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1366" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr8fjt5vrmqKrT70n20W9v13uJgOLqUF4cAkHRLCAGRDUdPObIT_yF-_7IVYde0UBWVDNBIC87itJCTPJ9E63NZKtOl4OoQonuiuoyG_sLEiJhoQ4zDibGtbaWKCevgeR6_am12otRgWE/s640/Comparator+2.png?imgmax=1600" width="640" /></a></div>
<br />
<h4>
</h4>
<h4>
Web Reports </h4>
<br />
If you use Web reports you may have noticed that they contain links. What do these links do?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoP1l0ilVuexys_5cht7ueKM1qqV3li9rk1lbIvcE6_YZjclTVB7Njztz_97EsD5Lu_BLhw7dzcA0qsKDQwTjtiHaKhDUowv0LSE4v_K0I8cLpSBnjdovteE5iCE3apZVL7I52TZmNLg/s1600/Batches+2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="170" data-original-width="1001" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoP1l0ilVuexys_5cht7ueKM1qqV3li9rk1lbIvcE6_YZjclTVB7Njztz_97EsD5Lu_BLhw7dzcA0qsKDQwTjtiHaKhDUowv0LSE4v_K0I8cLpSBnjdovteE5iCE3apZVL7I52TZmNLg/s640/Batches+2.png?imgmax=1600" width="640" /></a></div>
<br />
<i><span style="color: red;"><span style="color: black;">Note: Below we talk about Artisan or the Viewer being "blocked". They are "blocked" when</span></span></i><br />
<i><span style="color: red;"><span style="color: black;">in the Designer tool, the Wheel Graph tool or the roast Cup Profile editor. Artisan is also "blocked" when it is ON or START'ed and sampling a roast.</span></span></i><br />
<i><span style="color: red;"><span style="color: black;"><br /></span></span></i>
<br />
<h4>
1. Roast Report </h4>
<div>
<br /></div>
Clicking the Title field link will cause the roast to be displayed in Artisan. This link is always available. Whenever Artisan is
blocked it will forward the roast profile to the Viewer for display. The Viewer will display the roast profile so long as it is not blocked.<br />
<br />
The Date field link appears for <a href="http://artisan.plus/">artisan.plus</a> users who have
sync'ed the profile with their plus account. Clicking this link will
open the roast in the plus service and display it in a new browser tab.<br />
<br />
The Beans field link appears for <a href="http://artisan.plus/">artisan.plus</a> users who have entered the beans to their plus account. Clicking this link will
open the Beans page in the plus service and display it in a new browser tab.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGEmM65GaI63tssut3SwJ4ODwHffRt-Uz6Y6JZXtSzhy9daxX6J8UpFVCmVN8KYtZAa7G2SuCWmDtCzcyx25K0PqM8LZ7xeiNIDzab0PW2d_gOoaVmTKUF-GvD5Q91V2ZDPisS9fuvC68/s1600/Roast+report+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="610" data-original-width="1024" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGEmM65GaI63tssut3SwJ4ODwHffRt-Uz6Y6JZXtSzhy9daxX6J8UpFVCmVN8KYtZAa7G2SuCWmDtCzcyx25K0PqM8LZ7xeiNIDzab0PW2d_gOoaVmTKUF-GvD5Q91V2ZDPisS9fuvC68/s640/Roast+report+1.png?imgmax=1600" width="640" /></a></div>
<br />
<h4>
</h4>
<h4>
2. Batches Report </h4>
<div>
<br /></div>
Links will be seen in the Date column for artisan.plus users who have sync'ed the profile with their plus account. Clicking this link will open the roast in the plus service and display it in a new browser tab.<br />
<br />
The Title column links will appear for all roasts whether or not the user is subscribed to the plus service. Clicking on one of these links will cause the roast to be displayed in Artisan. Whenever Artisan is blocked it will forward the roast profile to the Viewer for display. The Viewer will display the roast profile so long as it is not blocked.<br />
<br />
Links will be seen in the Beans column for <a href="http://artisan.plus/">artisan.plus</a> users who have
entered the beans to their plus account. Clicking this link will
open the Beans page in the plus service and display it in a new browser tab.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYf37tuPPf4c3GeTavIv7Ue5S3if3CZxgv5XJF0uAgicpu_8IcjyosYS4lb7TMpTRgle5Kr8Obd1rZaonbG0LAXgZV08fhe2wL84PsUABzBpgiGcimpwyEJLZGJVCwM6Ob2eY0LuUq6Bo/s1600/Batches+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="690" data-original-width="1024" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYf37tuPPf4c3GeTavIv7Ue5S3if3CZxgv5XJF0uAgicpu_8IcjyosYS4lb7TMpTRgle5Kr8Obd1rZaonbG0LAXgZV08fhe2wL84PsUABzBpgiGcimpwyEJLZGJVCwM6Ob2eY0LuUq6Bo/s640/Batches+1.png?imgmax=1600" width="640" /></a></div>
<br />
<h4>
</h4>
<h4>
3. Ranking Report </h4>
<div>
<br /></div>
Links will be seen in the Date column for <a href="http://artisan.plus/">artisan.plus</a> users who have
sync'ed the profile with their plus account. Clicking this link will
open the roast in the plus service and display it in a new browser tab.<br />
<br />
The
Title column links will appear for all roasts whether or not the user is subscribed
to the plus service. Clicking on one of these links will cause the
roast to be displayed in Artisan. Whenever Artisan is blocked it will forward the roast profile to the Viewer for display. The Viewer will display the roast profile so long as it is not blocked.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtYxcWMdTBdsWqoURe3CDmFli3HwAp25tvVUOQXjkhWSbZxTiDSCjMIlBGsJc_kibrqrTj-XvdxhUbDdxkuywl1Pyh5twzhuPPolo7dNK41zQQpSUm-d7bwUaAESbFbJmtmbz26B7QAEQ/s1600/Ranking+1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="690" data-original-width="1024" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtYxcWMdTBdsWqoURe3CDmFli3HwAp25tvVUOQXjkhWSbZxTiDSCjMIlBGsJc_kibrqrTj-XvdxhUbDdxkuywl1Pyh5twzhuPPolo7dNK41zQQpSUm-d7bwUaAESbFbJmtmbz26B7QAEQ/s640/Ranking+1.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<br />
Enjoy using the Artisan family of apps!<br />
<br />
Marko and Dave<br />
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgEL7xeY3knv8OtjKtxYgjZo0lxm-uLKqfKWlQnFkjes54etnplXqwG54SwzICC7pYK1xaTCRgcJ9vRYsqR1m5ZzdF866aThWhA1Q-AifJ_H-L2ERYcLK_2UvW28dmhtTX8gC9T1hPqOA/s1600/gears.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="534" data-original-width="800" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgEL7xeY3knv8OtjKtxYgjZo0lxm-uLKqfKWlQnFkjes54etnplXqwG54SwzICC7pYK1xaTCRgcJ9vRYsqR1m5ZzdF866aThWhA1Q-AifJ_H-L2ERYcLK_2UvW28dmhtTX8gC9T1hPqOA/s200/gears.png?imgmax=1600" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h4>
</h4>
Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-35822140429427247022020-05-30T17:24:00.000-07:002020-06-04T03:11:28.152-07:00Special Events Annotations<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/05/special-events-annotations.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="756" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF2ucLgB8PXdgAywJkckzYgK2C1r-4kGrjiH24hp4gThTvzxrs5d-S-UXE-sSo9AtKMr9_UkBcUm2eJRk5yfnbwbIHNV4NMH9sXDkT8c4iuVpBZFIvip9lGauOtSYsCt6WbjHdO2FtHxY/s640/special-events-annotations+cropped.png?maximg=1600" width="640" /></a></div>
<br />
A common question asked when analyzing a completed roast profile is "what was the time and bean temperature when that gas change was made?" To help answer this and similar questions, Artisan v2.4 introduces customizable, data driven <b>special event annotations</b>. Special
event annotations add detailed information in text format to the
special event lines. These annotations speed interpretation of a profile in post roast analysis by writing out the pertinent information directly on the graph. The user has broad flexibility when defining the text and data
to be displayed. This allows bespoke annotations that meet the user's
individual needs.<br />
<a name='more'></a><br />
For additional information about events please refer to <a href="https://artisan-roasterscope.blogspot.com/2013/02/events-buttons-and-palettes.html" target="_blank">Events, Buttons and Palettes</a>, <a href="https://artisan-roasterscope.blogspot.com/2014/04/event-quantifiers.html" target="_blank">Event Quantifiers</a> and the <a href="https://artisan-scope.org/docs/events/" target="_blank">Artisan Quick Start Guide</a>. <br />
<br />
<h3>
Adjusting the Position of Special Events Lines on the Graph</h3>
<br />
Here is a typical roast showing Power and Damper settings in the special event lines in the lower portion of the graph. Before getting into how to annotate these special event lines, let's make a few adjustments so the special event lines do not overlap with the bean temperature curve.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJD2NXc1xOwD0HuzWJ_TpchfyOYbMcZpVNrgd2qzjzJ5p04IfqvpMQvID00StFtHXcw4Bc5EYQkSwwnyhuvrVYvqWbl3IQlj3FDGGC3V8eLerr_FkKTzjF0uDMQ7JDzDutyH4QOfgAdpY/s1600/Graph+1d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJD2NXc1xOwD0HuzWJ_TpchfyOYbMcZpVNrgd2qzjzJ5p04IfqvpMQvID00StFtHXcw4Bc5EYQkSwwnyhuvrVYvqWbl3IQlj3FDGGC3V8eLerr_FkKTzjF0uDMQ7JDzDutyH4QOfgAdpY/s640/Graph+1d.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
To do
this open the Axes window. From the menu choose<span style="font-family: "courier new" , "courier" , monospace;"> Config>> Axes</span>.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkO0iTzbRNbL4GHGgUPGaTbumTrVVAG_GGN0XPuv1Toyhc32FsuJADBNJQ7tge-LeI4mFNJWVldEc_A2OdtCinZv69obVywg4G7i8t-x1dt1m9cJZZVIenMLZ_oqOsRh3yWhR5NgcQYc/s1600/Config+axes+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="313" data-original-width="634" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkO0iTzbRNbL4GHGgUPGaTbumTrVVAG_GGN0XPuv1Toyhc32FsuJADBNJQ7tge-LeI4mFNJWVldEc_A2OdtCinZv69obVywg4G7i8t-x1dt1m9cJZZVIenMLZ_oqOsRh3yWhR5NgcQYc/s640/Config+axes+1.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
For this example we change the <span style="font-family: "courier new" , "courier" , monospace;">Temperature Axis Min</span> value to 50. Next we fill the <span style="font-family: "courier new" , "courier" , monospace;">100% Event Step</span> field with 160. This field is a new setting in Artisan. It sets the temperature on the Y-axis that corresponds to a step value of 100. By setting <span style="font-family: "courier new" , "courier" , monospace;">100% Event Step</span> to 160 we lower the special event lines below the bottom of the bean temperature (BT) curve. Here is the result.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjsFlQBp8RL_uf8JIhb6qdMSHCuthr0tmzIH-uOTTkN9AmspxdMtk9ftVBbOG76b3wKO8F6WsGJyTInXNJCbKLzU3QAhv0l2N1r8qLH1ftGw3lmpnSJhDeU0oz2i9XmDIwXdGhxU3hNi4/s1600/Graph+2d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjsFlQBp8RL_uf8JIhb6qdMSHCuthr0tmzIH-uOTTkN9AmspxdMtk9ftVBbOG76b3wKO8F6WsGJyTInXNJCbKLzU3QAhv0l2N1r8qLH1ftGw3lmpnSJhDeU0oz2i9XmDIwXdGhxU3hNi4/s640/Graph+2d.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
You may need to experiment to find the best <span style="font-family: "courier new" , "courier" , monospace;">100% Event Step</span> setting for your profiles. The right value depends on your axis settings, TP temperature and your tolerance for having these elements overlap.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3>
Custom Special Events Annotations </h3>
<br />
From the menu go to <span style="font-family: "courier new" , "courier" , monospace;">Config>> Events</span><span style="font-family: inherit;"> to open the Events configuration window</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaLwtAZ6J7F7r48AEujFMqSLliDF-z5gWHoa9aVln0xy44jHzrXsOIVBdUSF0Bj3BGDUSWxgAH9Ho1PsM5WFBvZjfCgIixqtlFnQ2ZMQjIFYh_QrGzg3D9rZB0WvGqIAdFFn1x_8yah30/s1600/Events+config+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="867" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaLwtAZ6J7F7r48AEujFMqSLliDF-z5gWHoa9aVln0xy44jHzrXsOIVBdUSF0Bj3BGDUSWxgAH9Ho1PsM5WFBvZjfCgIixqtlFnQ2ZMQjIFYh_QrGzg3D9rZB0WvGqIAdFFn1x_8yah30/s640/Events+config+1.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
On the <span style="font-family: "courier new" , "courier" , monospace;">Config </span>tab are displayed the four special Event Types. In this case they were given the names <span style="font-family: "courier new" , "courier" , monospace;">Power</span>, <span style="font-family: "courier new" , "courier" , monospace;">Damper</span>, <span style="font-family: "courier new" , "courier" , monospace;">None </span>and <span style="font-family: "courier new" , "courier" , monospace;">Sensory</span>. Only <span style="font-family: "courier new" , "courier" , monospace;">Power</span> and <span style="font-family: "courier new" , "courier" , monospace;">Damper</span> are selected, so these are the only two that are displayed in the graph.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Step</span> is chosen in the <span style="font-family: "courier new" , "courier" , monospace;">Markers </span>selection. <span style="font-family: "times" , "times new roman" , serif;"> </span><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "times" , "times new roman" , serif;">This selection determines how the special events will be displayed. The special event annotations are displayed when the selection is <span style="font-family: "courier new" , "courier" , monospace;">Step</span> or <span style="font-family: "courier new" , "courier" , monospace;">Step+</span>. For more information on how special events are displayed using the other selections see the <a href="https://artisan-scope.org/docs/events/" target="_blank">Artisan Quick Start Guide</a>.</span></span><br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Snap </span>is unchecked. Checking <span style="font-family: "courier new" , "courier" , monospace;">Snap</span> would cause the zero value of the step lines to align to zero on the Y-axis. When <span style="font-family: "courier new" , "courier" , monospace;">Snap</span> is unchecked the zero step value is aligned at the bottom of the graph. For this example we leave <span style="font-family: "courier new" , "courier" , monospace;">Snap</span> unchecked.<br />
<br />
Next, select the Annotations tab.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOYjD5g1DMV4suudhLcqw6SqGLiw71kaLgi7iUCR52OUoACmN2-UVUepfMSsGbXs80kLSfYe6p5lZMozGfVwmbzl2opOJpRMjc8vWrrbRJDy6d1yi1NnBl9mGKB2ktn7OdxEc8rF0xHDE/s1600/events+annotations+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="867" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOYjD5g1DMV4suudhLcqw6SqGLiw71kaLgi7iUCR52OUoACmN2-UVUepfMSsGbXs80kLSfYe6p5lZMozGfVwmbzl2opOJpRMjc8vWrrbRJDy6d1yi1NnBl9mGKB2ktn7OdxEc8rF0xHDE/s640/events+annotations+1.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
On the left hand side are the four special event types with the names they were given on the Config tab. We can create annotations by filling in the edit boxes and checking Show to display them. Examples of the annotations strings will be shown on the right. Be aware that the data used in the examples in this window is static and is not taken from your profile. The Help button will display a help window with a complete list of the fields available for use in the annotations and notes on usage.<br />
<br />
Let's create a simple annotation. All fields that will be substituted for data values begin with a tilde character '~' (without the quotes). The value of the present event is entered as '~E'. The text 'Power ' lets us know what the value means. The space character in between keeps a readable separation. The example area shows 'Power 50'. <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEFHCqMNjK-5vLKpIykOL0KZ-cfJt8qj587LzhluDgPSSFvP5Eb5ZwKi4Do8FWtgas2DatW6SaKEFeIszTN7ZfSjGnRtVfEz044R1rpOLIbw2ILoSETtZh2NgXCEyPlHBnr9bBXHrnYjo/s1600/events+annotations+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="867" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEFHCqMNjK-5vLKpIykOL0KZ-cfJt8qj587LzhluDgPSSFvP5Eb5ZwKi4Do8FWtgas2DatW6SaKEFeIszTN7ZfSjGnRtVfEz044R1rpOLIbw2ILoSETtZh2NgXCEyPlHBnr9bBXHrnYjo/s640/events+annotations+2.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">Power ~E</span></div>
<br />
<br />
How does it look in the graph?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1ij0Eo1dDey4tivewfUASQ2iuN9wG7CU9490G13-bi-SPhOWTHbsQTws5YeZVtbB_hy59tsbIEdOeU4GX6_BnxCCyUIJifJfjsU02qjtJ4fszhsI6o3SDzcYfMjROL5XYl_Di92IizY8/s1600/Graph+3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1ij0Eo1dDey4tivewfUASQ2iuN9wG7CU9490G13-bi-SPhOWTHbsQTws5YeZVtbB_hy59tsbIEdOeU4GX6_BnxCCyUIJifJfjsU02qjtJ4fszhsI6o3SDzcYfMjROL5XYl_Di92IizY8/s640/Graph+3d.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBH7reHXT3ZHBBWyHi4ZFFzaW1NMsU5IjjMql6nNUvcQOi5HIvDO7WQlpcprGtM48nSDpyIbBceuhrz9vbwuLgrTxrANJQWxevYRLZSSmyZQL287-JyTMvqA2pmKV8LJPCRxyqYNJjvBo/s1600/Graph+3exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="123" data-original-width="546" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBH7reHXT3ZHBBWyHi4ZFFzaW1NMsU5IjjMql6nNUvcQOi5HIvDO7WQlpcprGtM48nSDpyIbBceuhrz9vbwuLgrTxrANJQWxevYRLZSSmyZQL287-JyTMvqA2pmKV8LJPCRxyqYNJjvBo/s640/Graph+3exp.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
Let's add some additional useful information to the annotation. We will show the bean temperature and the time when the adjustment took place.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhglfc6KmCmqY3_fs-a2VIvstiRWzBS339sCO6VUX6ApYuFX3PYyqpEehfkPicDPQgpZdCvCtRG6S79Knl7hiS3osevsnNXgdMK4D6wa_zbT_3GdHY_ZZW3oeL7jit3xLfhHfjWTq2aiLw/s1600/events+annotations+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="867" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhglfc6KmCmqY3_fs-a2VIvstiRWzBS339sCO6VUX6ApYuFX3PYyqpEehfkPicDPQgpZdCvCtRG6S79Knl7hiS3osevsnNXgdMK4D6wa_zbT_3GdHY_ZZW3oeL7jit3xLfhHfjWTq2aiLw/s640/events+annotations+3.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">Power ~E @ ~Y2~degmode ~dCHARGE sec</span></div>
<br />
<br />
'~Y2' is substituted with the bean temperature, '~degmode' displays the degree symbol and either C or F depending on the units in use by the graph, and '~dCHARGE' is the number of seconds from CHARGE. That's a lot of information!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4qrPPKKyMIdfTmKzIjbYF0lfjrnMrO6he4NxJJ0BNTTpjmVmGJaWoob4ToKeuWfx2W10ftucXz3bq0nJG_iIKEY-qFImS2RnEVPxbFeLD3XctX77EuTBtCnc3QUsQLyZ9pw29dFE9vok/s1600/Graph+4d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4qrPPKKyMIdfTmKzIjbYF0lfjrnMrO6he4NxJJ0BNTTpjmVmGJaWoob4ToKeuWfx2W10ftucXz3bq0nJG_iIKEY-qFImS2RnEVPxbFeLD3XctX77EuTBtCnc3QUsQLyZ9pw29dFE9vok/s640/Graph+4d.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPBF6XiDwTrbUa_eWZm1HLgn7hKkOdJ9mHdIdaFPpVQl-wS936x_mLQN5Y9TAWGqaXpraAaoRg_zxVvf7DdR2l2SBV_iJstCProZNt4z5sj1nW1hXJw0vURtTWr39JA0JNnVscWpThDe4/s1600/Graph+4exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="122" data-original-width="645" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPBF6XiDwTrbUa_eWZm1HLgn7hKkOdJ9mHdIdaFPpVQl-wS936x_mLQN5Y9TAWGqaXpraAaoRg_zxVvf7DdR2l2SBV_iJstCProZNt4z5sj1nW1hXJw0vURtTWr39JA0JNnVscWpThDe4/s640/Graph+4exp.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<h3>
More Complex Special Events Annotations</h3>
<br />
There is a more useful way to show time than just seconds from CHARGE. What if we showed the time only when we are nearing FCs and show it as the number of seconds before FCs? What if after FCs we showed the Development Time Ratio instead of time? Both are possible!<br />
<br />
To do this we need to add some characters that tell Artisan what to
show when. The first is a single quote mark. Whatever is enclosed in a
pair of single quotes ' will show only before FCs. Anything between a
pair of double quotes " will show only after FCs. And one more,
anything between back ticks ` will show only within 90 seconds before
FCs. That is a lot to take in, so to best understand how this works
please experiment with the examples given in the Event Annotations
Help. <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiKB9IwCrf34O-vdPxZpdm4nMVEXj5ld8rdSfwIP9uCY2D-aVFLyldW2D-UsqfieF5sZL-_gxlihYobqpCT5xp8xSSZ5n2-zot_jSUqNT0INse8gz_P-0Ijt1lIgRVD-z4feK-Z0JHZT8/s1600/events+annotations+4x.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="867" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiKB9IwCrf34O-vdPxZpdm4nMVEXj5ld8rdSfwIP9uCY2D-aVFLyldW2D-UsqfieF5sZL-_gxlihYobqpCT5xp8xSSZ5n2-zot_jSUqNT0INse8gz_P-0Ijt1lIgRVD-z4feK-Z0JHZT8/s640/events+annotations+4x.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Power ~E% '@~Y2 ~degmode`, ~preFCs sec before FCs`'"@~DTR% DTR"</span></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">Damper ~E% '`FCs ~preFCs sec`'"@~DTR % DTR" </span></div>
<br />
The Damper now also has an annotation. The
data is recorded as % from 0-100. Power is also recorded as a percent
and indicated as such in this graph.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdJnjIXILNtwILd2UF1D8goMkVxmvAy4knMxao5lqELF9cHi2Dd2ddKLNNI8lOkavLOcUUiK-K4MfHTWyb9EouEz3CuQJikCD19YmuiBvlRhp8ouEjYt-ZNR-muSKgenKWKrsIvlXT8L4/s1600/Graph+4da.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdJnjIXILNtwILd2UF1D8goMkVxmvAy4knMxao5lqELF9cHi2Dd2ddKLNNI8lOkavLOcUUiK-K4MfHTWyb9EouEz3CuQJikCD19YmuiBvlRhp8ouEjYt-ZNR-muSKgenKWKrsIvlXT8L4/s640/Graph+4da.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGGc_C-WmJFUSEHrqBp1O4vH7omNWJ4D_YNzKVKcn-bnxybv50TISMa4wbWyiAJ4eRgv3AJYg5jjZlWY8GeioJ_4BpQDMsOlCZMYKl8mCA-a1GfAeWOYadjq5jH6CK99CLTxtHgMu-yg/s1600/Graph+4da+exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="122" data-original-width="617" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGGc_C-WmJFUSEHrqBp1O4vH7omNWJ4D_YNzKVKcn-bnxybv50TISMa4wbWyiAJ4eRgv3AJYg5jjZlWY8GeioJ_4BpQDMsOlCZMYKl8mCA-a1GfAeWOYadjq5jH6CK99CLTxtHgMu-yg/s640/Graph+4da+exp.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h3>
</h3>
<h3>
Special Events Annotations in the Background Profile</h3>
<br />
Special Event Annotations are not shown on the background profile when a foreground profile is displayed. However they are shown on the background when<span style="font-family: "courier new" , "courier" , monospace;"> Roast >> Background >> Annotations</span> is checked and there is no foreground profile. They are also displayed during roasting and when<span style="font-family: "courier new" , "courier" , monospace;"> Roast >> Background >> Annotations </span>is checked.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_wc0SLHg8PmblklJnrz1oNj-hqlFfblx25HAxXlxaJSx-Xt9-ydscftB2fwpa9h_NbDl4RtEjU09inSTtPvfXgvb8x2YsklLVaWfPQgGNK7xtqjJOZkxsfO2cVGhU4E5ZvXrlHWAlMpU/s1600/Graph+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1366" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_wc0SLHg8PmblklJnrz1oNj-hqlFfblx25HAxXlxaJSx-Xt9-ydscftB2fwpa9h_NbDl4RtEjU09inSTtPvfXgvb8x2YsklLVaWfPQgGNK7xtqjJOZkxsfO2cVGhU4E5ZvXrlHWAlMpU/s640/Graph+5.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<h3>
Even More Advanced Annotations</h3>
<br />
Perhaps your Power setting is recorded as % as shown in the examples above, but you would like to display the Gas setting in kPa. Assume that full gas for this roaster is 3.5kPa. That means 100% is the same as 3.5kPa, 50% is 1.75kPa, and so forth. That means to percent Power can be converted to kPa Gas by multiplying the Power value stored in the profile by 0.035. <br />
<br />
The special events annotations allow for simple arithmetic operations. A single multiply, divide, add or subtract operation can be executed on the special event value. This example shows multiplying the recorded special event value by 0.035.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih0I-utBrDw2_VlAEs9xtStevCAgP1jcyh-NZocyGIWAUM30rGprXHARo1Br6iX5aTcZjOFpZfy_rDaFEqaz11RnAbklZt-DARElMFpasHeiRTHYkqWEmbs8DXVi2fxD1OOIS6C1JdD6k/s1600/events+annotations+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="861" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih0I-utBrDw2_VlAEs9xtStevCAgP1jcyh-NZocyGIWAUM30rGprXHARo1Br6iX5aTcZjOFpZfy_rDaFEqaz11RnAbklZt-DARElMFpasHeiRTHYkqWEmbs8DXVi2fxD1OOIS6C1JdD6k/s640/events+annotations+6.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Gas<span style="font-size: x-small;"> </span>~E*0.035<span style="font-size: x-small;"> </span>kPa<span style="font-size: x-small;"> </span>'@~Y2<span style="font-size: x-small;"> </span>~degmode`<span style="font-size: xx-small;"> </span>,~preFCs<span style="font-size: x-small;"> </span>sec<span style="font-size: x-small;"> </span>before<span style="font-size: x-small;"> </span>FCs`'"@~DTR%<span style="font-size: x-small;"> </span>DTR"</span></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">Damper ~E% '`FCs ~preFCs sec`'"@~DTR % DTR"</span></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0UV5bLT3UEhDUiIN3nPb8yg_Ji6ZpeJSpBQEZsVZWlff32C9DOGBVpTUWD4gf1E8IjZFfixV-TX3CidQOoj44-pDfopNZBsXpFM9XZPE98jgv4rrciA_ouR-lcgV0E_mnaH82NczIdI/s1600/Graph+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1366" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo0UV5bLT3UEhDUiIN3nPb8yg_Ji6ZpeJSpBQEZsVZWlff32C9DOGBVpTUWD4gf1E8IjZFfixV-TX3CidQOoj44-pDfopNZBsXpFM9XZPE98jgv4rrciA_ouR-lcgV0E_mnaH82NczIdI/s640/Graph+6.png?imgmax=1600" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy9UjpHIRj3qLx44dYMP8e_hl0lGK70fQtS8XQik5i13JVYixQ2JqttOoSLhTtLjJS9JRf2DqIEP9-LM3yc6-4DxEinXZeH6KB9MSJYOva_EO7ZIOuKNOnTOl1aseTkwoJ3eXs-R5tBZA/s1600/Graph+6+exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="130" data-original-width="633" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy9UjpHIRj3qLx44dYMP8e_hl0lGK70fQtS8XQik5i13JVYixQ2JqttOoSLhTtLjJS9JRf2DqIEP9-LM3yc6-4DxEinXZeH6KB9MSJYOva_EO7ZIOuKNOnTOl1aseTkwoJ3eXs-R5tBZA/s640/Graph+6+exp.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<h3>
When Annotations Overlap</h3>
<br />
Sometimes the change in value of a special event is small and causes the annotation text to overlap. This can also happen when two different events are close in value and time. An extreme example can be seen below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqUMcUwuY-TxnL97ywz4X_FwV_bW_fQaFaFOrgeg6ZRb8yv4lsc-ouunZpLM-IHCs9DbfjtNSc9MMrcjX2ss2sojEwWvh8qOaLaUjjvUySCckK9eo1pOJ17UrcJyYdSIumNSFkmLI0AbY/s1600/Overlap+screenshot+100+pct+exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="212" data-original-width="595" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqUMcUwuY-TxnL97ywz4X_FwV_bW_fQaFaFOrgeg6ZRb8yv4lsc-ouunZpLM-IHCs9DbfjtNSc9MMrcjX2ss2sojEwWvh8qOaLaUjjvUySCckK9eo1pOJ17UrcJyYdSIumNSFkmLI0AbY/s400/Overlap+screenshot+100+pct+exp.png?imgmax=1600" width="400" /></a></div>
<br />
<br />
To remedy this, change the <span style="font-family: "courier new" , "courier" , monospace;">Allowed Annotation Overlap</span> to a lower value. The default value is 100%. In this example the value is reduced to 20%.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-rjaNPTZnmd2Qpei5Br1B1AeXnCEJbeY4W4TvIlW7lksM6wYHzE2ZMEijJt6kFiTjOckRSv0GFeWE0tq6vvW51WMA_sw8TWBKIVfI78ANqGO6JerOmUqQ9ZB4aYVTuhF_D5YNs8ukrqI/s1600/overlap+config.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="861" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-rjaNPTZnmd2Qpei5Br1B1AeXnCEJbeY4W4TvIlW7lksM6wYHzE2ZMEijJt6kFiTjOckRSv0GFeWE0tq6vvW51WMA_sw8TWBKIVfI78ANqGO6JerOmUqQ9ZB4aYVTuhF_D5YNs8ukrqI/s640/overlap+config.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
Some of the annotations will be hidden so that the others are readable.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrlkEcnmTd-tCRUXA-SQ90Mo11n1Bzleab0srjGfCgpMeH8I-ZOpjdlBNc_p8ZrBbWzXgNKxQxvrnWkTagOOKMlFaL5WVI2NZ-F7cqve6PSnypzVP0GpbCL5tVtO0_0MQY2pkx9j8fPU0/s1600/Overlap+screenshot+20+pct+exp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="212" data-original-width="595" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrlkEcnmTd-tCRUXA-SQ90Mo11n1Bzleab0srjGfCgpMeH8I-ZOpjdlBNc_p8ZrBbWzXgNKxQxvrnWkTagOOKMlFaL5WVI2NZ-F7cqve6PSnypzVP0GpbCL5tVtO0_0MQY2pkx9j8fPU0/s400/Overlap+screenshot+20+pct+exp.png?imgmax=1600" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
There are many more fields available than described here and still more ways to use them. Please refer to the Events Annotation Help page or the <a href="https://artisan-scope.org/docs/events/" target="_blank">Artisan Quick Start Guide</a> for additional information.<br />
<br />Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-9639072926419494022020-05-29T17:23:00.000-07:002020-06-04T03:12:15.956-07:00Autosave File Naming<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/05/autosave-file-naming.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="756" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH0H7VDYjtFYD4xyWhdVzQv0oebZNO4OW2fHu7sRF52VVnKXdi3CrOJn1hP4ccFCgFZjVGtAWuIIHahlU6rmVxKd4OtfEseR617YKSRD27ySrkZ9aBdNBr0xn8g0ZYeSp92hVN0avgYJE/s640/autosave+cropped.png" width="640" /></a></div>
<br />
Artisan v2.4 introduces a powerful new capability to create custom data driven file names.<br />
<br />
Artisan has always had the ability to automatically save a profile to disk at the end of a roast, or on a keystroke during the roast. This is handy to prevent losing a profile due to forgetfulness or other accidents. The file name auto-generated for saving included the roast title or a text string and the date for identification but was otherwise not very descriptive. <br />
<a name='more'></a><br />
Most roasters who retain their profile logs use a structured format for file names that is tailored to their personal needs. That means the roaster needed to manually rename their autosaved files for later use. The alternative has been to manually save the profile at the end of the roast giving it an appropriate name at that time. Neither approach is optimal, and now there is a better way.<br />
<br />
Artisan now provides the capability to autosave profiles with customized file names based on real time data from that roast's properties. This eliminates the need to manually enter a file name and can completely eliminate the need to remember to save profiles at the end of the roast. It all happens automatically!<br />
<br />
<h3>
New Capabilities </h3>
<br />
Before diving into the detail let's take a look at some examples of possible autosave file names.<br />
<ul>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0QLwefNM4rnt6E3JDf_IBqJ66cJH0U8jYNbhEP8bhKmuLcCGf2x_1WNou4k_qeub9EtddtXGJ8G57qUmG40Vz1MNMykhfvKL0BTOdMwHEppLAgpUj6qB2JL9wmN1z2GIx9ElMVBRu7YM/s1600/Filenames.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="73" data-original-width="550" height="84" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0QLwefNM4rnt6E3JDf_IBqJ66cJH0U8jYNbhEP8bhKmuLcCGf2x_1WNou4k_qeub9EtddtXGJ8G57qUmG40Vz1MNMykhfvKL0BTOdMwHEppLAgpUj6qB2JL9wmN1z2GIx9ElMVBRu7YM/s640/Filenames.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
You can see from these few examples that a wide range of powerful file names can be created, each with information specific to that roast.<br />
<br />
Artisan has long allowed saving a second file in a different format at the same time. Now it is possible to save the additional file to a different folder than the folder used to save the profile.<br />
<br />
<h3>
The Autosave Window</h3>
<br />
Let's take a look in detail at the autosave window. This is the default condition when Artisan is first started. If you have used Artisan before and made some changes in the fields they will still be shown here.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi23LTWWcVigRFoPN51VxghjQi8jW1g4ippDGP4cbg-zdlGMn25H477wUDkigXcl9YJOR-EaglcD-K3kKMAPLwzXCRfgGlYSYTEUIojvONf2jRCKUE4TJu7hrxMKr6KHyTsv8CjdXM_3vA/s1600/Default.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="293" data-original-width="712" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi23LTWWcVigRFoPN51VxghjQi8jW1g4ippDGP4cbg-zdlGMn25H477wUDkigXcl9YJOR-EaglcD-K3kKMAPLwzXCRfgGlYSYTEUIojvONf2jRCKUE4TJu7hrxMKr6KHyTsv8CjdXM_3vA/s640/Default.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<span id="goog_290948046"></span><span id="goog_290948047"></span></div>
<br />
<br />
At the top is a check box labeled 'Autosave [a]'. Check the box to turn autosave ON. The '[a]' is a reminder that autosave is active while a roast is being recorded. Hitting the 'a' key on the keyboard during a roast will cause a copy of the profile at that moment to be saved. More on this later.<br />
<br />
Next is the 'File Name Prefix' field. This is where the customized file name will be entered. Below that is an area used to preview the file name so you can see what it looks without having to save a file. In this default situation where the Prefix field is empty, Artisan automatically inserts the date and time to be used as the file name so it is not blank.<br />
<br />
The upper 'Path' field is used to set the path to a folder where the autosaved profiles will be saved. If you want a second file to be created at the same time, check the "Save also" box and choose the file type from the pull down. The default file type is 'PDF' but you can select from a variety of image formats, CSV, or JSON. The lower 'Path' field allows this second file to be saved to a different folder from the profile. If left blank it will be saved to the same folder as the profile.<br />
<br />
The 'Help' button will open a window that has complete information about the fields that can be used in a custom file name and some additional notes on usage. This will be a handy resource as you create file names to suit your own needs.<br />
<br />
<h3>
Creating File Names</h3>
<br />
Now that we understand the fields in this window let's create some file names. The first thing to know is that custom fields that will insert data into the file name all begin with the tilde character '~', without the quotes of course. Any other text typed in the Prefix field will be used as typed except they might be illegal in a file name. To maintain cross platform compatibility Artisan profile file names may only contain letters, numbers, spaces, and the following special characters:<br />
<span style="font-family: "courier new" , "courier" , monospace;"> _ - . ( )</span><br />
<br />
<h3>
Examples </h3>
<br />
The first example creates a simple file name based on the title and roast date. The Preview field shows how the file name will appear when the file is saved. The first entry '~title' is replaced by the roast title from the roast properties, Next is some plain text 'Roasted on' which is followed by '~date' which is substituted in the file name by the roast's date. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsRFIrkTIPL0zV7j7zp4tTS5SeeS-XWeAcSPnGavXkNYdCwWWvbPBg9_QSdjLNygwDAk7l5IfViZruahwdAjbr9fqEpuqc3Wn8ZGcfTwJ3QBTM-iFmAuCpYCRV04zQX3ox6JXAHu7iLs/s1600/Example+1_ver001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="679" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsRFIrkTIPL0zV7j7zp4tTS5SeeS-XWeAcSPnGavXkNYdCwWWvbPBg9_QSdjLNygwDAk7l5IfViZruahwdAjbr9fqEpuqc3Wn8ZGcfTwJ3QBTM-iFmAuCpYCRV04zQX3ox6JXAHu7iLs/s640/Example+1_ver001.png?imgmax=1600" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">~title Roasted on ~date</span></div>
<br />
<br />
It is helpful to refer to this picture of the Roast Properties used to create these examples. The data in the roast properties fields is used by the autosave fields to build the file name.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJiN5OZIqJYhEORQflSrYZS0XTygnWdYLfCbRHLcPgUYsTNJT-xEaGWSgqdQCA5d1HjyxCmJIZWSdUix6XbA3RPTdX0r-9dV2FEDIzlrNqtjyf2D0Qc0rBXzki3wnd50esBzrvIwSDp_4/s1600/RoastProperties.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="465" data-original-width="638" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJiN5OZIqJYhEORQflSrYZS0XTygnWdYLfCbRHLcPgUYsTNJT-xEaGWSgqdQCA5d1HjyxCmJIZWSdUix6XbA3RPTdX0r-9dV2FEDIzlrNqtjyf2D0Qc0rBXzki3wnd50esBzrvIwSDp_4/s640/RoastProperties.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<i>Note: The autosave window shows a live preview of the generated file name. It is best to load a previously saved profile so the data used in the preview is meaningful. If you do not have any saved profiles then simply open the Roast>>Properties page from the main menu and enter some data there.</i><br />
<br />
Here is a slightly more complex example. Here the file name is based on the batch number, title, date and time. The first entry '~batchcounter' is substituted with the counter from the roast information. In this case it is '1380'. Next is '~title' and this is the roast title, which is followed by '~datetime_long', the roast's date and time with four numbers used for the year. Notice that each field is separated from the others by a space character. This is not required. However using spaces makes the file name more readable.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZKYsjkjwBdi5utJEj3_OPiZ-mDFLA4npy3jUxVukBn1pDWs9jymFxBdYxBtjfjikZDCFlx39Zyr8VLCfq4Fz6MdO8yQpU8ojnTGqITo1XzVRqMBeFXPbjYk7diqtIk3jTHzSiE9LR4Q/s1600/Example+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="679" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZKYsjkjwBdi5utJEj3_OPiZ-mDFLA4npy3jUxVukBn1pDWs9jymFxBdYxBtjfjikZDCFlx39Zyr8VLCfq4Fz6MdO8yQpU8ojnTGqITo1XzVRqMBeFXPbjYk7diqtIk3jTHzSiE9LR4Q/s640/Example+2.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">~batchcounter ~title ~datetime_long</span></div>
<br />
<br />
Maybe more information is needed in the file name. Here is an example that uses many of the roast properties fields. Notice how units are added for some of the fields. The text 'RPM' was added after the '~drumspeed' field and 'PCT' added after the moisture content. For some fields the units can change so they need to be retrieved from Artisan. Look at the field '~weight' which is followed by '~weightunits'. The weight is '10.3' and the units 'Kg'. Refer to the autosave Help for a list of units fields that can be used.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm7B9S4_Az1ULEtMjr80cvHcXvr8wA8AMXEVvwQSG_x8ZLDpDrM_mlBhcJmY3FQIILWiiQuQ_4Qj-GtNDPGpn-K5uSdghqyacMfBvejsSv5NaDLNaQ4POnLcKQDI1jWZdgObkeOS-n2uE/s1600/Example3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="679" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm7B9S4_Az1ULEtMjr80cvHcXvr8wA8AMXEVvwQSG_x8ZLDpDrM_mlBhcJmY3FQIILWiiQuQ_4Qj-GtNDPGpn-K5uSdghqyacMfBvejsSv5NaDLNaQ4POnLcKQDI1jWZdgObkeOS-n2uE/s640/Example3.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">~beans ~machine ~drumspeedRPM ~weight~weightunits ~poisturePCT ~operator ~date ~batch(~batchposition)</span></div>
<br />
<br />
Recall that hitting 'a' on the keyboard will autosave the profile at that moment during recording. It is often desirable to use a slightly different file name for files saved that are not complete roasts. We do this by putting text and fields inside a set of single quotes. When Artisan is OFF anything between single quotes will not be shown in the file name. However, when Artisan is ON or STARTed whatever is between the single quotes will be used in the file name. Similarly, double quotes can be used for text and fields that should be used only when Artisan is OFF. <br />
<br />
This example shows one way to use this capability. First notice that we now have a second line of preview. It shows the file name to be used during recording (and while ON). While recording the file name begins with 'Recording' and the batch counter number. When the roast is complete the profile will be saved automatically, whether it was saved during recording or not. The file name now uses the batch field from the roast properties.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXRz56WUS7xAPXf9meTZ1KTH9s0FaC1hA_vgbNt-7V8nU7SQ7LPO5-lnqHjRH0RGDAQ6rsY8o-Tat7Y0TCjSXSOGVYxRRfAuGs6oZqXHq5TI_HZNSWm4QuK3-YppIaQRuUZiRPr6iqb6Y/s1600/Example+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="679" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXRz56WUS7xAPXf9meTZ1KTH9s0FaC1hA_vgbNt-7V8nU7SQ7LPO5-lnqHjRH0RGDAQ6rsY8o-Tat7Y0TCjSXSOGVYxRRfAuGs6oZqXHq5TI_HZNSWm4QuK3-YppIaQRuUZiRPr6iqb6Y/s640/Example+4.png?imgmax=1600" width="640" /></a></div>
<div style="text-align: center;">
<span style="font-family: "courier new" , "courier" , monospace;">'Recording ~batchcounter' "~batch" ~title ~datetime_long</span></div>
<br />
<h3>
Suggested File Name</h3>
<br />
The autosave file name definition is now presented as the suggested file name for the menu operations <span style="font-family: "courier new" , "courier" , monospace;">File>> Save</span>, <span style="font-family: "courier new" , "courier" , monospace;">File>> Save As</span> and <span style="font-family: "courier new" , "courier" , monospace;">File>> Save a Copy As.</span> <br />
<br />
<br />
This new flexibility in file naming allows the roast master exceptional control over the way files are named so they may be more productively accessed after the roast is complete.<br />
<br />
For a complete list of available fields and additional information please refer to the Autosave Help page or visit the <a href="https://artisan-scope.org/docs/autosave/" target="_blank">Artisan Quick Start Guide</a>.Davehttp://www.blogger.com/profile/04943560101795748701noreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-140657553239420142020-05-28T10:56:00.000-07:002020-06-04T03:12:38.460-07:00Roast Simulator<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/05/roast-simulator.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="361" data-original-width="756" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWnKiNKoxmcyhpVjind9VOwVploNUBPVZ2KlEqW3V0iLcgkROxz-V1AjCZaShh69QcL3Xja9LR-WWZnq1RZeRi8heA893tpA-t3_FQhcVdnFb2LVm3DVnPFs9pmOIT45XTd1iX9NgGFzI/s640/13501170019314.jpg?imgmax=1600" width="640" /></a></div>
<br />
<br />
The Roast Simulator allows to replay a previously recorded roast session. It allows to play with events, alarms, and other settings without wasting coffee.<br />
<br />
<a name='more'></a><br />
Choose the<span style="font-family: "courier new" , "courier" , monospace;"> Simulator </span>item under<span style="font-family: "courier new" , "courier" , monospace;"> Tools </span>and choose a roast profile to enter the simulation modus. In case a profile is already loaded, that profile is used as input for the simulation. Note that the simulator is not available in the Artisan Viewer.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxjpa4sTWgP6-Esp-2W3qKAZ1oBW8B7jIEqVybysGy69GqwkgqwXy7Q0CQlWirmg2jPm5wQcIXx5ncHR4YsIXvR8Bb5zMpG_fcuWfLkSB11Yump4YIwuyvtTF97JBpnWtCda907Ol7Duo/s1600/Screenshot+2020-04-11+at+19.12.53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="186" data-original-width="1426" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxjpa4sTWgP6-Esp-2W3qKAZ1oBW8B7jIEqVybysGy69GqwkgqwXy7Q0CQlWirmg2jPm5wQcIXx5ncHR4YsIXvR8Bb5zMpG_fcuWfLkSB11Yump4YIwuyvtTF97JBpnWtCda907Ol7Duo/s640/Screenshot+2020-04-11+at+19.12.53.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
As long as the simulator modus is active, the ON, START and OFF buttons are rendered with inverted colors. While the simulator is active,<br />
<br />
<ul>
<li>the batch counter is not modified</li>
<li>roasts are not automatically uploaded to <a href="http://artisan.plus/">artisan.plus</a></li>
<li>commands are not sent to connected devices</li>
</ul>
<br />
<br />
The simulator modus can be used to<br />
<br />
<ul>
<li>test symbolic formulas, alarm rules and the replay of events</li>
<li>observe the effect of various settings, like RoR smoothing, phases LCDs modes or AUC limits</li>
<li>observe the effect of slower sampling rates (e.g. on curve smoothing) as the profiles data is automatically downsampled if needed (note that upsampling does cannot improve the data;)</li>
</ul>
<br />
The simulator mode is deactivated by unticking the<span style="font-family: "courier new" , "courier" , monospace;"> Simulator </span>menu entry again.<br />
<br />
NOTE: Holding down the OPTION key (macOS) or the ALT key (Windows) while starting the Simulator mode turns double-speed mode on. Holding the COMMAND key (macOS) or CONTROL key (Windows) modifier instead, adds a further duplication of the simulation speed.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5743485771843666427.post-90869182006058025622020-05-27T11:24:00.000-07:002020-06-04T03:12:55.042-07:00Profile Transposer<div class="separator" style="clear: both; text-align: center;">
<a href="https://artisan-roasterscope.blogspot.com/2020/05/profile-transposer.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="700" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipjSAkzWBa_ZIGnqXS7KawHCoPpH5j8nE7iD9wklOK36fp_kv2-mdxdyHBAWm8l0yM8v8_sCE6UK-ACBd_Tl42CWt4UxdvcMXoizmclb4kto_EkmLmRx9ZExbj-0s4g_LcGmWcMk-KF_0/s640/transposer.png?imgmax=1600" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The temperatures recorded and logged in profiles during roasts depend on the exact probe placement among other things like airflow. This makes it hard to compare profiles recorded on different machines. Luckily there are some points in a roast that can be identified based on physical changes of the beans during a roast, like the yellow point (DRY) and the start of first-crack (FCs). The recorded temperatures at those points can be compared and used to construct a mapping from profiles recorded on one machine to those on another machine. The profile transposer is a tool that supports the construction and application of such mappings along the temperature axis, but also along the time axis to extend or compress a profile.</span><br />
<span style="font-family: inherit;"></span><br />
<a name='more'></a><h3>
<span style="font-family: inherit;">Setting the Scene</span></h3>
<br />
The profile transposer (menu <span style="font-family: "courier new" , "courier" , monospace;">Tools >> Transposer</span>) allows to transpose the current loaded profile (source) along the x-axis (time) and y-axis (temperature). In both cases, the mapping between the source and the resulting target profile is constructed from a set of value pairs. Each such pair holds a source value taken from the currently loaded profile and its intended target value as entered into the profile transposer dialog. Value pairs are taken from the key points in the roast, which are CHARGE, DRY END (yellow point), FC START (first-crack start), SC START (second-crack start) and DROP.<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8D2PUKF_-FINODjKyJhM-5B3QU6KW28NHIdqAya9SWC2HIyZci9HTdv5F0IBAN5SOCWasLhNWRjROMzGAo7eiPdT7WQ0aBSIS7aDm-lqiUSMcbyI41j6pOKtcu7P5RF8NAiUBVzxpB_U/s1600/Screenshot+2020-04-07+at+10.59.08.png"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8D2PUKF_-FINODjKyJhM-5B3QU6KW28NHIdqAya9SWC2HIyZci9HTdv5F0IBAN5SOCWasLhNWRjROMzGAo7eiPdT7WQ0aBSIS7aDm-lqiUSMcbyI41j6pOKtcu7P5RF8NAiUBVzxpB_U/s640/Screenshot+2020-04-07+at+10.59.08.png?imgmax=1600" width="612" /></a><br />
<br />
<br />
The profile transposer dialog is split into 3 main sections, each holding a table with source values taken from the loaded profile and fields to enter the corresponding target values.<br />
<br />
<ul>
<li><b>Phases: </b>specification of time mappings by phases target time or percentage values</li>
<li><b>Time: </b>specification of time mappings by target event times</li>
<li><b>BT: </b>specification of bean temperature mappings by target bean temperatures</li>
</ul>
<br />
The first two sections allow to specify target times for the construction of the time mapping (only one table can be used at a time to input time targets) and the last section allows to specify target temperatures for the construction of the temperature mapping. <br />
<br />
<i>Note: only a mapping for the bean temperature curve can be constructed and be applied.</i><br />
<br />
A click on a target row header on any of the tables clears all its target values. A click on a column header in a table either clears the corresponding target value or, if a background profile is loaded, fills the target field with the corresponding value from the background profile.<br />
<br />
The mechanism to be used for the computation of the mappings can be selected in the popup on top of the dialog (see the Mappings section below for details). The current mapping computed using this mapping and the given source/target pairs for the given points is given in the result row of each table.<br />
<br />
The "Apply" button applies the computed mapping to the current profile for verification without having to close the dialog. The "Reset" button reverts the profile to the original one. Leaving the dialog using the "Cancel" button reverts also to the original profile and leaving the dialog instead using the "OK" button creates a new profile by applying the mapping to the loaded profile.<br />
<br />
<br />
<h3>
<span style="font-family: inherit;">Time Transposition</span></h3>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Transposing a profile along the time axis allows for example to generate a new roast template by extending your last profile by 30 seconds. Let's assume the following profile is loaded.</span><span style="font-family: inherit;"><span style="font-family: "helvetica";"><br /></span></span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmKumfzNM17iXRggeu3IOXnAYnl2v5EoldRk7BOmWktnIsPmRspueIXdkVo1wpSvlIPD3P8zwE_KVbeG5jrjPrQVOFPK0uvt8pa3nnBPqbbgaWPgczWRfpQPQerU9_Y8qnWfTAPrEK0cg/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="868" data-original-width="1600" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmKumfzNM17iXRggeu3IOXnAYnl2v5EoldRk7BOmWktnIsPmRspueIXdkVo1wpSvlIPD3P8zwE_KVbeG5jrjPrQVOFPK0uvt8pa3nnBPqbbgaWPgczWRfpQPQerU9_Y8qnWfTAPrEK0cg/s640/1.jpg?imgmax=1600" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">To extend this profile by 30 seconds we put 13:30 as DROP target of the time table as the loaded profiles DROP time is 13:00.</span><br />
<br />
<span style="font-family: inherit;">
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVmIt3j_rrhaydr9b7oisGm8TWxZcKptV0dNUWzDjBEmoDwd2tWuT1emW3Sq5x3vxyPUPAnIAB23ydrTTFNlm881fctVoOs51qVW9IhHDPf9zSeOUu0PPhu5IDxgKV9c4IT_ScITcAo7o/s1600/Screenshot+2020-04-07+at+11.56.22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" data-original-height="744" data-original-width="1196" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVmIt3j_rrhaydr9b7oisGm8TWxZcKptV0dNUWzDjBEmoDwd2tWuT1emW3Sq5x3vxyPUPAnIAB23ydrTTFNlm881fctVoOs51qVW9IhHDPf9zSeOUu0PPhu5IDxgKV9c4IT_ScITcAo7o/s640/Screenshot+2020-04-07+at+11.56.22.png?imgmax=1600" width="640" /></span></a></span></div>
<span style="font-family: inherit;">
</span>
<br />
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<span style="font-family: inherit;">
</span>
<br />
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><span style="font-family: inherit;">Here is the result of applying this uniform transformation to the profile given above. The original profile is loaded into the background here.</span></span></div>
<span style="font-family: inherit;">
<span style="font-family: "helvetica";"><span style="font-family: inherit; font-size: 12px;"><br /></span></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKkr9xX0eoWxLMX_riIFEDWSYtXoE7xrNOVyW_W-hnYKF_LPMvId740swofdEy17WI8Mm4eGjpwma1QmONrtWe-vMED19f1DbdqEQ7lhSylyWzN4XajwkRd4te3E0hbxJ9aW6akM_V94/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" data-original-height="868" data-original-width="1600" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKkr9xX0eoWxLMX_riIFEDWSYtXoE7xrNOVyW_W-hnYKF_LPMvId740swofdEy17WI8Mm4eGjpwma1QmONrtWe-vMED19f1DbdqEQ7lhSylyWzN4XajwkRd4te3E0hbxJ9aW6akM_V94/s640/2.jpg?imgmax=1600" width="640" /></span></a></span></div>
<span style="font-family: inherit;">
<span style="font-family: "helvetica";"><span style="font-family: inherit; font-size: 12px;"><br /></span></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">In this example we specified only the source/target pair for DROP (eg. 13:00/13:30). However, for time transformations there is always a second pair implicitly specified which is the source/target pair for CHARGE, which is always set to 00:00/00:00.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Note that in this example it is not possible to enter a target time for the start of second crack (SC START) as this event is not set in the loaded profile. The effect on the phases times/percentages is displayed in the phases table result row. All phases get slightly extended by the computed transformation. In the time tables result row we see the adjusted times for the other events, DRY END and FC START, which are moved accordingly, as the whole profile gets stretched.</span><br />
</span><br />
<div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<span style="font-family: inherit;">
</span>
<br />
<div>
<span style="font-family: inherit;"><span style="font-family: inherit;">In case you want to avoid that the first two phases and the DRY END and FC START point move along, you can specify additional targets to fix those time points to their current times. Below a target time for the FC START event was added fixing it to the time set already by the profile. Note that this is enough in this case to also keep the DRY END point at the time specified in the loaded profile. Note that it in general depends on the selected mapping and on the given target times how times are mapped as explained in the Section on mappings below.</span></span></div>
<span style="font-family: inherit;">
</span>
<br />
<div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<span style="font-family: inherit;">
<span style="font-family: inherit;"><br /></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE-XTWXHa2ZMTC21jteeF2coSdUADwUq4tJGHJSh1UkDhqLCRubDttYcIk0ba0w1zbNjWLxnI-0xhW6G1PZ3t3GCKtimPWdBDRoY_bGOhf4YjYqTRZItEM_vr30GFnjOwynX2naO5HZJM/s1600/Screenshot+2020-04-07+at+11.57.05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" data-original-height="742" data-original-width="1212" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE-XTWXHa2ZMTC21jteeF2coSdUADwUq4tJGHJSh1UkDhqLCRubDttYcIk0ba0w1zbNjWLxnI-0xhW6G1PZ3t3GCKtimPWdBDRoY_bGOhf4YjYqTRZItEM_vr30GFnjOwynX2naO5HZJM/s640/Screenshot+2020-04-07+at+11.57.05.png?imgmax=1600" width="640" /></span></a></span></div>
<span style="font-family: inherit;">
<span style="font-family: inherit;"><br /></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3atLSD5nHI_WlZrYE73BVo2XJNVVlVeH_VdOMex76ZACPdc3oH4lKNby9oGwC8JmHWavCYP2OM7ZjwNv31lArwdxsHMKLdNzW2qqeHUR-vOSM3993FShrcw8gD9zKNcuDiB_oJ-nc53o/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" data-original-height="868" data-original-width="1600" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3atLSD5nHI_WlZrYE73BVo2XJNVVlVeH_VdOMex76ZACPdc3oH4lKNby9oGwC8JmHWavCYP2OM7ZjwNv31lArwdxsHMKLdNzW2qqeHUR-vOSM3993FShrcw8gD9zKNcuDiB_oJ-nc53o/s640/3.jpg?imgmax=1600" width="640" /></span></a></span></div>
<span style="font-family: inherit;">
<span style="font-family: inherit;"><br /></span></span><br />
<br />
<span style="font-family: inherit;">Setting a phases target (duration or percentage) implicitly sets the target times of all available events to either the profile time or the times resulting from the specified durations. Thus phases targets are only guaranteed to be satisfied using a discrete mapping (see discussion below). </span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="font-family: inherit;">Temperature Transposition</span></h3>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">On my Hottop which I use sometimes to roast smaller samples, the bean temperature reported at FCs is considerably lower than on my Probat (177C vs 197C) while the temperature at DRY is about the same (145C vs 148C) for the same bean. To transfer such profiles at least partially to my larger machine I can apply a temperature transformation to align those to points. Here is the original profile recorded on my Hottop and the corresponding temperature transposition table.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipd8CDWMzZVS7hA0Vwp_vc3n56YkHj9cNGs3Nu8MjKzmkAJIQ8uEtS4Y-nSiK4O_jPiPWhKdz6a5rV_qYdU5G43iURIa0fvlN_LeDmKTTynLANWWverhBKrp_GgUE2BHDJefgRfA_e04Q/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfraoSv1PLqfTRLAGWdVaZSKgtoTs44gbIC1hcGSKl4z8sJbt9wM3gFLOxCx_JWTDZ7mQGQDc4bfTan6fthgve7DaTlrOCLj4Hz9p8A8GwETh5dzjjZl6U82qt3PJnQIxIaO0lntvaR00/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="861" data-original-width="1600" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfraoSv1PLqfTRLAGWdVaZSKgtoTs44gbIC1hcGSKl4z8sJbt9wM3gFLOxCx_JWTDZ7mQGQDc4bfTan6fthgve7DaTlrOCLj4Hz9p8A8GwETh5dzjjZl6U82qt3PJnQIxIaO0lntvaR00/s640/13.jpg?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaIGCmI6AHv3QuJ2E7Nga5JyIxEYpvGcke5J1nfMaqbT_F1u-z9myPFZojLCxTRpMGbDiratyk2CNV_DI6AT32tYrEg6yGHip_RSO3o7b9LSw59r8tqqXKR40RhT5PbOHGBiRVmRXxtI/s1600/Screenshot+2020-04-07+at+18.26.45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="398" data-original-width="1226" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaIGCmI6AHv3QuJ2E7Nga5JyIxEYpvGcke5J1nfMaqbT_F1u-z9myPFZojLCxTRpMGbDiratyk2CNV_DI6AT32tYrEg6yGHip_RSO3o7b9LSw59r8tqqXKR40RhT5PbOHGBiRVmRXxtI/s640/Screenshot+2020-04-07+at+18.26.45.png?imgmax=1600" width="640" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Here a linear mapping is constructed (see below) that is able to map the two given source/target reference pairs exactly and maps the temperatures of the remaining events, CHARGE and DROP accordingly. Note that in the case of temperature mappings, only the source/target pairs specified in the table are considered (in contrast to the time mappings where additional a point for CHARGE 00:00/00:00 is added (see above). </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Below the bean temperature table the computed mapping formula is displayed as</span><span style="font-family: "courier new" , "courier" , monospace;"> 1.1.975*x - 15.2528</span><span style="font-family: inherit;">. This formula can be directly copied as symbolic formula into the</span><span style="font-family: "courier new" , "courier" , monospace;"> BT Y(x) </span><span style="font-family: inherit;">field in the</span><span style="font-family: "courier new" , "courier" , monospace;"> Symb ET/BT </span><span style="font-family: inherit;">tab of the Device Assignment dialog (menu</span><span style="font-family: "courier new" , "courier" , monospace;"> Config >> Device...</span><span style="font-family: inherit;">) and used while roasting with the source machine (Hottop) to produce the readings mapped to the target machine (Probat).</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6Wyupa90Xy4ueaCBBdQKp7XJphQK0t-CbuQmfYgS5VHgU0R6P3Y8Jk4IMi9RIgNdopGa-gLO0cmp0-7UUTb_Uz8GB9c21Uj_sKRpFK2V3o_faSCJLAb73yU8hLekGoAtkU7a-R3j1bM/s1600/Screenshot+2020-04-07+at+18.33.21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="421" data-original-width="1600" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6Wyupa90Xy4ueaCBBdQKp7XJphQK0t-CbuQmfYgS5VHgU0R6P3Y8Jk4IMi9RIgNdopGa-gLO0cmp0-7UUTb_Uz8GB9c21Uj_sKRpFK2V3o_faSCJLAb73yU8hLekGoAtkU7a-R3j1bM/s640/Screenshot+2020-04-07+at+18.33.21.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoJdqk10Br4C3LxMyCXe-6XZXbGE_pLdIreNNtmmlvbftkeq6ccmsjq0WQHtM753r9qvxWq4SnLVls45gOQa__sqi30tZ6LAPB4g-21ZQGC6lMaJEnOZh_Hx1JvU-huPZdKaxqw2JFl9Q/s1600/Screenshot+2020-04-07+at+12.56.37.png?imgmax=1600" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The effect of applying this linear mapping to the original Hottop profile shows that the temperature compensation that needs to be added to the source temperatures is at the beginning lower than towards the the end of the roast. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_C7CPkEYWPbzU5alBRroZRTXMxnPbiyrVGv_QT0ZSDY4I_njvHs4nHL1VmO327bK_EH-tJCn0kuBYgEwjPvC5SV2HdbxNc-b38tvHHAR5sV0cm5oD6a_3xGPTShF2gXbeMGAbmmHkjic/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="861" data-original-width="1600" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_C7CPkEYWPbzU5alBRroZRTXMxnPbiyrVGv_QT0ZSDY4I_njvHs4nHL1VmO327bK_EH-tJCn0kuBYgEwjPvC5SV2HdbxNc-b38tvHHAR5sV0cm5oD6a_3xGPTShF2gXbeMGAbmmHkjic/s640/14.jpg?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuiGa6FWdOa_6tLBNPE-OKralMXLEcD7tlGy6cnpvDxxpE8gfQ89omYunV_qFRq30RwW6iBPLiQRLgvczv02tgI1Vh3Ji1sPUD6egusKTPIC65M5jv1XsjaV45J4v_kHeH62HGPV88Nds/s1600/9.jpg?imgmax=1600" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">A mapping based on just one source/target pair, as it is calculated if just the FCs target temperature is given, leads to a simple offset (here 19.7C) applied to the whole profile. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigA5qNNSIu1adDGFP5iqOvbBUzUB-nXzTSLTeMg-GtVe_xSauKJ93jEqCvOjZGAGFAGYdp_0TJTfjkzQNOTmO3xz2OVyU5khWFExAISTzdKlv2f7cKLR-saP9nfsFooEawgoFWJ7GW2cc/s1600/Screenshot+2020-04-07+at+18.28.17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="390" data-original-width="1226" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigA5qNNSIu1adDGFP5iqOvbBUzUB-nXzTSLTeMg-GtVe_xSauKJ93jEqCvOjZGAGFAGYdp_0TJTfjkzQNOTmO3xz2OVyU5khWFExAISTzdKlv2f7cKLR-saP9nfsFooEawgoFWJ7GW2cc/s640/Screenshot+2020-04-07+at+18.28.17.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUwpywHgyvrp5jut3y_JmV3bUmb6ZPt0Ks5jkekqixCzjVsGZw1PukwGardoII9Dzr_zvfunFP1FoALnzztE2O-QE6YshgpnuO5leHG02DzeETC7qtYELGE9uDJm1xSCloXhEjffTEUcY/s1600/Screenshot+2020-04-07+at+14.09.57.png?imgmax=1600" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><br /></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCb2HYsp8Tk6vrEb_4yfLH6hxFS3PAHXmb83C6U58e5lFjKay3X3uFoWno6Jutd1oWfjBRdozqNo5f8nj1mklN0LM5dnjn4K6gtveYS5ebNXi2NwfJZnUnGKTruqxwQ79Rt9yt2ECFDj4/s1600/15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="861" data-original-width="1600" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCb2HYsp8Tk6vrEb_4yfLH6hxFS3PAHXmb83C6U58e5lFjKay3X3uFoWno6Jutd1oWfjBRdozqNo5f8nj1mklN0LM5dnjn4K6gtveYS5ebNXi2NwfJZnUnGKTruqxwQ79Rt9yt2ECFDj4/s640/15.jpg?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbKitYDxMJFDRv-x15FgpTWX15sEvOVJHT_kJCudTsHnXNtIKMORpwQ7r-RESyqKFfSO_1-XykAFAwwoXvpdqYpqPizlKIv8iXF09K9t1xYSbc8JoHxlKztcXWYmAyMbS9LPj55Cewd7Y/s1600/10.jpg?imgmax=1600" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="font-family: inherit;"><br /></span></h3>
<h3>
<span style="font-family: inherit;">Mappings</span></h3>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The profile transposer offers 3 different type of mappings to compute the transformation function to be applied from the given source/target.</span><br />
<ul>
<li><span style="font-family: inherit;"><b>discrete:</b> discrete function, stepwise defined between given source/target pairs and extend with the first, respectively last, function at the ends</span></li>
<li><span style="font-family: inherit;"><b>linear:</b> continuous of the form</span><span style="font-family: "courier new" , "courier" , monospace;"> a*x + b </span><span style="font-family: inherit;">with factor</span><span style="font-family: "courier new" , "courier" , monospace;"> a </span><span style="font-family: inherit;">and offset</span><span style="font-family: "courier new" , "courier" , monospace;"> b</span></li>
<li><span style="font-family: inherit;"><b>quadratic:</b> continuous function of the form</span><span style="font-family: "courier new" , "courier" , monospace;"> a*x^2 + b*x + c </span><span style="font-family: inherit;">with factors</span><span style="font-family: "courier new" , "courier" , monospace;"> a </span><span style="font-family: inherit;">and</span><span style="font-family: "courier new" , "courier" , monospace;"> b </span><span style="font-family: inherit;">and offset</span><span style="font-family: "courier new" , "courier" , monospace;"> c</span></li>
</ul>
While it is for example always possible to find a perfect linear transformation mapping between two source/target pairs, one has to be aware that it is not always possible to compute a transformation function that is able to satisfy all given targets. For example, see the two points P1 and P2 in the following graphs. Both points can be perfectly fit on a line (a linear function). Note that the following graphics have been produced using the <a href="https://github.com/myTonino/Tonino-App/blob/master/README.md">open-source app for the Tonino colormeter</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_msPHvBT4H4euCUMwboU8UVFA0s2DYKMuVAqdwKvCF-Z8mrvl16YwxxNi-2RPAA_j6dwr2dEvqBiMW5lDdHWOqTs8yIfD0-2J1LOqTgmUSebXWgc_iu_fXS1BUNwjXuBZPYWNzX1WwE/s1600/Screenshot+2020-04-07+at+15.03.53.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="714" data-original-width="1392" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_msPHvBT4H4euCUMwboU8UVFA0s2DYKMuVAqdwKvCF-Z8mrvl16YwxxNi-2RPAA_j6dwr2dEvqBiMW5lDdHWOqTs8yIfD0-2J1LOqTgmUSebXWgc_iu_fXS1BUNwjXuBZPYWNzX1WwE/s640/Screenshot+2020-04-07+at+15.03.53.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
But adding another point P3 one sees that the best fit (here as red line) might not fulfil any of the source/target pairs in general.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwdt5pYfZiWC9X0_IMSTB0kLxEuvEQgM-KUXircsglkCGtxUiF8BGpWk725KXfv1Q5y1EHDoEJbrPpl3-9EBBmn-XiDUeybvEEotY5eJcVwHeyuR9p4OFTNhC-TrJcPtfOxRXi3IK6Y9k/s1600/Screenshot+2020-04-07+at+15.04.42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="714" data-original-width="1390" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwdt5pYfZiWC9X0_IMSTB0kLxEuvEQgM-KUXircsglkCGtxUiF8BGpWk725KXfv1Q5y1EHDoEJbrPpl3-9EBBmn-XiDUeybvEEotY5eJcVwHeyuR9p4OFTNhC-TrJcPtfOxRXi3IK6Y9k/s640/Screenshot+2020-04-07+at+15.04.42.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
Instead a quadratic mapping satisfying all three source/target pairs, but this one might map values to unintended high or low target values at some parts of the scale.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCDUPZZO_uX4WVgsFphpngGR7SQ3TGRfZQziSXV2Iea4_5yIUfpb9H5Nxo20gHW3L2TpQCSGbIPU_uqePHMMDojsR6Y6pg8BmW4qQhSv09gRT_BhThNiwuRME-Fnmh4vGnpvlNIJAk3yg/s1600/Screenshot+2020-04-07+at+15.04.55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1392" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCDUPZZO_uX4WVgsFphpngGR7SQ3TGRfZQziSXV2Iea4_5yIUfpb9H5Nxo20gHW3L2TpQCSGbIPU_uqePHMMDojsR6Y6pg8BmW4qQhSv09gRT_BhThNiwuRME-Fnmh4vGnpvlNIJAk3yg/s640/Screenshot+2020-04-07+at+15.04.55.png?imgmax=1600" width="640" /></a></div>
<br />
<br />
<br />
So in some cases the specified targets can not be fulfilled precisely by a linear or quadratic mapping.<br />
<br />
The stepwise discrete mapping applies linear mappings between the targets event and the subsequent target if any, with the first and last mappings extended towards the ends. Therefore a discrete mapping always satisfies the targets exactly, but might lead to unintended results due to its continuous nature. For example the following discrete time mapping works as specified by the targets, but leads to a "crash" in the RoR graph caused by the extremely non-continuous mapping.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRqr-7HO7BCnt8MNXX8fDvN0PWyOLgWW4pMRnz81rYEUcoGgMfnuREhPrt4TNoA5Dmg5wA3PFCRig70pZPx0lq3v-1PVGka_VjXGqde54EgfZymRtm1t2LqO0ajFW7fKwRsu6R33LCANc/s1600/Screenshot+2020-04-07+at+15.55.28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="744" data-original-width="1220" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRqr-7HO7BCnt8MNXX8fDvN0PWyOLgWW4pMRnz81rYEUcoGgMfnuREhPrt4TNoA5Dmg5wA3PFCRig70pZPx0lq3v-1PVGka_VjXGqde54EgfZymRtm1t2LqO0ajFW7fKwRsu6R33LCANc/s640/Screenshot+2020-04-07+at+15.55.28.png?imgmax=1600" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO6vouLuSeyBPwrjQVokWI8uzssou1T0dUCZ0H6C6w54tmlECTmK4-CkUkSi1eS-VsfirLxDoS4r1DBap36AjFdbXCRHGiQpQ4h76qJNr8hbPJgxIUoRI6XKqDBCm9yF8lfqig9_udB44/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="861" data-original-width="1600" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO6vouLuSeyBPwrjQVokWI8uzssou1T0dUCZ0H6C6w54tmlECTmK4-CkUkSi1eS-VsfirLxDoS4r1DBap36AjFdbXCRHGiQpQ4h76qJNr8hbPJgxIUoRI6XKqDBCm9yF8lfqig9_udB44/s640/12.jpg?imgmax=1600" width="640" /></a></div>
<br />
<br />
<br />
Have fun!<br />
Marko<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhks3Y354b0lFFN5TIyI7Pso0Evr2vDzQW-ea0hninxzSdpussCwlG7NgfOS0OaV9OEj8XDOMuqrSD218On497U75EQuWoe2YQt5Jenn1cwz98Y4SrS8fMMuakOVm_VFzBT1ohF5YiGOXA/s1600/P4060047.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1136" data-original-width="1600" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhks3Y354b0lFFN5TIyI7Pso0Evr2vDzQW-ea0hninxzSdpussCwlG7NgfOS0OaV9OEj8XDOMuqrSD218On497U75EQuWoe2YQt5Jenn1cwz98Y4SrS8fMMuakOVm_VFzBT1ohF5YiGOXA/s320/P4060047.JPG?imgmax=1600" width="320" /></a></div>
<br />
<br />Unknownnoreply@blogger.com