All posts
Ulrich Lehner

Building a Better Gaggia Classic · Part 1

Restoring a Gaggia Classic: From a EUR 200 Find to the First Shot

Around 50 hours of work took a second-hand Gaggia Classic from a EUR 200 find to the first espresso. What a twenty-year-old machine needed, what it did not, and the one number that saved the reassembly.

A Gaggia Classic espresso machine on a wooden kitchen table in warm evening light, seen from the front with the portafilter locked in, its polished steel reflecting the room, the edge of a Gaggia grinder beside it

In July I drove out to the Innviertel with EUR 200 in my pocket and came back with a Gaggia Classic and its matching grinder: a working machine, about twenty years old and due for a full service. Around 50 hours of work later, most of them packed into one week in July, it made its first espresso again. In between it had been a heap of parts on the kitchen table: boiler descaled, verdigris dissolved, chassis converted, polished, painted and baked at 220 °C, every cable labelled.

This is the first of two parts. Part 1 is the mechanical restoration, from the find to the first shot. Part 2 will be about the GaggiMate, the PID controller that replaces the 2004 thermostats. Everything below is told in the order it happened, mistakes included.

ItemDetail
MachineGaggia Classic
Built05/2004, Made in Italy (Robecco sul Naviglio, Milan)
InsideAluminium boiler, 230 to 240 V, 1425 W, 3-way solenoid valve, Ulka vibration pump
Bought12 July 2026 on willhaben, EUR 200 including a Gaggia grinder
PlanReseal, descale, treat the rust, polish. Then the PID conversion (Part 2).

The find

The listing on willhaben offered a Gaggia Classic together with the matching Gaggia grinder: a private sale, both devices well kept, regularly descaled and in working order, collection only. The previous owner was moving on to a bean-to-cup machine. We agreed on EUR 200 for the pair.

A machine of that age is due for a full service however well it has been looked after. So the plan was set before I got home: look inside first, measure second, order parts third.

A look inside

The next morning I turned it over. The type plate is the birth certificate of a machine like this: model CLASSIC, 230 to 240 V, 50 Hz, 1425 W, built 05/2004, Made in Italy. The listing had guessed 2002, which is easy to get wrong after two decades, and both years belong to the sought-after Italian series from before the Philips era. If you want to know exactly what you have, the plate is the place to look.

The tarnished Gaggia type plate on the underside of the machine: Gaggia, Robecco sul Naviglio, Milano, Mod. CLASSIC, 230 to 240 V, 50 Hz, 1425 W, number 0104094056, 05/2004, Made in Italy
Built in May 2004 in Robecco sul Naviglio. If anyone at Gaggia remembers this one, say hello.

Outside, the stainless front was in decent shape and shiny. Inside, with the base removed, the picture was exactly what I expected: every assembly complete and original, but patina, old coffee and limescale traces, and surface rust on the steel parts. The diagonal steel strut was distinctly rusty, and the brass and the boiler carried deposits.

A jewel from the front, twenty years of daily use from underneath. Everything worked and nothing was broken, just as described. What the machine had earned after two decades was a full service: reseal, descale, treat the base plate, polish.

Ten minutes with a multimeter

Before ordering a single part I wanted to know whether the expensive things were alive. Four measurements settled it, and in hindsight this was the most reassuring day of the whole project.

CheckHowReading on this machineVerdict
Heating elementResistance across each element (the Classic boiler has two)About 22 Ω per elementHealthy. No open circuit, no short.
Earth faultEach element terminal against the boiler bodyInfiniteInsulation fine, no risk of tripping the RCD.
ThermostatsHeat in coffee mode until the ready lamp comes on, switch to steam, watch the lampLamp off, machine steams, lamp returns after the reheatBoth bimetal switches behave as designed.
Solenoid coilResistance across the coil, measured twiceAbout 1200 ΩHealthy for a 230 V AC coil.

How do you know that 22 Ω is a good reading? The ballpark came from a video: in The Island Tech's restoration of a scrap Classic, each healthy element reads "around 21 ohms or so". That number holds on both sides of the Atlantic, because every Classic has the same two elements of roughly 20 Ω each. A 230 V machine wires them in series, a 120 V machine in parallel. This is also why the textbook formula V² / P (explained in this Home-Barista thread) looks wrong at first: it gives you the total, 37 to 44 Ω for a 230 V machine and about 10 Ω for a 120 V one, never the value of a single element. Measure each element on its own and expect about 20 Ω.

Electrically this was a clean base, which matters twice over: for the restoration, and for the controller that comes in Part 2. To keep the rest of the story readable, here is how the water travels through a Classic.

Simplified diagram of the Gaggia Classic water path: tank, vibration pump, over-pressure valve with a bypass back to the tank, aluminium boiler with its 1425 W element and the thermostat box, the 3-way solenoid valve with its third way to the drip tray, the brew group and the portafilter, plus the steam valve and wand
The water path in one picture. The over-pressure valve caps the pump at about 9 bar, the solenoid's third way dumps the residual pressure into the drip tray after every shot.

Testing the solenoid valve

The 3-way solenoid valve is the part that makes a Classic pleasant to use. After a shot it releases the residual pressure from the brew group into the drip tray with a short "pfft", which is why the puck comes out dry and the portafilter does not fight you. If the valve fails, the portafilter drips and sticks.

The usual test, described in this kaffee-netz thread and in the KaffeeWiki article on solenoid valves, is acoustic: unplug the pump so its buzz does not drown everything, flip the brew switch and listen. So I did, and filmed it.

A sharp clack at every switch-on, and then silence. A working valve would keep humming.

The result left me more confused than reassured. With the pump connected, its buzz covered everything else. With the pump unplugged I did hear a clack every time, but I had no reference for what a working valve is supposed to sound like, so I could not tell whether that clack was a pass. An audio analysis on the computer did not settle it either: it found two clicks six milliseconds apart in the clearest example and read them as the switch and the valve armature, but a second, more careful look for this article did not leave much of that standing.

What I should have listened for is simpler. A healthy solenoid valve on mains voltage does not only clack when it switches, it hums, quietly and steadily, for as long as the brew switch stays on. In my recording there is a clack and then silence. Watching the clip today, the missing hum is the most obvious thing in it. Had I known that in July, I would have known that the valve was not working at that point, in spite of a healthy coil resistance.

That is what fixed mine. The valve came apart together with the over-pressure valve during the teardown, was descaled and cleaned, went back in with new gaskets, and has worked since.

Valve parts laid out on kitchen paper. Left: the brass over-pressure valve body with its flange and a hose fitting with a green O-ring. Right: the solenoid valve body, its dark steel plunger with the spring, and the guide tube the plunger moves in
Left the over-pressure valve, right the solenoid valve: body, plunger with spring, guide tube. The plunger has to move freely in that tube, so this is where scale and old coffee residue do their damage.

The shopping list

I compiled the list properly once instead of reordering three times. The espresso-specific parts came from espressoXXL, most of the chemistry from Amazon, and the screws and tools from the hardware store. This is what was actually used. Two of the tools are on it only because the boiler screws forced them, more on that below.

The Gaggia Classic on a wooden table before the teardown. Lined up behind it, next to a glass terrarium: spray cans of WD-40, a tub of Cafiza, three red bottles of descaler, a spray can with a grey cap, a small grey bottle with a red cap, a set of long brushes and a sponge
17 July, just before the teardown. Most of the shopping list is standing behind the machine.

Seals and spare parts

  • Gasket set: the big red boiler O-ring, the flange gaskets for both valves, the steam valve seal
  • Maintenance set from espressoXXL with silicone hoses, O-rings and a shower screen
  • Stainless A2 hex-socket screws from the hardware store for the whole machine, M6 for the boiler

Cleaning and descaling

  • Descaler based on amidosulfonic acid (PURIVITA), safe for the aluminium boiler
  • Citric acid for brass and the brew group
  • Cafiza for coffee oils. Never on aluminium.
  • Bar Keepers Friend for tarnish
  • Vinegar and salt, with the citric acid, against verdigris
  • A set of long thin brushes, 2 to 25 mm

Rust, paint and polish

  • Rust converter (NIGRIN)
  • Heat-resistant spray paint, aluminium silver
  • Crepe tape and old newspapers for masking
  • Autosol metal polish
  • Wet sanding paper, 120 to 600 grit
  • Two-part epoxy for the cup-shelf bracket

Grease, paste and sprays

  • Food-grade silicone grease (Fermit Glissa, NSF H1) for every seal
  • Copper paste for every screw thread
  • Contact spray for the spade and switch contacts
  • Penetrating oil
  • PTFE tape for the pump fitting

Tools

  • Multimeter
  • Hex keys, including a long 5 mm one for the boiler
  • Spanners for the valve fittings
  • Manual impact driver with a 5 mm hex socket, and a hammer
  • Hot-air gun
  • Tape and a pen for the cable labels, a phone for the photos

Upgrades and testing

  • Two IMS precision baskets
  • Blind filter for back-flushing and the pressure test
  • Portafilter pressure gauge
  • Later: an Ulka EX5 pump with a brass outlet and a brass shower holder

What I did not buy: thermostats (Part 2 replaces them anyway), a clear coat for the housing (it yellows at the hot group), and a new boiler. The diagnosis pointed at cleaning, not replacing.

Teardown: label everything

On 17 July the machine came apart. Housing open, wiring released, and every single cable labelled with a strip of tape before it was unplugged: H1 to H4 for the heater, PU1 and PU2 for the pump, TS1 and TS2 for the thermostats, and so on. Roughly 60 photos, one per step. Six weeks later that discipline was the difference between reassembly and guesswork.

Brass boiler fittings with orange spade terminals, each wire carrying a hand-written tape flag reading H1, H2, H3 and H4
Label every cable before you pull it. Reassembly is then reading, not remembering.
A living room table seen from above during the teardown: the opened housing full of loose cables in the middle, bottles and spray cans lined up at the back, kitchen paper, screwdrivers and a desk lamp around it, an open blue metal toolbox on the floor
The workshop for the next weeks: the living room table.

The boiler came out together with the brew group and went onto the workbench, visibly coated in patina and limescale. The portafilter went into a Cafiza bath several times.

The boiler itself stayed shut: its screws were seized. That gets its own chapter below.

The removed boiler with the brew group standing on a green microfibre cloth, its aluminium flank white with limescale, silicone hoses looped over it and cleaning products in the background
Boiler and brew group out. The white on the aluminium is scale, not paint.

Rust: convert, don't grind

The rust was what made the machine look old more than anything else. The steel base plate around the pump and boiler mount had a proper bloom of orange flash rust, but no perforation, which is exactly the case a rust converter is made for. Applied straight onto the firmly adhering rust, not down to bare metal, no neutralising afterwards, self-priming. The small steel brackets and screws got the same treatment in the lid of a storage box.

The same base plate one evening later after the rust converter, the orange gone and the steel a calm dark grey, photographed in a plastic storage box under warm light Looking down into the bare stainless housing: the steel base plate and the pump mount are covered in orange-brown flash rust around the round boiler cut-out
Same plate, same angle, one evening apart. Drag the handle. The after photo was taken under a warm lamp; the plate really is grey.

The turnaround after the converter is genuinely satisfying. Only surface rust, no rust-through, so the chemical route instead of grinding was the ideal case.

The boiler that would not open

Four M6 screws hold the two halves of the boiler together, and on my machine they had not moved in twenty years. Steel in an aluminium thread, heated every day and occasionally damp: the two metals corrode into each other until screw and boiler behave like one part.

Round one, on the evening of the 17th, was the long 5 mm hex key. Nothing moved. I could feel the key twist before the screw did, and that is the moment to stop: a rounded hex or a sheared screw turns a free evening into the search for a new boiler. So the boiler got a soak in penetrating oil and spent the night on the kitchen table.

The boiler standing on kitchen paper on a wooden table at night, a can of penetrating oil beside it and a black hex key lying in front
Just after midnight: penetrating oil and a hex key. Neither moved the screws.

Round two, the next morning: more oil, the same key, the same result.

Round three started at the hardware store. The tool for this job is a manual impact driver: a heavy steel cylinder that you load with a bit, set against the screw and hit with a hammer. The blow does two things at once. It drives the bit deep into the screw head, so it cannot slip and round the hex, and a cam inside turns the same blow into a short, violent twist. It needed a proper 5 mm hex socket to go with it, because the bits that come in the box are made for slotted and Phillips screws.

The last ingredient was heat. Aluminium expands about twice as much as steel, so a hot-air gun on the boiler body around each screw opens the thread by a hair and weakens the corrosion bond. Even so, none of the four gave up easily. Every single screw took a lot of intense hammering: heat, set the driver, hit hard, check, heat again, hit again, many times over before the screw moved for the first time. It was around four in the afternoon, the better part of a day after the first attempt, when the last one let go.

Inside it looked like the inside of a twenty-year-old kettle: a crust of scale in the upper half, deposits around every opening and a gasket baked hard. Everything that followed, descaling, new seals, the lapped sealing face, depended on getting those four screws out in one piece.

Polishing the housing

With the boiler open, the rest of that day went into the housing. Cleaned completely and polished mirror-bright, inside and out, rust-free. That is the moment when a machine stops looking like scrap and starts looking like a project.

Looking down into the polished stainless housing on a wooden table: every interior surface mirror-bright, the boiler cut-out and the mounting brackets reflecting the room
The inside of the housing after polishing. Compare with the rust photo above; it is the same piece of steel.

The brass parts, valves and water lines were degreased and descaled with PURIVITA and came out clean and matt. The brew group got an extra round of Cafiza for coffee oils and Bar Keepers Friend for the tarnish. And a bracket that the factory had forgotten on one side of the housing, the support for the cup shelf, was glued in with two-part epoxy. That epoxy choice comes back later.

Fine cleaning and paint

The 19th was a day of fine cleaning. The inside of the brew group had gone dark from the alkaline Cafiza baths and brightened up again in a warm citric acid solution, 30 to 50 grams per litre at 40 to 60 °C, never boiling, otherwise calcium citrate precipitates as a new deposit. The rule I learned that day: degreaser first, acid last, or it tarnishes straight away again.

The same day I took the over-pressure valve and the solenoid apart, and got a fright. Was there a spring in the OPV? Had it jumped out and rolled under the workbench? After some reading, relief: the spring sits captive behind an internal 5 mm hex adjuster, which is also the brew-pressure setting, and had never been out at all.

Looking into the brass over-pressure valve under the boiler flange: the internal hex adjuster sits deep in the bore, ringed with green verdigris, a green O-ring and brass fittings lying on a tea towel beside it
The spring that was never lost: it sits behind this internal hex adjuster, deep in the bore.

The 20th was paint day. The polished outer surfaces got masked with crepe tape and newspaper, then the inner steel frame surfaces were sprayed with heat-resistant paint in aluminium silver, outdoors, in several thin coats. It is the last of three steps against the rust: converter, polish, sealing coat. The masking took longer than the painting itself, and that is exactly why it looks good: no overspray on the polished steel.

Baking the paint at 220 °C

Silicone-resin heat paint stays soft when it only dries in air. The resin cross-links with heat, starting at about 150 °C and completing around 220 °C, and only then is it scratch- and chemical-resistant. So on 21 July the housing went into the kitchen oven at 220 °C.

A built-in kitchen oven with the door closed, the polished espresso machine housing glowing orange inside behind the glass
The housing, baking under controlled conditions in the kitchen oven at 220 °C.

What worried me most were the glued-in cup-shelf brackets: two-part epoxy is rated to about 100 to 120 °C, and 220 is well above that. They survived. The stainless housing itself is unbothered by 220 °C, temper colours only start around 300 °C, and the mirror finish came out unchanged. The only blemish was a small spot at the bottom corner where I had touched up the paint with solvent shortly before; the film was uneven there and blistered slightly. Cosmetic, underneath, barely visible.

The finished frame after baking, photographed from above on a cream carpet: matt aluminium-silver interior, a bright mirror-polished rim, ventilation slots and the round boiler cut-out
After the oven: matt aluminium silver inside, mirror outside, and hard enough to take a screwdriver.

Meanwhile the brass parts sat in a bath of vinegar, salt and citric acid against the verdigris. The rock-hard green coating dissolves slowly, and it is worth knowing what it is.

Looking down into a stainless bowl of amber liquid on a stove, a brass steam valve and a flange plate submerged and gently fizzing
Vinegar, salt and citric acid. Slow, but it works.

The boiler screws themselves were retired. The originals had partly rusted threads, so the replacements are stainless A2 with copper paste on the thread, which protects against rust and against the galvanic seizing that had made the old ones unremovable in the first place. I ended up doing the same with every other screw on the machine: all of them are stainless now.

The over-pressure valve: fifteen turns

The afternoon of the 21st was fine work. The sealing face between boiler and brew group was lapped flat by wet sanding on silicon-carbide paper glued flat onto a board, the part drawn across it, 120, 180, 240 and 600 grit in turn. Sanding freehand rounds an edge; a glued-down sheet keeps a face flat. The water side got another round of descaling.

Then, at last, the over-pressure valve came apart completely. The adjuster was stuck fast with deposits and verdigris. The most important number of the whole project:

The over-pressure valve laid out in disassembly order on a grey surface: the small threaded adjuster at the top, then the spring, the piston and the brass valve body with its flange
Adjuster, spring, piston, body. The brass is noticeably brighter after the acid bath.
The brass over-pressure valve body on a dark hob with a long chrome 5 mm hex key inserted into the adjuster
Counting turns on the way out. Fifteen.

Reassembling the boiler

On 22 July the direction changed: from that evening on, things went together instead of apart. The day before I had marked up the lubrication plan from the exploded drawing with three colours, green for silicone grease, blue for copper paste, everything else dry, and it lay on the workbench as the building instruction.

A white tube of Fermit Glissa silicone grease on a wooden table next to the cleaned brass over-pressure valve, the solenoid valve body and four small red flange gaskets
Cleaned valve bodies, new red flange gaskets, and the food-grade silicone grease that goes onto every seal.

New gaskets and O-rings from the set, including the big red boiler O-ring and the red flange gaskets on OPV and solenoid, treated wafer-thin with food-grade silicone grease on their flanks. Copper paste on every screw thread. Every screw on the machine, not only the four in the boiler, replaced with a new stainless one. Tightened crosswise and by feel: it is an aluminium thread, and copper paste lubricates, so less torque is needed than the old screws had suffered.

The brew group got a new shower screen and a new group gasket.

With the plan on the workbench, the reassembly was pleasantly unexciting, which is the best thing you can say about a reassembly.

Wiring, and a bracket that came loose

The end of July was maintenance: a second polishing pass after baking, which made the mirror gloss final, and contact spray on every spade and switch contact in preparation for the wiring.

The finished housing standing on a brown blanket: the stainless outside polished to a mirror that reflects a wicker chair, the inside matt aluminium silver, a tube of Autosol metal polish lying in front
After the second pass with metal polish: mirror outside, matt silver inside.

On 1 August the wiring went in, cable by cable, label by label. Earth connected first.

The same day a late consequence of the oven showed up. Not at the bracket I had glued in and worried about; that one still holds. The other, factory-glued bracket on the opposite side had let go, days after the bake. Re-glued with the same epoxy, and no repeat to fear: in operation the frame only reaches 40 to 80 °C.

Looking down into the housing during reassembly: boiler, brass steam valve with its black knob and the red Ulka pump back in place, the loom being reconnected with tape labels reading PU2, P1, TS2 and U1/4, the yellow-green earth wire routed to the frame
Boiler and pump back in, wiring by label.

Lesson: after thermal stress, check every bonded joint, not just the one you worried about.

Water first, then heat

On 29 August the machine stood there again, complete. Boiler, valves, brew group, wiring, housing. Nearly seven weeks after the purchase, and the reflex was to switch it on and make coffee immediately. That is exactly where the trap is.

Top-down view into the fully rewired housing: the brass steam valve, the boiler with all labelled cables connected, the four-way switch block at the bottom, the grinder blurred in the background
Wiring complete, every label matched. Not switched on yet.

After a complete teardown the boiler is empty, and on a Classic the element heats as soon as the main switch is on. An empty boiler plus a live element costs you the element, or at least the thermal fuse. The original manual from 2004 says it in one sentence: filling the boiler with cold water makes the pump operational. So I read the manual again instead of improvising, and wrote myself a checklist.

The full commissioning routine, in the order I ran it:

  1. De-energised pre-check: every connection against the labels, earth continuity to the housing.
  2. Fill the boiler through the pump, cold.
  3. Air-bubble procedure through the steam wand if the pump does not prime by itself.
  4. Cold leak check with the housing open: pump running, every fitting watched.
  5. Flush two to three tank fillings before the first coffee.
  6. Hot pressure test with the blind filter.
  7. Re-check the boiler screws once the machine is cold again.
  8. Only then, the first shot.

The first shot

On 2 September, four days after the reassembly and after the routine above, the first test extraction ran. A steady, continuous stream into the cup, no stuttering, no dropout. The first shot of the project.

The first extraction, four and a half seconds of it.

For nearly seven weeks this was a heap of individual parts on a table. Boiler descaled, verdigris dissolved, housing painted and baked at 220 °C, every cable labelled. And then coffee simply runs out, as if nothing had ever happened.

If you are planning something similar, the calendar says little, because on most days of those weeks nothing happened at all. What counts is the effort. I did not keep a time sheet, but going by the timestamps of my photos the restoration took around 50 hours, more than half of them in the one week in July between the teardown and the reassembled boiler. The single biggest item was the day with the seized boiler screws and the polishing.

Epilogue: a new pump and 8.5 bar

Two weeks later I swapped the pump anyway, not because the old Ulka EP5 had failed but because the EX5 has a brass outlet instead of a plastic one. Electrically and hydraulically the two are identical: 48 W, 230 V, a 1/8 inch outlet thread, a 6 mm inlet barb. The swap itself takes twenty minutes. The work was the question of how the one elbow fitting between pump and boiler seals.

The parts plan shows an O-ring there, but inside the new pump's outlet bore sits the check valve with its orange plastic cage, so there is no seat for an O-ring or a flat washer. The answer was two to three wraps of PTFE tape, wound in the screwing direction, with the first turns left bare so nothing can fray off into the pressure side.

That also explains why I found no seal of any kind in the old pump. Its soft plastic outlet gives way a little under the brass elbow and seals itself. A brass outlet cannot do that. Plastic forgives, brass does not, and that holds for every swap from an EP5 to an EX5.

A parts plan shows a revision, not your machine: the drawing is from 2012, the machine from 2004. In the end the part in your hand wins against any drawing.

One more part was swapped in the same round: the shower holder, the perforated plate that sits behind the shower screen and spreads the water across the shower screen. The original is aluminium and was worn out, its coffee side covered in twenty years of baked-on residue. The replacement is the same plate in brass: the aluminium original is no longer available from my parts supplier, and brass matches the material of the brew group.

The old aluminium shower holder plate on a wooden table, coffee side up: a round disc with three holes, covered in a black and brown crust of old coffee
The old aluminium shower holder, coffee side up.

The evening test run was dry around the fitting. And the portafilter gauge showed 8.5 bar, in the ideal window around 9, without any readjustment. Fifteen turns out, fifteen turns in. The one number I wrote down during the teardown paid off in full.

Close-up of the dial of a portafilter pressure gauge, the needle resting between 8 and 9 bar
8.5 bar on the portafilter gauge, without any readjustment.

What comes next

Mechanically the machine is done: sealed, descaled, rust-free, polished, and running at the right pressure. And the part that matters most: the espresso already tastes good. What the machine does not do yet is make the same espresso twice in a row, because a 2004 bimetal thermostat swings several degrees around its set point and the only way to hit a temperature is the old surfing trick with the steam switch.

Part 2 is the GaggiMate: an ESP32 controller with a PID loop, a proper temperature sensor and a display, replacing the thermostats that this restoration deliberately left alone. The electrical checks from 14 July were the first step of that story, they just did not know it yet.

Working with Claude

One more thing belongs in an honest account: I did not do this alone. Claude, Anthropic's AI assistant, was part of the project from the first evening, and it has changed the way I work on something like this.

What it did, concretely: it boiled three long restoration videos down into one ordered to-do list for my machine, translated the US products used in them into things I can buy in Austria, split the shopping list by shop, and kept the project notes up to date after every session. It also answered the many small questions that come up with a part in your hand: how much heat a two-part epoxy survives, at what temperature the paint cures, how a pump fitting seals when the drawing and the part disagree. That saved a lot of searching through forums and manuals.

It is an assistant, not an authority. The solenoid valve is the example: the confident audio analysis that called the valve healthy came from the same assistant, and it was wrong. Measuring, a second look and your own ears still count.

Sources and further reading

None of this is original knowledge. These are the videos, threads and documents this project leaned on, roughly in the order they were needed.

Restoration videos

Diagnosis: heating element, insulation, solenoid

Teardown and official documents

Parts catalogues with drawings

For Part 2