meCoffee PID controller Review for the Rancilio Silvia

The Rancilio Silvia Espresso Machine has one major weakness: the high fluctuation of the default thermostat.
The taste of the espresso already varies with temperature deviations as small as 1°C, but the thermostat of the Silvia V3, V4 has a range of ~20°C (~30°C for Silvia V1, V2).

a thermostat having a hard time keeping the target temperature of 110°C

So to get a decent tasting espresso one need to predict the heating phase of the boiler, which is called temperature surfing. However this involves wasting water and one also needs the right timing which is especially difficult for beginners.

PID Controlled Temperature

A better solution to is to replace the default thermostat with a digital one. This means adding microcontroller that will monitor the temperature using the PID algorithm. This way you always have the right temperature – without surfing. Furthermore the microcontroller can be used to add some fancy features to the machine like preinfusion or a shot timer.

the PID controller results in a much more stable temperature

As the Silvia is a very popular machine, there are preconfigured kits available consisting of a microcontroller, a thermoelement and the necessary cabeling, so one only needs to open the machine and plug some cables.

The meCoffee PID Kit

The most recent and thus most modern one is the meCoffee Kit. It consists of a bluetooth enabled microcontroller that is installed inside the Silvia and the meBarista control app available for Android and Chrome.

There was a Kickstarter Campaign for the Kit. It promised to deliver the controller at a price of 119€ in September. Although the kickstarter failed, they still managed to keep the price of 119€ and are already delivering now. I would say this is still a success compared to the “successful” ZPM Espresso Machine kickstarter.

Installation

Inside the package you will find the controller, the housing and all required cables for installation inside the Rancilio Silvia. The presented kit contained version 5 of the meCoffee board.

On the board, which seems to be a custom version of an Arduino Uno, you find the ATmega328PU CPU and the HC05 Bluetooth Serial Transceiver as well as other parts necessary for PID operation.

Building a comparable setup using an Arduino would cost around 50-60€ just for the hardware – then one would still have to write the software. The custom printed PCB of meCoffee however is probably more expensive as it has to be produced in a small series.
Using the custom PCB has the advantage that everything is cleanly integrated on one small board – going with an Arduino one would need additional wiring to connect the components and thus end up with considerably larger package.

The installation is straightforward; it only requires removing the top cover of the Silvia and then plugging some wires. This process can be easily completed in about 45min.

Once installed the housing is placed below the power switch where it neatly hides without causing any cable clutter.

Usage

Using bluetooth to wirelessly control meCoffee is quite an elegant design compared to older Kits that use external display modules. One actually only needs the external display to configure the temperature and to monitor that everything works from time to time. For preparing an espresso, the thermostat LED gives you all the information you need.
To configure and to monitor the temperature on the other hand a smartphone or a Laptop are a much better choices. So leaving out a external display not only makes installation easier but also keeps the price down and improves usability.

One catch though is that the current Kit is not compatible with iOS. The HC05 Tranciever only supports Bluetooth 2.0, while Apple requires either using Bluetooth 4.0 Low Energy or buying a MFi license. However according to the Kickstarter page they are planning to release a Bluetooth 4.0 version in November for 149€.

Control apps are available for Android and Chrome – but as Chrome does not support Bluetooth on Linux,  there is no Linux support for meCoffee. In general the Android app is more polished. For instance the shot timer and firmware update are currently only available on Android.

However there is no need to keep a smartphone around the coffe machine – the settings are stored inside meCoffee and the thermostat LED dims when the target temperature is reached.

Functionality

The main functionality of meCoffee is classical PID during coffee infusion aka brew control. As can be seen in the Screenshot below this works flawlessly. The average absolute temperature deviation is reduced to 0.25°C with a maximum deviation of 2.9°C.

The second dial shows the optimal shot time range
The second dial shows the optimal shot time range

As you have the temperature sensor at your Boiler, meCoffee can also control the steam temperature. This one is actually also very useful. The default Silvia Thermostat heats up to 150°C for steaming which is way to much if you just want to prepare a single cappuccino. Therefore meCoffee by default tames it to a more sane 135°C. This is not purely altruistic however; looking at the specs of the meCoffee temperature sensor (LM35DT) 150°C are the upper limit of its operation range.

Next there is programmable pre-infusion for wetting the grind before brewing. This basically introduces a pause in the brewing process. I use the following settings; start the pump for 2 second, then wait for 5 seconds before continuing with brewing. This eliminated channeling in the puck for me.

Then there is a shot timer, which automatically starts as soon as you flip the brew-switch and displays whether your shot is in the recommended 20-25 seconds range.

Finally the Firmware can be easily updated using the Apps over Bluetooth. This way you can easily deploy new features and fixes without the need to taking out the board and attaching it to a PC.
The downside is that currently you actually have install updates, as the Apps and the firmware are still in active development. During the writing of this text a bug in the meBarista Android app was fixed that prevented heating up the boiler for steaming when changing the steam temperature. (available in the Beta version)

Alternatives

As already mentioned meCoffee is just the recent in a series of PID Kits available for the Rancilio Silvia.

Out of those the Arturo Kit probably comes closest to meCoffee. It is also supposed to be placed inside the machine and supports bluetooth (just 2.0 as well). Although no external LCD is required, the Kit was clearly designed with an external LCD display in mind. Many features rely on a display to be present and the available control app is just a Virtual LCD screen that forces you to use virtual buttons to navigate the same menus as when using a hardware LCD screen. Furthermore the app is written in Java and thus only works on PCs.
However the Hardware is more capable than meCoffee. The Kit is based around the ATmega1284P which has more memory and there is an additional ADC on the board that allows higher resolution temperature measurement. Furthermore you can attach more than 2 sensors which is the limit of meCoffe. The arturo Kit allows using up to 8 sensors  and control the LEDs of the Silvia individually at the same time. The downside is that the basic – PID only – kit starts at 303€ which is already more than half of the price of the Rancilio Silvia.

Then there are the older external display only kits like Auber Instruments (Starting at 139€)  and PID Silvia (Starting at 104€). While in a similar price range to meCoffee, these offer less features as those are not programmable micro-controllers at heart but rather fixed electronic circuits.

Verdict

Without a PID controller the Rancilio Silvia is like an untamed beast – it requires lots of skill to make it do what you want and even then it is unforgiving to mistakes.

The meCoffee Kit is able to tame the beast. It gives you fine grained control over the machine through a nice user interface.
This makes the machine much easier to use for beginners as the Apps show exactly what is going on and further assist with a shot timer (at least on Android).

Compared to other Kits, meCoffee offers by far the most value for the money – even just considering the pure hardware costs it is a good deal.

The installation instructions however are currently not quite clear and the software is in active development so you might run into bugs.
Furthermore the current version is not compatible with iOS. Ultimately the Kit has not matured yet. If you are able to deal with this, you can buy it today. Otherwise you should give the Kit some more months.

But consider that we have a chicken-egg problem here: If everybody waits until the kit matures, the kit will not be able to mature as not enough people will be using it..

Updated 26.08.2015

The installation manual was updated by meCoffee and is now easier to follow. The initial wording of this post was:

However the official installation manual is often ambiguous and lacks any images. The resulting double and triple-checking of every connection blows up the installation time to several hours. Hopefully meCoffee will improve the manual soon.

 

  • FJP

    Hi there,

    Thank you for this review.

    I am considering to use the mecoffee pid. How do you actually start pulling a shot? Do you still use the button(s) on the machine or do you have start brewing using the app? In other words is the mebarista app only used for configuration, or do you also have to use the app for actually pulling a shot?

    I am also curious about the specific settings you use for PID, Temperature, Pressure and Preinfusion, could you please provide these?

    Thanks in advance for your reply!

    • rojtberg

      you still use the buttons. They are routed to the meCoffee board that takes over the control, so you do not need the app except for configuration and the shot timer.
      The thermostat LED still shows you whether the boiler is heating or not.

      As for the settings; I did not have much time for experimenting with them, so I am using the defaults of meCoffee:
      – 101°C brew, 135°C steaming
      – 33% Pro Active Power
      – no pressure control (hard to measure any advantage)
      – no preinfusion (need a naked portafilter first)

      • FJP

        Thanks, one question if an my ask. What are your (default) settings of the PID’s (P),(I) and (D) Parameters, Interval and Wind-down?

        • rojtberg

          [P,I,D] = [25, 3, 128]

          interval = 1000ms
          Wind Down = 3000ms

          • FJP

            thanks again, I will try it out

          • Tanya

            Hi,
            Set temperature 103
            Measured temperature 102.5 +0.1 -0.2
            Would I change some PID parameters?

      • rojtberg

        got the naked portafilter and verified that preinfusion actually helps. updated the post with my settings.

  • RO

    Great review and comments! I am also very interested in this PID. @Pavel: once the settings are configured using the app, do you need the app afterwards? In other words: are the settings like temperature stored inside the Silvia even after power down?

    • rojtberg

      the app is only needed for configuration – the PID works without the app connected

  • Eric Faden

    You have a link to the Bluetooth 4.0 Version?

  • Rastislav Stanik

    Hi, thanks for the detailed review. I have it installed too, use the Android app and am very happy with the results, but I would like to ask, do you have a tip which MFi licence to get for macbook pro 2014, to run the Chrome app please? Or is this something the manufacturer has to do?
    Thank you
    Rastislav

    • rojtberg

      It is something the manufacturer has to do in order to be able to create an iOS app. The Chrome app should run on OSX just fine.

      • Rastislav Stanik

        thanks again, will try it tonight

  • Lasse Hansen

    Thanks for the review. Very helpful! I just bought my own meCoffee PID.
    I have a quick question..
    When the machine have reached the set temperature, the indicator light starts flickering. Is it supposed to do that?

    • rojtberg

      yes, this reflects the controller oscillating around the target value. You could play around with the PID values or the update rate to make it smoother – however I personally did not care..

      • Lasse Hansen

        Yeah, i thought so. Thanks for the quick reply.
        I don’t know anything about the PID values, so I think it’s more safe to leave it as it is.
        How are your pre-infusion settings?

  • Ted Dobek

    hey, just installed my PID. My temps are dropping substantially during the shot (a degree per second) something seems wrong. any advice? may be my parameters? or something to do with hardware (therm or wiring)?

    • rojtberg

      1°/s is ok for the first seconds as the pressure is built up. However it should not drop below 90° during the shot.

      • Ted Dobek

        Yea, unfortunately it is dropping below 90°. Does is have something to do with my parameters? Temp settings such as Pro Active, or PID settings?

        Could you send over the parameters you run successfully and maybe I will see if that changes things

  • makima

    hi, still having the machine with the mecoffee installed? i wonder how the pressure profiling here works, had you any chances checking it with a pressure gauge?