In our SBC Project series, we feature unique and interesting single-board computer (SBC) projects from the maker community. If you’d like to share your Raspberry Pi, BeagleBone Black, or other SBC project with thousands of other makers, complete our short form and we’ll get in touch!
In this post, we’ll meet Ross Satchel of Tempe Arizona.
What are you working on, Ross?
I’m building a PID-controlled Espresso machine. This project can be easily adapted for other thermal loops (eg- Kiln, hot water system, etc.).
Why did you get involved with this project?
After being involved in the coffee industry as both a barista and a technician for more than a decade, I began offering barista training to interested customers.
Some customers brought their home equipment with them and I quickly discovered just how limiting home equipment was, especially in regards to temperature stability.
This is due to a combination of factors: typically small boiler size and cheap mechanical thermostats with large deadband.
On serious entry-level machines such as the Rancilio Silvia this is compounded by the use of a single boiler, without a heat exchanger.
What this means is the user can pull espresso OR steam milk. Each requires a different temperature which means the user must change the temperature setting and wait.
However with the poor quality thermostat, this requires the new barista to learn various compensating techniques that further steepen the already steep learning curve.
As a result, many home baristas give up out of frustration. I had been fitting commercially available PID controllers to commercial espresso machines, but I felt the associated cost would deter home baristas.
After beginning to study computer systems engineering, I discovered the Arduino platform and almost immediately set out to build a temperature controller for under $100.
My first prototype used a RBBB (Real bare bones board) Arduino clone, a MAX6675 (thermocouple interface) breakout, a 16×2 LCD and a homemade 4 button array to navigate menus, as well as a SSR (Solid state relay) to drive the heating element.
Once I was happy with it, I set about building a new prototype from scratch, incorporating the Arduino into my circuit design.
When I built my new prototype, I set about learning to manually tune PID loops. I quickly realized that manual tuning would be out of the scope of the average home barista, so started looking for an autotune alternative.
Luckily I found that someone in the Arduino community had written an autotune front end for Processing to use with Arduino. I set about learning how to set it up and use it immediately!
A couple of hardware and software revisions later and I was happy with my controller.
I am currently working on several projects, one being a complete interface for the Rancilio Silvia (and similar) machines. This interface will allow the user to not only control the temperature, but also use pressure profiling to extract the very best espresso.
Learn more on my blog, here.