Espresso for Geeks is a project to create a generic Open Source set of mods for semi-automatic espresso machines. These are the basic (but often high quality) machines that are composed of a single boiler, basic steam wand, vibratory pump, solenoid valve and a sometimes adjustable over-pressure valve (OPV). The mods described here are designed to enhance the features, performance and automation of these espresso machines. This project also aims to be a forum fostering a community of espresso geeks and makers where new techniques, ideas and theories are tested, developed, discussed and implemented. This is only possible when the code, schematics, enclosure designs and PCB designs are released under fully permissive Open Source licenses, so they are.

This project was started at Collabora – an Open Source software consultancy filled with geeks who are always looking to use their skills to build, create and optimize everything around them.

The brain that brings everything together is the mbed LPC1768 micro-controller and all the code is written on top of the mbed API in C++. The mods have been tested on the timeless Gaggia Classic, but they should also be applicable to other similar espresso machines with little to no changes to them.

The best place to get started is by looking at the features page – which lists the features along with their required  hardware mods. This allows you to figure out what you want to do and which hardware mods you will need to build.

These mods and features are a mix of inspiration (or just copying) from other similar projects and our own work. We will make sure to link to the original projects as much as possible. Here is a list of the primary projects that led us here.

  • Jame’s Es(pi)resso project uses the Raspberry Pi. He implements a lot of cool features including a very advanced (IGBT based) design for pressure profiling. In addition, his code is high quality. Make sure to check the whole blog as it’s peppered with interesting espresso mod posts!
  • There is also a very complete Espressuino project that goes all the way to featuring a bluetooth based Android app to control and visualize his shots. It even steps out into grinder control options. As you might have guessed by the name, the project is based on the Arduino Uno board (ATMEGA328P).
  • Tom has pimped his machine using the Arduino Nano board. Most of Tom’s mods involve improvements to the boiler and steam wand with some very original ideas there (teflon coated wands!). But the craziest thing about Tom’s project is that he has created a thermodynamic model of the single boilers we find on semi-automatic espresso machines. With this model, he created his own temperature control algorithm to replace the more generic PID algorithm everyone else is using!
2 Comment threads
9 Thread replies
Most reacted comment
Hottest comment thread
2 Comment authors
Andrea FaustinelliPhilippe KalafAndreas Recent comment authors
newest oldest most voted
Notify of

Hello Philippe,
Congratulations on the super project.
I just left to buy the material …. PCB ordered online Kicad file worked ….
I try 220V I am in Switzerland … when it works I will send you the schematics.
Thanks, see you soon

Andrea Faustinelli
Andrea Faustinelli

Hello Philippe,
Congratulations on the super project.
I just started to buy the material …. PCB ordered online Kicad file worked …. But 3d for dysplay …. It is not feasible to do it ….
In intimate I try to 220V I am in Switzerland …. Thanks soon
Ciao Andrea