Inspiration

When waking up in the morning you walk into the kitchen to turn on your espresso machine and brew some coffee but wait, its not warmed up! We wanted our espresso machine to know when we wanted a brew and how hot through an easy to use application.

What it does

Our development kit uses an application that can set the brew time and temperature by communicating with a raspberry pi. With a set temperature and time the pi can act as a PID(Proportional-Integral-Derivative) controller to heat up the boiler in an espresso machine when you need it.

How we built it

We built a non-inverting amplifier with an op amp to amplify the 3.3V GPIO pins of the raspberry pi to 9V. This amplified signal triggered a solid-state relay which would turn on the boiler of the espresso machine. The temperature of the boiler read by a thermocouple is used as an input to the pi. This input is used in a PID algorithim to control how long the boiler is pulsed on to bring the boiler to temp and hold. This process can be initiated from a web based application that sends the wake time and brew temperature to the pi.

Challenges we ran into

Out-of-spec Relay: The relay that we bought for the project would not trigger by the 3.3V GPIO pins of the pi.

PID Tuning: The PID equation had to be tuned to be as close to a critically damped system as possible.

Server Setup: The server took some time setting up as it was written in python which is not a common language for our team.

Accomplishments that we're proud of

We were able to use a simple amplifier to bring the 3.3V GPIO output to a suitable 9V that would trigger the out-of-spec relay.

The PID algorithm was tuned to float the temperature within 1°C of the input.

What we learned

We learned how to create a kit that could be used by anyone to turn their espresso machine into a smart device.

What's next for CySpresso

Creating a kit with the most economical and efficient components is the next step in the project. This will get rid of the need for amplification by using a better relay and possibly other hardware changes.

Share this project:

Updates