Originally Web posted Wednesday, 27 May 2009.
Content last modified Monday, 14 June 2010 .
External links last verified Monday, 14 June 2010.

Repair Notes for the Breville 800ESXL Espresso Machine

Especially electrical repairs

There are many WWW pages which discuss the Breville 800ESXL and/or other espresso machines. This one focuses on failures and repairs, especially electrical. The build quality of the unit in general is very good, and entirely befitting a high-quality appliance in its category. Unfortunately, the electrical circuit board seems to be an exception: the design appears sound… the implementation not so much. Our sample had vastly bad solder joints on every joint on the main PCB, conductive glue, and an overheated resistor (R4) on its way to failure. What originally got me into repairing this out-of-warranty unit was the apparently well-known failure of the pump running spontaneously when the machine was Off. Hopefully something here will be of use to you.

I expect most of you know well what you’re getting into and are well aware of everything mentioned in the following warning, yet since that may not apply to everyone who passes through….

Alert exclamation point in triangle IMPORTANT:This information is provided AS-IS, for informational purposes only, with no warranty whatsoever. Neither Sonic Purity nor anyone at Siber-Sonic.com can control your ability to successfully and safely utilize this information, and we accept no responsibility for anyone’s actions (beyond our own) related to the content of this website. This equipment utilizes the A.C. power line, which is dangerous. Do not attempt any of these electrical repairs if you have any doubt about your ability to work safely with household powerline-operated devices. It is your responsibility to know and understand common safety procedures, especially those involving electricity at potentially dangerous power levels!

Disassembly

The 800ESXL may not be the easiest device to get into, yet it is not too bad when one knows the tricks. My technique deviates slightly from some notes found online, yet i find it works out well for me. Naturally, the unit should be unplugged and have all its trays, water tank, and whatnot removed before commencing.

Lower Rear Panel

This is the step not usually found elsewhere: while not essential, i found it makes removing and replacing the side panel easier (though still not truly easy).

Remove the two screws on the bottom rear and pull the panel down just enough to clear the two positioning pegs not far from the two screws just removed:

edge of rear panel: two screws, two pegs

The top of this panel is held in place by two offset tabs: push the panel up a bit, do some wiggling, and experiment with the rear water loading tray in various positions. Eventually the panel will come free.

Left Interior Side Panel

This needs to come off to access one of the screws holding the main circuit board protective box. Remove the 4 visible screws holding the left (when viewed from the front of the machine) interior plastic side panel in place. The panel will be happy to come off at the bottom, yet will hang at the top. The hangup points are the two mounting studs for the top screws plus the interlocked plastic piece above. If one pretends that interlocking area is a hinge and does some judicious wiggling, it is possible (though not easy) to get this piece out and back in unbroken. Expect scratches. If this bothers you, you’re on your own loosening the left exterior metal chassis part to discover if that makes this process any easier.

hinge position of side panel, showing scuffs
The green arrows show the part of the cover panel and its mating stud, clearly out of alignment as shown here.

Top Cover

This one’s a very tight fit: the sides of the unit press inward onto the top cover piece.

Look at the inside top of the unit, where the water comes out. Locate two gray cones, one on each side. Each has a #2 Philips head screw about 6 cm from the visible cone entrance: remove these, both the screws and the cones.

one cone each side of filter holder

Restore the unit to normal upright orientation if necessary. Besides the screws, the top cover is held in place by beefy metal locking tabs along each side:

two beefy locking tabs

Open the rear water loading tray and push (actually, whack) the top cover horizontally towards the front of the unit a minimum of 7 mm (1 cm should be plenty). The cover should now lift off, restrained only by the grounding wire, which will need to be unscrewed to allow complete removal.

Circuit Board Box

  1. Remove the two screws, one above and one below, holding the box to the chassis left side.
  2. Carefully document the wiring. No picture here because Breville did not see fit to use a sufficiently diverse array of colors for a proper color code (likely would drive up the price of these: high-temperature wire insulation), so you’ll need to make your own, or apply paper labels or other markings (and remove them once the work is complete, before reassembling and using the unit, unless they can withstand the normal operating temperature safely, for an indefinitely long time).
  3. Once marked, unplug the connectors as needed.
  4. For greater freedom of access, unscrew the two screws holding the water tank LED to the chassis.

There is one remaining two-wire cable which does not unplug and is not easily freed, other than perhaps by cutting one or more wire ties. This cable goes to the microswitch (one of two) on the knob controlling the choice of water outlet (this switch is closed when the main water/filter output is selected). I chose to just deal with it, as with everything else disconnected there is sufficient freedom for the work i needed to do.


Failure and Repair: Pump Motor Runs When Unit is Off

This is a fun one… you’re sitting there at home, possibly reading something in your seat on the Comfy Couch as i was, and all of a sudden you hear a familiar buzz. Then it stops (maybe… maybe not). Later, it comes back. You investigate, find it is coming from the kitchen, and indeed from the Breville 800ESXL. But… the front panel of the Breville is dark: it is Off. Like many modern electrical/electronic products, the 800ESXL has a “soft” (logic controlling) power switch rather than the “hard” (removes all electricity from the device) power switches of decades past, so this failure is all too possible! (I feel very fortunate to have been at home, rather than having no one home, possibly on vacation, and the pump grinding away for hours, days, or weeks… probably cycling on and off thanks to its thermal breaker.)

By now it is (might be) running continuously, so you quickly unplug it and get to work, starting with the disassembly described above.

Let’s have a look at the schematic:
handmade 800ESXL schematic

Looks like the possible failure modes are:

By all means, start with the obvious: anything visually “wrong”. Well before i threw away a day of my life drawing out the schematic for the unit[1], i saw some problems, and repaired them. They’re discussed further below, as they turned out to be unrelated to this failure, though still worth the time to address.

After some false hopes in early 2009, extensive testing and research in Fall 2009 revealed that, without question, the first option above was the failure mode for the unit here (and probably nearly all 800ESXL units with this symptom): the SCR (Q1) was conducting without being instructed to do so. (Could this have anything to do with the 2P4M being made by Jilai, whom i’ve never heard of, instead of NEC?)


Troubleshooting Conclusions, Analysis, Research, and Findings

Not interested? Skip ahead to the actual Repair.

Troubleshooting

After verifying that, yes indeed, R7 was intact, the correct value, and working, the next troubleshooting step was looking at the sillyscope waveform of the SCR’s gate-to-cathode junction (across R7) with the unit failing and working:

During failure, the 60 Hz half wave humps drop from their approximately 1V peak to (or very close to) the 0V baseline. During normal operation, the drop only goes to 0.6V, or there may be almost no visible humps nor drop at all (this latter condition is more likely with a good SCR in place). Clearly, the failure was happening close to this observation point.

Next, i placed a voltmeter (set to D.C.) across R6, to effectively measure the current into (or, if failing, out of) the SCR gate:

Here came the smoking gun: During normal operation pump running conditions, current flow was from the IC into the gate of Q1. During failure, the current flow was very clearly from the gate of Q1 into pin 8 of the IC, which is not ever supposed to normally happen!

To further nail down the bad SCR diagnosis as being definitive, i disconnected one end of R6, so that Q1 was entirely isolated from the IC: the IC had no way to control Q1. In this condition, Q1 should remain forever Off. The Breville failed in exactly the same way as when R6 was attached, totally eliminating everything except Q1 and R7. Yet R7 was already found to be just fine, so that left only the NEC 2P4M SCR, Q1.

Analysis and Research

At this point, many people might go ahead and replace Q1 and be done with it (or so they think). I wanted to know Why: Why did Q1 fail? This led me into doing a lot of research on thyristors (especially SCRs) and their failure modes.

I learned quickly that thyristors turning themselves On spontaneously is a fairly common problem. To make a very long story very short, there are many causes for this, and which cures to implement depend upon the nature of the cause(s) in a particular circuit.

Lower the Gate-to-Cathode Resistance

Most SCRs have 1kΩ of resistance or less between their gate and cathode, primarily to minimize unwanted turn-ons due to circumstances such as the voltage across them rising too quickly (dV/dt turn-on). The Breville engineers of necessity chose a “sensitive gate” SCR, which can be driven directly by the low power output of a microprocessor IC pin. My calculations verified that 1kΩ would be too low to reliably work this circuit. Yet 10kΩ comes out as excessively high. The literature makes clear that a lower gate to cathode impedance leads to less chance of (unwanted) dV/dt turn-ons.

The 2P4M and most other sensitive gate SCRs with similar ratings require a minimum of 0.8VDC gate voltage to turn On into conduction mode, at at least 200µA gate current. The Elan microprocessor IC nominally outputs 5VDC, which drops to about 4.2VDC @ 5mA, which is about as much current as one ought to draw from this IC (allowing for a safety margin). The existing circuit supplies roughly 1 mA of current to Q1, at about 3.4V. Experimenting with different resistor values for R6 and R7 led me to conclude that a safe alteration to lessen the chance of Q1 spontaneously turning On would be leaving R6 at 4.7kΩ and cutting R7 approximately in half, to 4.7kΩ. The current into Q1 would remain roughly the same (and well above the 200µA minimum) and the voltage would be about 2.5V, still well above the 0.8V worst-case minimum turn-on voltage. I have no idea why the Breville engineers did not choose this value (or something close) for R7.

Further Lower the Gate-to-Cathode Impedance with a Capacitor

Lowering the gate resistance is good; adding some capacitance to slightly slow down the turn-on is better. The Breville engineers may have had some thoughts along these lines due to their inclusion of holes and traces for the un-stuffed C14 capacitor. Yet from my reading, a capacitor there would be vastly less effective at minimizing dV/dt activations than one directly across the gate-cathode junction (e.g. parallel with R7).

First, i had to be sure that any slower turn-on from added capacitance would be a magnitude or more less than the pulse width used by Breville to pulse the pump in some modes. The measured pulse width on the unit here came out to 17.5 mSec. By this criterion, 1 mSec or lower should be fine. Yet ON Semiconductor publication HBD855 recommends the gate turn-on current have a pulse rise time of less than one microsecond (µsec) and a pulse width greater than 10 µsec. No problem with the width, yet the rise time goal would need to be lowered to 1 µsec. or below. 1 µsec./4.7kΩ≈210pF, so i chose a 200pF capacitor to add in parallel across R7.

Add a Snubber

Another interesting design choice of the Breville design team was omitting a snubber network across the anode to cathode junction of Q1. Consisting of a series resistance and capacitance, the snubber component values are selected to counteract the effects of an inductive load, such as the Ulka pump used in the 800ESXL. Snubbers can further decrease dV/dt unwanted turn-on, and also somewhat diminish the effects of powerline surge pulses that would otherwise stress Q1.

While i do have an EE degree, i lack experience designing snubber networks, and for many years (actually, decades) have been curious at how component values for them have been chosen. What i could find online led to 3 basic categories of approaches:

I chose the middle method. Making things more exciting is the fact that the Ulka pump unit contains an internal rectifier diode, so even though it is marked A.C., it operates with half-wave D.C. power. This explains why Breville is using a single SCR to control the pump. It also makes it more difficult to directly measure the inductance (say, with my nifty early 20th. century General Radio impedance bridge). Trying to think of a way to bias On the diode and simultaneously measure the inductance made my head spin, so i went for an indirect method: measured the current draw at 120V and did the math.

I measured a reactance, XL, of 120V/0.57A(AC)=211Ω. With the equation XL=2πfL=377L (for 60Hz), L=211/377=0.56H=560mH. Using equations found on or near p. 163 of the aforementioned ON Semiconductor HBD855 document, i somehow (my notes are incomplete) concluded that ω0=29400. C=1/ω02L≈2nF (known to old-timey people as .002µF, or even .002mfd). I chose a damping factor ρ=0.6, so Rs=2ρ√(L/C)=1.2√(.56/2.07x10-9)=19.7kΩ≈20kΩ. And thus came about the values i’m using for the added-on snubber network.

Findings

Even with all these added-on measures to reduce spontaneous turn-on, the existing SCR continued to fail. Why would this be?

From my extensive reading, apparently power spikes exceeding the SCR rating can degrade the SCR hold-off voltage (voltage across the anode-cathode junction which the SCR can effectively block) over time. In other words, as power spikes continue to whack the SCR, it gradually takes lower and lower spikes to actually turn On the SCR via the overvoltage instead of the gate lead.

In theory, the MOV V1 ought to be eating powerline spikes before they get to Q1. Yet was this happening? The NEC 2P4M is rated at holding off 400V repetitive voltage peaks, and 500V non-repetitive peaks. The TVR 07471 MOV is rated to start whacking transients nominally around 470V, with an 8/20µsec. maximum clamping voltage rating of 775V. Hmmm… anyone else notice a problem here? Seems to me Breville either needed to specify the 2P6M 600V SCR, or use a lower voltage MOV in their North American 120V units (MOVs with a lower clamp voltage than the existing device would likely be unsuitable for worldwide power sources up to 240V nominal, and actual voltages sometimes higher than that). This mismatch in abilities is likely why we see so many apparent SCR failures. Here i am guessing that the many intermittent pump spontaneous turn-on events i’ve read about in researching this issue with the unit here are also caused by diminished Q1 holdoff abilities, to the point where normal power line transients exceed the reduced hold-off threshold and activate the pump for a moment or quite awhile.


Repair

Change the SCR: The Minimum Required Fix

At a minimum, SCR Q1 needs to be replaced. Especially if no circuit modifications are made, seek out the highest voltage sensitive gate SCR that you can find. I used an ON Semiconductor C106M, rated at 4A 600V. While the case style is different, this device is a solid improvement over the stock 2P4M 2A 400V device. I’m banking on the fact that no added heatsink will be needed, despite the smaller exposed metal area of the TO-225AA case of the C106 family vs. the 2P4M (if this proves to be a bad assumption and the replacement SCR fails in the unit here, i’ll update this paragraph).

Drop the MOV Clamp Voltage (if your circumstances allow)

For those of us living where there is 120V or 100V nominal A.C. line voltage, the next mod is changing MOV V1 to a more suitable choice for our lower line voltage. I happen to have a bag of decades-old VZC130 devices from Thomson-CSF, with a 130VAC (200V clamp) nominal rating. Something along these lines, 130 to 140 VAC nominal and able to handle at least 30 Joules and physically fit should provide a nice improvement. Those living in 220V or higher nominal A.C. voltage areas should leave the existing MOV in place, or if there is any concern that it may have worn out (which does happen over time as a MOV eats voltage spikes), replace with a device with the same or very close nominal voltage rating.

Lower the Gate Impedance

Even with a nifty new SCR and perhaps a lower threshold MOV, why let wild dV/dt pulses that may slip through make the pump run? Change R7 from 10kΩ to 4.7kΩ (still 1/4W) and add about 200pF of capacitance in parallel. Barring catastrophic failure, the voltage here is not going to exceed 5V, so it does not take a large capacitor to get this job done. I used a low voltage (probably 25V) disc capacitor i happened to have. I recommend doing both of these changes, yet if you insist on only doing one, change R7.

Add a Snubber

To further eat any transient pulses that make their way to the SCR, add a series 2nF and 20kΩ snubber network across the SCR (anode to cathode). There should be little enough energy that 1/4 watt should be OK (that’s what i used). There could be a significantly high transient voltage across this network, so i’d go for at least a 500V capacitor. I happened to have a 1nF 1kV disc capacitor that was also small, so it went in the unit here.

All Together, With Feeling

Here’s a revised schematic fragment, showing the changes (in red, where available):
And a photograph, showing the added/changed components:

If, like me and my Love (who is the actual coffee drinker and owner of the Breville), you’d rather spend your time making and drinking nice beverages than tinkering inside your espresso machine, i suggest making all the mods above (well, all that you can, depending upon your nominal line voltage). It might be overkill, yet with the continually degrading quality of powerline power in many parts of the world (by which i mean more frequent and/or higher amplitude spikes), it may be necessary to keep the new SCR happy and the pump running only when explicitly commanded to run.


Failure and Repair: No Power: Dead

Though not a problem (so far) on this particular unit, there have been quite a few reports of dead 800ESXLs: no signs of power. Several reports mention zener diode ZD6 overheating or outright failing. This is the front-line primary voltage regulation device for the machine. For reference, here are characteristics of the two main power supply voltages, which i refer to as V++ and V+, on our unit when it is working properly:

Voltage Ripple
V++ 28 VDC 1.8 VACp-p
V+ 5 VDC <30 mVACp-p
Ripple waveforms are line frequency (60 Hz here), not doubled, due to half-wave rectification.

Note that our unit uses a 1N5935B 27V 3W 5% zener diode for ZD6. Others have reported ZD6 being a 1N4749A 24V 1W 5% zener diode. The 1N5935B appears to be a production improvement (3W vs. 1W), and i would recommend it over the 1N4749A for replacement. The exact voltage is not critical in this part of the circuit, as it only drives the relay and tank illumination LED. Not sure why the Breville engineers decided to go with 27V, yet i trust them. Our ZD6 has 13 mA flowing through it, for a power dissipation of .36 W. One would think a 1W zener would be OK in this application, yet 3W definitely provides a larger margin of safety, and in this series of diodes, in the same case size.

Some people who posted on other sites (e.g. FixYa.com) seemed to confuse one person’s report of a good ZD6 having .46V across it with the actual zener voltage. That person seems to have been discussing the normal forward voltage drop across ZD6 (out of the circuit, i assume) using the diode test mode of a typical multimeter. The best test is really measuring the voltage across ZD6 in-circuit, ideally while varying the incoming voltage to the machine with something such as a variable autotransformer (Variac®, Powerstat®, etc.): if the voltage stays nearly constant (changes of 10s to low 100s of millivolts OK) with varying input line voltage and remains within the specification for the particular diode (25.6 to 28.4V for the 1N5935B, and probably 22.8 to 25.2V for the 1N4749A), the diode is OK. As usual, a shorted ZD6 would have nearly no voltage across it, while an open ZD 6 would have far, far over 27V across it. If one wants to perform the usual diode test, expect the usual silicon diode result: .4 to .7V (.6 on my Fluke 77 with our particular ZD6) forward-biased, and open circuit (infinite) reverse-biased.

Finding a Replacement ZD6

I’ve received several emails wondering where to get a 1N5935B in small quantities. Apparently, this is not easy, since this is apparently not a popular part. Fortunately, the circuit is not so critical that this exact part (nor an exact substitute) is required.

We already know that the Breville engineers were not concerned with changing the voltage from 24V to 27V, so any zener voltage in this range is OK. The usual safety factor is doubling, so with a power dissipation around .36W, doubled to .72W, in theory any diode able to dissipate 1W or greater should be sufficient. It appears that Breville moved from 1W to 3W in later production, so preferably a 3W or greater power dissipation rating will apply to the replacement diode… yet 2W may very well live a long, productive life. 1W and 5W are the standard zener diode wattages, and most easily found diodes will have one of those two ratings. 5W is just fine, other than being physically larger, especially in terms of the lead wires. It may be necessary to drill the holes in the PCB to accept the wider lead diameter of 5W devices. Both the diodes used by Breville have tolerances of 5%, so we should stick with that (or use a tighter tolerance… 4% down to 1%).

So, in summary, we need a zener diode with the following characteristics:

Now, go to your favorite electronic parts vendor. I like Digi-Key, so for this example i searched on their site, plugging in the parameters above (details omitted… it will vary with different companies’ websites). On 14 June 2010 around 6 PM PDT, limiting the results to items in stock, i got 13 results. Three of these had minimum order quantities much greater than one, so really 10 usable results. I then scanned the results for power rating, and found one 3W diode (i’ll provide direct links to the relevant Digi-Key page until i discover the links next break):

This is the direct relative of the 1N5935B in the 800ESXL here. It should work very well—every bit as well as the 1N5935B. It is quite possible that Breville used the 27V diode because they could get it in quantity for a lower price… these things are huge consideration for “consumer” goods, to keep them affordably priced.

My next choice would be one of the 5W options:

Note that the actual suffix varies: some of these are BG, some are BRLG. I’m so unconcerned with the details of these differences that i did not even look them up. The primary electrical specs (including some not retyped here) match exactly between these types. In terms of which voltage to pick, i might go with what was cheapest or flip a coin: it just doesn’t matter… precise voltage is not a requirement in this part of the circuit. As opposed to ZD1, where precision matters a lot.

My last choice would be the 2W options:

They’re my last choice because they’re under 3W, and i’d prefer the larger margin of safety, given that Breville decided to go with 3W… or did they do that because at that moment in time 3W zeners were cheaper and/or more readily available than 2W zeners? If i were concerned about problems drilling the PCB holes bigger, then my preferences would flip and i’d take the 2W before the 5W (yet would still prefer the 3W with its higher wattage rating and still smaller lead diameter).

The examples above are just that: examples of other choices which will work. Don’t be afraid of wholly different part numbers, as long as the parameters are within the range in the summary above. Use any electronic parts source you prefer/have available.


Failure and Repair: Badly Leaking Water

Kindly contributed by Erwin Niehaus

Erwin discovered that sometimes one or more of the corner screws holding the top casting of the boiler assembly (a.k.a. thermal block, heating unit) may have come loose. In his case, the front two (one in each front corner) were loose. Water had been leaking out of the left and right sides of the assembly until he tightened these two screws. Once tightened, the leaking stopped… Fixed! Might as well check all 4 corner screws.


Preventive[2] Repair: Remove Unintentionally Conductive Glue

Unintentionally conductive glue is a whole story unto itself. I really thought that everyone had wised up to this stuff a decade or so ago and ceased using it… apparently not. As discussed at length in my article linked from that last sentence, it is normal and necessary for manufacturers to use an adhesive to hold big parts in place during wave soldering. This adhesive usually serves no purpose afterwards… it just sits there benignly. Unfortunately some adhesive formulations have proven to become chemically unstable: they “break down” under heat and become partially conductive. If they are in contact with circuit wiring, they create phantom electronic components that can really mess up a circuit—sometimes.

Our 800ESXL had/has some of this glue, and it started to become conductive, partially connecting the non-powerline end of C1 to the anodes of D1 and D6 (circuit common, e.g. line hot), and the cathode of D2 (V++). Now, in this particular case, the conductive glue probably did not and might not ever have made a difference, since this is a high-current low-impedance area of circuitry: not that sensitive. If conductive glue were connecting more sensitive areas of circuitry, such as any pins of the microprocessor IC or the switches connected to it, things could be more exciting. The Breville engineers seem to have done a good job keeping this adhesive away from sensitive areas. Yet, given what i have seen, as soon as i saw it (and well before i had drawn out the schematic to see that it was in a low-sensitivity part of the circuit), i removed it, and i recommend anyone already working on their circuit boards do the same. Probably not worth a special trip into a working unit, yet if there is any other reason to be in there, take it off and make it a non-issue. Only the brown, crusty parts need to be removed (mechanically followed by your favorite solvent)… the light tan/gold soft, springy parts may remain, which is good because they often are still happily acting as a strong adhesive and do not willingly come off.


Preventive Repair: Replace Overheated Parts

It was visually obvious by the peeling paint and discoloration that resistor R4 (47kΩ 1/2W) was running too hot in our particular 800ESXL. Though it had not yet failed, i replaced it with a 1 watt resistor, to hopefully avoid a future repair.


Preventive Repair: Resolder Questionable Solder Joints

What initially appeared to have been the source of the “Pump Motor Runs When Unit is Off” problem seemed to have been the totally lousy solder joints on every joint on this particular circuit board.

Probing with my multimeter, i found virtually none of the joints showed continuity across that same joint. Now, it may be that the factory applied a protective insulating coating (there was something going on back there), yet still each joint was a uniform gray, indicative of poor wave soldering during manufacture.

The (tedious) solution?:
  1. Clean the mystery stuff off the back of the board.
  2. Remove the existing solder (maybe… it did not play nice with my solder. I have old lead-based solder and this device is new enough to maybe have RoHS lead-free solder).
  3. Resolder every joint with good, fresh solder.
  4. Carefully reconnect the wiring and plug in the 800ESXL, still disassembled. Test all functions for correct normal operation before reassembling.
grey, unsoldered, and shiny joints

The picture above shows a lot of original grey joints, some partially unsoldered joints in the top center, and some freshly resoldered shiny joints in the top left.

Whether or not to go to this effort is up to you. I have no clear proof that there was a problem, yet it sure did not look good, so i resoldered mine.


Have any Breville 800ESXL repair tips? Send ’em in! I’ll endeavor to add the seemingly good ones to this page, at my usual glacial pace. (Please let me know if you want to be credited or remain anonymous. Thanks!)


[1] And another couple of days redoing it as a digital diagram and all the other things related to setting up this web page. You’re welcome… if you haven’t already (and many of you have… Thanks!), hope you’ll return the favor to all of us repair types in the future.

[2] Long not sure of the difference, if any, i did a couple of minutes of research, and found an interesting article claiming that “preventive” is the preferred form.


Sonic's signatureThe Sonically Pure Pages

This Siber-Sonically Pure Page is Let iCab Smile, Valid CSS!, and Valid HTML 4.01! Transitional compliant.