Murph's Silvia PID Page

 Featured in Make Magazine! (A long time ago.) 


Table of Contents

  1. Warnings and disclaimers
  2. Acknowledgments

1. Introduction

This page describes my effort to improve temperature control in a home espresso machine by installing a PID temperature controller. If you are reading this page, then you probably already know what Silvia is, what PID means and why anyone would want to add one to the other. For the uninitiated, I included a little background information. I am not an engineer, so my explanation of PID controllers is oversimplified and probably half wrong. Fortunately, understanding how it works is not essential installing the PID.

PID'ing Silvia was not my idea, nor am I the first to perform this modification; far from it. Read the acknowledgment section to find out who the real geniuses are.

If you have comments, suggestions or questions, feel free to e-mail me at murph[at]


2. Warnings and Disclaimers

**WARNING** The modifications described on this page reflect the author's own experience and are not intended to serve as a guide or instructions for others. These modifications involve tampering with high-wattage electrical circuits in a wet environment, which could result in electric shock, burns, other serious personal injury or death, as well as fire, explosion and other property damage. The author is not an electrician and the fact that his modifications were successful was purely a matter of luck. The author is not responsible for injury or damage to or caused by anyone foolish enough to follow his example. Before you tinker with an espresso machine or any home appliance, make sure you know what you are doing or get help from someone who does. Modifying Silvia voids any warranty provided by the manufacturer and/or retailer. [Top]

3. Why PID?

Consistency and control, that's why. Consistency from one shot of espresso to the next is the holy grail of espresso fanatics. The art of espresso making is fraught with many variables -- coffee bean origin and blend, degree of roast, fineness and consistency of grind, tamping force and technique, and on and on and on. The temperature of the water used to brew the shot is one of the most important variables. In most espresso machines, the brew temperature is controlled by a wildly inaccurate thermostat. The PID controller is much more accurate, meaning that the brew temperature of the next shot can be very nearly the same -- if not exactly the same -- as the last shot.

PID controller attached to Silvia. Click to enlarge.

Control over the brew temperature is also key to espresso quality. Different blends of espresso beans and different degrees of roast develop different flavors when brewed at different temperatures. Malabar Gold may taste sweet at a temperature that makes DSB taste sour. Control over the brew temp allows the skilled barista to coax the best flavor from each blend and each roast. In a stock Silvia, relative brew temperature is roughly guestimated by 'time surfing', or pulling the shot a certain number of seconds after the stock thermostat turns on the heating element. Surfing does work, but it requires careful attention and lacks accuracy. The PID, by contrast, is easy to use -- just set the desired temp and let the PID do its thing -- and highly accurate.



4. PID Basics

In simple terms (which is about all I can understand), a PID controller is a precise, computer controlled thermostat. 'PID' is an acronym for 'Proportional, Derivative, Integral,' which has something to do with how the controller holds the boiler (in this application) at a precise temperature.

Here's an analogy that explains how the PID works and why it is a good thing. Imagine you are driving your car down the street at 60 mph. Ahead is an intersection controlled by a stop sign. If you continue to travel at 60 mph until you reach the intersection, then slam on the brakes, your car is going to shoot through past the stop sign before coming to rest. If, on the other hand, you gradually apply the brakes well in advance of the stop sign, you can come to a controlled stop right at the intersection. (This analogy is paraphrased from an explanation in the Fuji PXV3 manual).

The stock brew thermostat in the Silvia is like the driver who slams on the brakes at the stop sign. The stock thermostat supplies full power to the boiler's heating element until it reaches a certain temperature, then cuts the power off completely. When the power is cut, the heating element continues to heat the boiler water for some seconds until the heating element cools off; this is like the car skidding through the intersection. On my Silvia, the stock thermostat turns off the heating element at around 220 deg. F., but the water continues to heat up until it reaches about 238 deg. F. This is called 'overshoot'.

The PID controller is like the driver who gradually applies the brakes and slows down as he approaches the intersection. The PID controller turns the heating element on and off at 1 second intervals. As the boiler approaches the desired temperature, the PID turns the heating element on for shorter intervals -- like a driver braking harder the closer he gets to the stop sign (this is where the proportional, integral and derivative calculations come in). Thus the PID is able to hold the boiler at the desired temperature with very little overshoot. I usually see a 1 deg. F or less overshoot with my PID'd Silvia. Compare that to the 18 degree overshoot with the stock thermostat.

Once the boiler is at the desired temperature, the PID cycles the heating element on and off at intervals calculated to hold the boiler very close to that temperature. Mine fluctuates by about 1 degree F. The stock thermostat, by contrast, has a fluctuation of at least 40 degrees F!

5. Rancilio Silvia

If you're going to be finicky enough about your coffee that a few degrees variation in brew temperature is a big deal, you'd better start off with a decent espresso machine. The Internet is replete with raves about Rancilio's Silvia, so I'll just touch on a one key feature: Temperature stability. Silvia contains a lot of heavy brass in the boiler, the grouphead and the portafilter. Once all that brass gets up to operating temperature, it tends to stay there. When you pull a two ounce double, the hot brass of the grouphead and portafilter keep the brew water from cooling off before it hits the coffee grounds. Likewise, the brass boiler stays hot even as cool water from the reservoir replaces the water used to make the shot. Without good temperature stability during a shot, accurate temperature control is useless, if not downright impossible.

6. PID Shopping List

Following is a list of the PID components I bought, where I bought them and how much they cost.

  Description Part No. Vendor Photo Price Comment
1 Fuji 1/32 DIN PID controller PXV3-RCY2-4V TTI Global
$129.00 The ubiquitous PID controller used by so many alties. New: Click here for a screen shot of the TTI order screen showing the PXV3 as I ordered it (so many modders asked me for this info, I decided to put it on the site)
2 Solid-state relay (230v/40A out, DC in, zero switching) RS1A23D40 TTI Global
$26.00 This is a 40 amp SSR; I probably could have saved a few bucks with a 25 amp.
3 Type J thermocouple, washer probe WTJ1-G06-AGN-030AN TTI Global $8.25 30" long. Because of the way I ran the TC wires, I wish it were 12" longer. The washer on the end makes it easy to attach to the boiler.
4 14 ga. wire (50' spool)   Home Depot
$3.59 14 AWG may be a bit thicker than necessary, 50' is way more than necessary, and this solid-conductor wire is rather inflexible. But it works.
5 Lamp extension cord, 6' 144983
Home Depot
$0.97 This is to connect the PID to an AC wall outlet. I think any electrical cord will do; the PID is not a high-power device.
6 Crimp-on connectors (you'll need 2 but get extras; they come several to a bag/box) 64-3038 Radio Shack
$1.69 I bought a big box of assorted connectors for $10 since I was not sure what I would need.
7 Lighted rocker switch 275-692 Radio Shack
$3.99 This was not really necessary, but it looks nice.
8 Project box, 5x2.5x2" 270-1803 Radio Shack
$3.49 Fitting the PID into a project box not made for that purpose was the hardest part of the project.
        TOTAL $176.98  


I also used the following tools and supplies which I had on hand: Wire stripper/crimper (Radio Shack sells them in a box of connectors for <$8), soldering iron, solder, heat-shrink tubing (last three items all used solely for installing optional switch), coping saw, double-sided foam tape, and various small screwdrivers. [Top]


7. Installation

Note: I did not actually follow these steps in the order presented. I did a lot of trial fitting, testing, etc. before I arrived at the final assembly. But if I had it to do all over again, this is the way I would do it.

a. Prepare the enclosure.

Fitting the PID into the plastic enclosure from Radio Shack was a bit tricky for someone of my limited craftsmanship. The screw towers and circuit board holders in the enclosure interfered with the placement of the PID. I ended up cutting a slot through one end of the enclosure with a hand miter saw and a coping saw. The distance between the circuit board holders molded into the enclosure is very close to the height of the PID, so I simply cut down along the circuit board holders, broke out the piece of plastic between the cuts with a pair of pliers, and reamed out the opening with a power drill until the PID fit.

I also drilled a 1/4" hole in the back of the enclosure to run wires to the PID and a 3/4" hole in the top towards the back to mount the (entirely superfluous) lighted rocker switch.

Actually mounting the PID in the enclosure is simple enough once the opening is prepared: Slip the white mounting collar over the PID, slide the PID into the enclosure, then cinch the mounting collar up tight against the inside of the enclosure. This is easier to do than it is to describe.


b. Unplug Silvia!


c. Open Silvia.

Silvia is a breeze to open -- especially compared to my first machine, a Delonghi, which was held together by hidden tamperproof screws.

(i) Remove the water reservoir. Shake the excess water out of the two water hoses into a towel or sink.

(ii) Remove the four screws that hold on Silvia's top. Set the top aside.

(iii) Remove the two screws that hold on the front splash panel. Set the splash panel aside.



d. Install the thermocouple.

Now that Silvia's innards are exposed, you can see the bronze colored boiler with many wires and two blue cylinders attached to it. The blue cylinders are the thermostats. The thermostats are attached to the boiler by three screws. Remove one of the screws, slip the washer end of the thermocouple under the 'ear' of the thermostat, then replace the screw through the thermostat and the thermocouple washer. See Fig. 1. I test mounted the TC under the leftmost screw, but later moved it over to the rightmost screw, which is closer to where the cold water enters the boiler. I'm not sure it makes any difference in operation (see 'Notes').


Fig. 1 - Thermocouple washer installed under screw of steam thermostat. Click to enlarge.


e. Remove wires from brew thermostat.

The brew thermostat is the blue cylinder on the left. Unplug both connectors from the thermostat. See Fig. 2.


Fig. 2 - Removing brew thermostat connectors. Click to enlarge.


f. Attach heater circuit wires to SSR.

(i) Cut two pieces of wire about 12" long. Strip the ends of both wires.

(ii) Crimp a connector onto one end of each wire.

(iii) Plug the connectors into the wires detached from the thermostat in step 'e'. See Fig. 3.

(iv) Run the other ends of the wires through Silvia's chassis so that they protrude down behind the splash guard.

(v) Attach the bare wire ends to the solid state relay ('SSR'). There are four terminals on the SSR; on mine, they were labeled L1, T1, A2(+) and A2(-). Attach the wires to L1 and T1. It does not matter which wire goes to L1 or which to T1. My SSR has screw/clamp terminals; simply slide wire into the terminal and tighten the screw to hold it in place. If necessary, trim the wires before attaching to the SSR so there is not an excess of of wire behind the splash guard. See Fig. 3.


Fig. 3 - Boiler detail. Thermocouple and SSR wires installed. Click to enlarge.

Fig. 4 - SSR wiring detail. Click to enlarge.


g. Attach the PID control wires to the SSR.

(i) Cut two more pieces of wire, about 36" each. They need to be this long because of the way I decided to run the wires out to the PID. Strip the ends.

(ii) Since all of the wire I used was the same color, I marked both ends of one piece with tape so I could identify it later.

(iii) Run one end of each wire from the boiler compartment down to the SSR.

(iv) Attach the wire marked with tape to the '+' terminal on the SSR. Attach the other wire to the '-' terminal. See Fig. 4.


Fig. 5- Reservoir panel. Click to enlarge.


h. Run control wires and thermocouple wire out to the PID.

I did not want to cut a hole for the wires in Silvia, so I decided to run them out an existing gap in the bottom left corner at the back of Silvia.

(i) Remove the panel that fits between the water reservoir and the boiler compartment. It is held on with two small machine screws and lock washers on the water reservoir side. The panel is angled and may need a bit of fiddling to get it to slide out. See Fig. 5.

(ii) Run the TC and control wires (the ones attached to the + and - terminals of the SSR) out of the boiler compartment, along the bottom of the water reservoir compartment and out the opening in the bottom corner of the water reservoir compartment. See Fig. 6.

(iii) Reinstall the panel removed in step (h)(i).


Fig. 6 - Wire path out of Silvia. Click to enlarge.


i. Wire the PID.

(i) Cut the receptacle end (not the end that plugs into the wall; the other end) off of the extension cord and strip the ends of the wires about 1/4".

(ii) Run the extension cord, TC wire and SSR control wires through the hole drilled in the back of the enclosure.

(iii) Slide the white mounting collar over the back of the PID (it must go on before the wires are attached for obvious reasons).

(iii) Attach the wires to the PID as follows. The PID has simple screw clamp terminals; just slide the wire into the appropriate terminal and tighten the screw.

(A) The ends of the thermocouple wire go to terminals 2 (red wire) and 3 (white wire). The first time I wired up my PID, I had the leads reversed. When the PID turned on the heating element, the temperature readout started to drop instead of rise.

(B) The ends of the SSR control wires go into terminals 4 and 5. Be sure to match the + wire from the SSR to the + terminal on the PID, and '-' to '-'. That's why I marked the wire with tape in step (g)(ii).

(C) The ends of your power cord go into terminals 8 and 9. (Note: the lighted rocker switch, if used, gets wired between the power source and the PID. I left that step out because the switch is totally superfluous).

(D) Terminals 1, 6 and 7 are unused.



j. Mount the PID in the enclosure.

Slide the PID into the enclosure. Cinch the mounting collar snug against the inside of the enclosure. Screw the cover onto the enclosure.

I attached the enclosure to Silvia with double sided foam tape. Not the most elegant solution, I guess, but it is cheap, fast, simple and reversible.



k. Secure the SSR; reinstall splash panel

Behind Silvia's front splash panel is a screw or bolt that can be used to secure the SSR. I did not have a metric nut to use for this purpose, so I simply hung the SSR on the screw, then put the splash panel back in place. Since the SSR is as wide as the gap behind the splash panel, the splash panel holds it in place quite securely.

Update: Altie Mike Walsh says the screw takes a 4mm washer and nut, available at your local Home Depot. Thanks, Mike.



l. Reinstall Silvia's top and water reservoir.

Put the top back on, tighten up the four screws that hold it down, reinstall and refill the water reservoir.



m. Fire up!

Plug Silvia in, plug the PID in, turn Silvia on! The PID should display the boiler temp. after a second or two. Press the SEL button on the PID to see the setpoint temperature; use the up and down arrow buttons to adjust the setpoint to 230 deg. F. [Top]



8. Tuning

In order for the PID to work its magic, various parameters must be set on the controller itself. Fortunately, the PID controller takes care of the hard parts through a process called 'autotuning,' where through trial and error the PID determines its own optimum settings necessary to hold the boiler at the desired setpoint. There are a few parameters, however, which need to be set by hand.

a. Manual Settings

Make the following settings by hand. There are about 50 parameters that can be set manually; I only changed five.

(i) Primary Menu (Press and hold SEL key for 3 seconds)

The only item of interest on the primary menu is autotune, which is discussed in section 8(b).

(ii) Secondary Menu (Press and hold SEL key for 7 seconds)

TC (cycle time): I have mine set to 1.

P-n2 (input type): Make sure this is set to 2 for type J thermocouple or 3 for type K.

P-dP (decimal point resolution): Set this to 1 to display temps in 1/10th degree increments.

(iii) Factory Presets Menu (Press and hold SEL for 9 seconds)

P-dF (input filter constant): This setting filters out quick changes in thermocouple readings and slows down PID responses, which is a bad thing for our application. I have mine set to 0.

FUZY (fuzzy logic): Helps eliminate overshoot. Set to 'On.'

b. Autotuning

Autotuning is the process where the PID controller determines how output to the heating element affects boiler temperature. After autotuning, the PID sets its own proportional, integral and derivative parameters so you don't have to worry about it.

To activate autotuning:

(i) Turn on Silvia and the PID and let her warm up for, say, an hour.

(ii) Run some water through the portafilter or steam wand to lower the boiler temp.

(iii) Press the SEL key for 3 seconds, then the down arrow key until 'AT' (looks like 'A7') appears on the PID display.

(iv) Press the SEL key once to select autotuning.

(v) Press the up key once. The PID should display '1'. The autotune LED on the PID will start to blink.

(vi) Wait a while (about 7 minutes in my experience). When autotuning is complete, the PID will return to the current temperature display.

That's all there is to it. Silvia is ready to go.


9. Notes

Random musings and things I wish I had done differently:

  • TC length: I wish I had bought a longer thermocouple. The 30" was just barely long enough since I ran it down and back to Silvia's lower corner, then back up to the PID.

  • Neon lamps: Folks who attempt a 'Pepe' type front-panel PID installation wonder what to do with the two holes on either side of the PID left from the 'Rancilio' name plate (not a problem with Pepe's older Silvia, but a problem with recent models). Some PID controllers come with one or two 'alarm' outputs (mine did not). From studying the manual, it seems to me that one could mount neon lamps in the name plate mounting holes and connect them to the PID alarm outputs (the alarm outputs are 120 VAC; so are the neon lamps). One could set one alarm to light 'lamp A' when the boiler temp was at brew temp, +/- 1 degree, and the other alarm to light 'lamp B' when the boiler temp was at or above the optimum steam temp (say, 280 deg. F.). Yeah, I know, totally unnecessary, but I think it would look cool. The alarm option, however, adds many $$ to the already steep PID price.

  • Wire: I wish I had used something other than solid copper wire. It's inflexible and difficult to route through Silvia's innards.

  • TC location: Where should I attach the TC to the boiler? I've read many different opinions. Since I used a washer-probe TC, I was pretty much limited to one of the three thermostat screws. I used the rightmost screw of the steam thermostat. Some might argue that this is too close to the cold water inlet. I don't think it makes a difference. The PID is effective only when Silvia is 'resting', i.e., not pulling a shot or steaming. There is no cold water coming into the boiler in the rest phase. Once Silvia starts brewing, the PID doesn't help any more; mid-shot temperature stability is a function of Silvia's design.


10. Acknowledgments

The pioneers of PID control for home espresso machines are Andy Schecter and Greg Scace, both prolific posters on In deciding to PID my machine, I also relied heavily on the web sites and usenet posts of Chris Beck, Pepe Alvarez, 'Strangebrew' and many others, to whom I am most grateful. I'm not worthy!

Special thanks to David Hostler for debugging my pathetic attempt at HTML.

And to see the work of Silvia modders who are in a whole different league from mortals like self, click here.



Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.