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
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.
have comments, suggestions or questions, feel free to e-mail me at murph[at]murphyslawonline.com.
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
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.
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.
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!
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.
is a list of the PID components I bought, where I bought them and how
much they cost.
1/32 DIN PID controller
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)
relay (230v/40A out, DC in, zero switching)
is a 40 amp SSR; I probably could have saved a few bucks with a 25
J thermocouple, washer probe
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.
ga. wire (50' spool)
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.
extension cord, 6'
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.
connectors (you'll need 2 but get extras; they come several to a bag/box)
bought a big
box of assorted connectors for $10 since I was not sure what I
was not really necessary, but it looks nice.
the PID into a project box not made for that purpose was the hardest
part of the project.
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]
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
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.
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
(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').
1 - Thermocouple washer installed under screw of steam thermostat.
Click to enlarge.
e. Remove wires from
The brew thermostat
is the blue cylinder on the left. Unplug both connectors from the thermostat.
See Fig. 2.
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.
(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.
3 - Boiler detail. Thermocouple and SSR wires installed. Click to
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.
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).
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.
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.
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
(ii) Secondary Menu
(Press and hold SEL key for 7 seconds)
time): I have mine set to 1.
(input type): Make sure this is set to 2 for type J thermocouple or
3 for type K.
point resolution): Set this to 1 to display temps in 1/10th degree
(iii) Factory Presets
Menu (Press and hold SEL for 9 seconds)
(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.
(fuzzy logic): Helps eliminate overshoot. Set to 'On.'
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.
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.
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.
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
of PID control for home espresso machines are Andy Schecter and
Greg Scace, both prolific posters on alt.coffee. In deciding to
PID my machine, I also relied heavily on the web sites and usenet
posts of Chris
Alvarez, 'Strangebrew' and many others, to whom I am most grateful.
I'm not worthy!
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.
is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License