DIY BMW 320i E46 Cooling System > Thermostat, Temp Sensors, Coolant Hoses | 2019 Update Pt. 2
Welcome back fellow Steemians, DIY lovers and anyone else who's interested in the ins and outs of daily driving a 20 year old BMW or any other German car from that era.
Today's post is part 2 of my 2019 DIY blog which includes all the work I've done last year on my '99 E46 which is equipped with the M52TUB20 engine mated to a 5 speed manual. While this engine in general is one of the most bullet proof engines ever built it suffers from a common flaw of BMWs of this era which is the cooling system which is made up mostly of plastic.
While there are upsides to that design it generally sucks as plastic tends to lose its flexibility with age (expansion tank), starts to crack or leak (coolant hose connectors) and is very susceptible to sudden temperature changes once things do start to break which is about the only thing this engine is sensitive too - especially the head gasket does not like hot coolant temps.
Initial Symptoms & Fixes
\
See that temp needle on the right perfectly centered? That is the coolant temp indicator on my E46 BMW. Thing to know is that starting with the E36 generation, as most other manufacturers, BMW moved to an electronically controlled gauge meaning it is centered as soon as the engine coolant reaches a temperature of 75C degrees and stays centered up until a temperature of 115C. The standard once the engine is warmed up is around 93C degrees. There is a way to have the gauge cluster display the exact temperature:
- move key into position 1
- press and hold the mileage reset button until the display switches the mileage to "L_on/ff"
- release the button and press it repeatedly to cycle through the menu until it displays "19" and wait
- press the button again repeatedly until it displays "7" and wait
coolant temperature readout appears
The whole episode kicked off in late July when the temp needle suddenly moved off center toward the hot zone and kept creeping up at which point I did the most important thing in such a situation:
Before you do anything else turn off the AC, ramp the heater up to max (32C), ramp the ventilation up to max and set the dashboard vents to max heat (the 3 red dots). This way you get an immediate release of excess hot air out of the system.
The second thing is to shut the engine off and stop driving. If this happens to you on the highway it most likely will be too late. Reason being is that the air rushing through the radiator at speed (100km/h+) has already cooled your overheating coolant and once you slow down and take that away it will only overheat further. Additionally, in summer you can use the heater trick but in winter times again, it might be too late.
Luckily I was in the city in summer and quickly managed to reduce the temp and stop the car at which point I read out the temp and saw this:
Now anything under 115-120 degrees for short duration will not kill the engine but given the sensitivity of the head gasket and the general strain these temps put on the system and the engine itself you need to resolve this issue as soon as possible.
After the engine cooled down somewhat I did a quick OBD2 diagnosis which resulted in nothing at all, no error codes. Mechanical issue then.
This leaves:
- The thermostat
- A temp sensor which provides a faulty value to the system
- Air in the system resulting in a lack of coolant
- A leakage in the system
Before replacing these parts it is well advised to check that the engine is actually running hot and your gauge cluster is not just presenting you with a faulty readout. In my case I felt it was running hot when I turned the heater on and the cabin reached around 40C degrees in under 3 minutes. In addition check the coolant hoses at the front of the engine - watch out as they'll most likely be super hot.
There is the upper hose in front of the engine leading to the radiator/expansion tank on the driver's side:
And the lower hose leading from the thermostat to the lower passenger side of the radiator, seen here in the upper center part:
If the lower one is cold and the upper one is hot it is usually an indication that the thermostat does not open correctly once it reaches a certain temperature leading to a highly pressurized closed cooling system which raises temps and inadequately cools the engine. In that case thermostat needs to be replaced. This was the case for me so I ordered a new thermostat.
Thermostat Replacement
\
After a few more fear inducing hot coolant temp episodes I took it upon myself to drive to the shop which can only be done via highway. Unfortunately, before I was even off the highway even with a full blown heater setting the engine temps crept towards 115C degrees so I stopped for a while and let some air out of the system by opening the coolant cap. Eventually I made it to the shop praying that the engine hadn't run too hot but I couldn't find any related damage so started to remove the old thermostat by draining the coolant (after it had cooled down somewhat):
Good news is that it's super clear and bluish so no oil or other residue in the system (the black spots were in the tub before I drained the coolant).
Next we need to remove the electric auxiliary fan shroud to access the thermostat which you can see right behind it:
Now remove the cable connector by pressing the metal clamp and pulling it off:
Ready for some fun? The coolant hoses are usually well stuck to the thermostat housing so there's nothing next to carefully violently wiggling them off...
This bottom on was especially painful and took a good 20 minutes to get off.
The thermostat itself is held by three screws, two of which you can see here:
And it's out:
There is usually no way to check for correct function so away it goes to recycling heaven. Before fitting the new one make sure to scrub the surface around the coolant openings so it seals tight:
Note the good condition of the material in the cylinder head and the clear and bluish tint of the remaining coolant.
I did replace the three screws and the sealing as well and reinstalled the thermostat.
My belt had not suffered any exposure to the coolant so I reused it and reconnected the coolant hoses as well as the cable.
In order to refill and bleed the system simply open the bleed screw on top of the expansion tank (top left in the pic below) and turn on the ignition and set the heater to max temp (32C) on lowest fan setting so the heater valve opens. Then fill it up until it flows over in the expansion tank:
Close the bleed screw and coolant tank cap and fire it up:
Check for any leaks and let the engine idle for a while. At this point it's a good occasion to open up that coolant temp menu again and check for temps. If all is good congratulate yourself to a job well done and enjoy your day.
Well, that escalated quick
In my case, as usual, this is what greeted me the next day:
I bled the system again and topped it up so the low coolant warning light went away (sensor is working:)) but then later in the day I see this as I kept monitoring the temps:
That same day I got another low coolant warning. So replacing the thermostat didn't do the trick and even worse now I'm losing coolant with apparently no air in the system. Contrary to that the coolant temp showed very rapid increases and decreases depending on engine load. Needless to say I was slightly desperate so it was time for a diagnosis.
- The thermostat was either broken, unlikely but not impossible, or didn't get the correct value from the temp sensor
- The temp sensor could be broken, I had replaced it before but it was 4 years and 100k km ago
- The system was definitely leaking somewhere
There is a way to test the sensor and electric fan by disconnecting the sensor cable while the engine is running. If the fan turns on upon removal the fan and sensor are working correctly. If it doesn't it is either the sensor or the fan. I bought both, sensor new and fan used but original BMW and tried again and voila, upon removal the fan went into a whisper silent rotation.
The large plug with the 4 thick wires is the fan connector, the tiny connector below is the temp sensor which sits in the lower coolant hose near the radiator.
I still had the coolant leak and temps were still all over the place. I also noticed that the lower hose was still cold while the upper one was hot even with the new sensor > the freaking thermostat was broken!
I ordered a new one this time from BEHR, the first was made by MAHLE, I later found out they're exactly the same - d'uh.
Before installing it I went out a final time to find the coolant leak as I always had a misty to downright wet bottom engine cover:
See the coolant spray on the hose? I've seen that before here:
Spray on the bottomside of the thermostat housing. I put the car on the lift and inspected the area around the waterpump which is conveniently covered by the pulley but I could still spot these drops of coolant on the crankshaft pulley:
Also noticed that the lower coolant hose' upper connector was wet which it definitely shouldn't be:
The Final Fix
Equipped with a brand spanking new Continental waterpump, a new original BMW lower coolant hose, another new Mahle/Behr thermostat and just to be sure a new original BMW expansion tank cap and 4L of G48 coolant I went to the shop.
The cap was a preventative measure as it seemed to be the original one and it actively regulates pressure in the cooling system so at a cost of 20 bucks I figured why not? I also got new screws and sealings for the waterpump and a new waterpump pulley plus another belt as this time the belt got some serious coolant spray.
I put this placeholder here because I was so mad at this point that I didn't manage to take any pictures of this repair and replaced everything in less than 2 hours.
Here's the new expansion tank cap:
New second thermostat and electric fan:
Following this repair the waterpump turned out to be in good order after almost 400.000km it was just its sealing that disintegrated over the years. I kept the pump and it shows that not all cooling system parts of old BMWs are bad!
After all was said and done I had no more leaks, no more temp swings and a perfectly working system once again.
To make sure I kept driving with the temp readout on at all times but it always settled at 93C degrees dead and didn't even show any variation no matter what the ambient temp or heater setting was.
Don't worry the airbag lamp will come back on, this is after I deleted the error codes. To be absolutely sure I did a real time readout using the handy 'carly' adapter:
And my phone:
Following this the entire cooling system has been replaced by now including radiator, expansion tank, hoses, etc.
General Module AKA 'Please steal me'
\
As if the cooling episode wasn't enough I walked out one day in late summer to find the car unlocked and with all windows and the sunroof fully opened.
Yeah...you gotta be f*ing kidding me.
When I tried to close and lock it the car wouldn't stay locked and instead unlocked itself right after I locked it.
After a quick diagnosis Dr. Error Code told me the GM5 module had a faulty resistance. Also the only other cause could have been the door lock assembly which I just replaced on the driver's side door a few months ago and they last around 20 years. Chances are pretty slim that the passenger or any other door lock would fail now given how little they're operated compared with the driver's door lock.
I reached out to my coding guru and he confirmed that it's 99% certain the General Module has to be replaced. The General Module or 'GM5' is the master of all central locking systems and has a specific order in which it locks the doors, if one door refuses to lock it stops the process. Since all my locks were working correctly I figured it must have been the module itself. Turns out that a number of these with Tyco relays tend to deteriorate to the point where the relay doesn't trigger and the signal is not sent to the door locks anymore. If this gets really bad it not only does not lock the doors but unlocks and opens everything.
Beautiful piece of junk! Instead of replacing these Tyco relays I opted for buying a number of these (3 in total for around 30-40 bucks each) and brought them all with my car and the faulty original GM to my coding guru. We quickly figured out 1 module was broken while the other two were in good order. I junked the broken one and my original and we coded the remaining two. This is one of those things you need a really old notebook with really old software for and it is beyond me but he says he can code any module from this generation to any car and I'll take his word for it. I installed one and kept the other as spare.
Installation is simple by removing the glove compartment and the passenger footwell cover you can locate a white plastic screw right at the firewall which holds a tray for various modules including the GM5 which you can simply pull down to remove it.
Cosmetics
\
Following all this grease, oil, coolant and electronic garbage we can move on to the beautiful side of life - shiny paint.
Take a walk around with me to the right rear door...
Yep, someone with a greyish plastic bumper decided it was high time to give us a little scrub. Just as likely I may have scraped someone's bumper. I never noticed anything until I saw this after washing the car.
With a microfibre towel and some soapy water it was all gone after 5 minutes and I can highly recommend treating stuff like this the easy way first as it might just be plastic/paint residue on top of your clearcoat without any lasting damage.
Here it is after polishing:
And with that my friends I'll leave you for today. We've run quite a bit over time but I hope you enjoyed reading this as much as I have putting it together. Let me know any questions/suggestions in the comments and steem on!
Below is a breakdown of all parts and some labor purchased in 2019 up until October 4th 2019. The total amounts to around 1800.00 € including shoptime which runs 9 € per hour and some tools I bought throughout the year. While this might seem high the total maintenance cost per km for this car is less than 10 cents.
You will notice some big ticket items such as the lock for the driver's side which failed after 20 years, almost 400.000kms and millions of operations so expensing 200 € once over the lifetime of the car for a lock that eventually failed seems perfectly fine.
Also there's 120 € for the General Module, the reason being I had to buy 3 of them to find 2 that weren't broken. I discarded the broken one I bought plus my old one and kept one coded module in reserve next to the one currently installed.
There's an additional 450 € for leather equipment parts, including the steering wheel, and diagnosis tools and apps which add to the experience and value of the car but ultimately aren't required to keep it running.
All in all the most exciting part is that we're running out of things that haven't failed yet. Sure, window regulators will always be a thing just like oil changes but at these super low costs of 20 € per regulator and 70 € for an oil change including shoptime the costs will gradually decline now that I've passed the 20 year mark and distance driven massively declined as well.
If you have any questions on the below leave them in the comments. I ordered most parts online or at the dealership, bought them used where feasible and new where required. Feel free to assume these are lowest attainable costs for these parts but I also only opt for quality parts so I don't end up changing them again and again (like the oil level sensor).
Part | Manufacturer | Quantity | Price |
---|---|---|---|
Coding GM5 | Coding Guru | - | 50.00 € |
General Module (GM5) (used) 3x | BMW | 1 | 119.97 € |
Stabilizer Bushing Front | MEYLE | 2 | 14.45 € |
Waterpump | CONTINENTAL | 1 | 34.90 € |
Electric Fan Assembly (used) | BMW | 1 | 75.80 € |
Drivebelt | BOSCH | 1 | 14.69 € |
Waterpump Pulley | SWAG | 1 | 20.70 € |
Coolant Hose Radiator Passenger Lower | BMW | 1 | 60.06 € |
Coolant Temp Sensor | BMW | 1 | 37.81 € |
Thermostat | BEHR | new | 40.45 € |
Window Regulator front left | APM | 1 | 19.49 € |
Thermostat Bolt | BMW | 3 | 13.83 € |
Stabilizer Bushing Rear | LEMFÖRDER | 2 | 8.60 € |
Thermostat | MAHLE | 1 | 42.80 € |
Transmission Drain/Filler Screw | BMW | 2 | 13.56 € |
Transmission Oil Additive Mos2 | LIQUI MOLY 2652 | 20mg | 10.11 € |
Transmission Oil Syntrans B 75W MTF-LT2 | CASTROL | 2L | 23.80 € |
Belt, Tensioner, Roller | CONTINENTAL | 1 | 49.50 € |
Stabilizer Coubling Rod Rear | LEMFÖRDER | 2 | 25.90 € |
Stabilizer Coubling Rod | MEYLE HD | 2 | 32.50 € |
Spring Pad Rear Upper 5mm | BMW | 2 | 14.08 € |
Oil Level Sensor Gasket | BMW | 1 | 0.52 € |
Exhaust Tunnel Support Plate | BMW | 2 | 127.52 € |
Differential O Ring | BMW | 2 | 0.86 € |
Differential Drain/Filler Screw | BMW | 2 | 9.42 € |
Differential Oil Syntrax Longlife 75W-90 | CASTROL | 2L | 33.98 € |
Engine Oil Megol High Condition 5W-30 | MEGUIN | 7L | 35.30 € |
Engine Filter Set | MANN/HUMMEL | 3 | 41.39 € |
Oil Level Sensor | HELLA | 1 | 49.99 € |
Washer Fluid Container (facelift) (used) | BMW | 1 | 25.00 € |
Rubber Bushing Intake Assembly | BMW | 1 | 14.97 € |
Hose Clamp Intake Manifold | BMW | 5 | 2.48 € |
Headlight Sealing Strip Left/Right | BMW | 2 | 38.88 € |
Carly Adapter & App (Diagnose Tool) | Carly | 1 | 117.89 € |
Coolant Glysantin G48 | BASF | 6L | 36.49 € |
Doorlock Assembly Front Left | BMW | 1 | 194.47 € |
Parking Brake Lever Leather (used) | BMW | 1 | 39.99 € |
Window Regulator Front Right | APM | 1 | 18.29 € |
Airbag Sport Steering Wheel II | A. Schick | 1 | 130.00 € |
Side Indicators Left/Right | BMW | 2 | 16.49 € |
Lightbulb Diadem PY21W | OSRAM | 4 | 21.80 € |
Shiftknob Leather with cover | / | 1 | 35.48 € |
Window Regulator Rear Right | APM | 1 | 14.00 € |