It all started 14 months ago with a straightforward objective: buy an older BMW 3 Series in need of some work, make it fully functional, and freshen up its appearance. It was a process I’d done before, and one that I’m sure I’ll do again. However, this time I greatly underestimated what I was getting into.

I know what you’re thinking: “Wait, that doesn’t look bad at all!” Trust me, I thought the same…

Back in late July of last year, I was itching for a new project to undertake (as if owning one life-sucking car wasn’t enough.) I was cruising Craigslist and Facebook Marketplace when I came across a car that caught my eye: a 1989 BMW 325i, of the much-loved E30 generation.

It was rear wheel drive, it had a manual transmission, it had four-doors, and it was a one-owner. It checked all the boxes for me.

The very next day I found myself at the seller’s house giving the old BMW a look-over. It was obviously in need of work, but during the test drive, the car’s old-school BMW charm won me over. I knew red flags were all over this thing but at the time I simply didn’t care. I was searching for a project, after all, so I threw in an offer for $1,800 and ended up bringing home a very neglected Bavarian sports sedan.

I didn’t anticipate that for the next year my weekends would be booked and my finances would be nearly bled dry trying to save it.

The Starting Point

After one day of ownership, the true state of disrepair finally hit home. It was in very poor shape. I’ve gone out on a few limbs buying neglected cars before, but this one was the biggest gamble. The amount of work it needed kept me up at night. Everything that could leak, was. The interior was in shambles and the upholstery was ripped to shreds.

Most of the electrical stuff didn’t work, the body was rusty, and the paint was faded. It was a money trap.

30 years of filth.
More oil outside than in.
Steering wheel leather? Gone. On board computer LCD screen? Destroyed. Dashboard? Cracked. Instrument cluster? Completed dead. Hell, even the hood had to be propped up with a board.
The timing belt replacement sticker had an odometer reading of 234,000 miles. Guess what? The Odometer was stuck at 234,000 miles. So who knows how old the timing belt actually was.
Surprising that it actually ran.
Random wires cut, steering rack boots torn, and worn out tie rod ends. That’s just what can be seen on the surface.
Much of the same story on the other side.
Scrapes on the oil pan are courtesy of the 2 inches of ground clearance. (Kidding about the ground clearance. Kind of.)
Getting my first glimpses of the underside.
Tires are about the only thing of value in this shot.
Decades of baking in the sun will do this to leather seats.
The front seats fared about the same as the rear. Oh boy.

Reflecting back on why I’d bought it the day prior, I recounted the upsides: it ran and drove okay, the tires were near new, and it looked pretty damn cool from 15 feet away. I guess that was worth something, right?

Wrong. I screwed up. I should have sold this box of bolts for scrap and cut my losses immediately. Alas, I’m not a wise person, so I decided to press on and and revive it, if only to prove to myself that it could be done. Well, I’m here to tell you it was possible, but only at great expense. Let’s dive in and see what it all took.

The E30 siren song drew me in. Now I’ve got to pay for it – literally.

Rust Rescue

This isn’t actually where the repairs started, but from a critical-issue standpoint, it was the E30’s largest make-or-break obstacle. I only discovered the severity of the car’s rust affliction after I’d started disassembly to address some drivetrain problems.

Once the rust had been uncovered, absolutely nothing else ailing the car would matter until it was fixed.

You may have noticed I’ve been silent about my recent BMW E30 purchase. The fanfare of buying an…

The first area of rust I tackled was the left front wheel well. There was a perforated seam between the wheel well and the firewall that needed patched up and braced.

Knocking away the undercoating revealed a frightening scene.
Using paper to mock up a patch panel.
Mock up cut to shape.
Paper mock up flattened out and traced onto sheet metal.
Sheet metal patch panel bent into shape.
Beginning to tack weld the patch panel into place.
Patch panel welded into position.
All exposed metal surfaces coated with POR-15 paint.
Seam sealer applied to the edges of the patch panel.
Rubberized undercoat applied to seal off and finish the area.

With that complete, it was on to the driver’s floorboard which had some holes that needed filled in.

Nearly a Flintstones car.
The floor-hinged gas pedal used to be attached there. Yellow outline represents metal that will be cut away.
Most of the badly rusted metal cut out and weld-through primer applied to get ready for new metal.
Beginning to weld patches into place.
All holes now filled. It might look rough, but it’s strong.
POR-15 paint applied.
Seam sealer applied to patch edges.

The left front rocker corner was rusted through so that required fresh metal to be welded in.

Front right rocker corner was rusted out from every angle.
It was even rusted through from the inside.
Yep, that’s looking right through to the driver’s foot well.
Cleaning the area to prepare for welding.
Making patch templates from cardboard.
Metal patch panels were created from the cardboard templates.
Piecing the bottom side of the structure back together.
Bottom patch welded in.
Inner patches welded in to complete the job.

Next came the left rear wheel arch that had been eaten away from years of moisture trapped inside the rocker. This required quite a bit of fabrication to replicate the original design on both interior and exterior panels of the wheel arch.

A little prodding with a screwdriver saw this nightmare come to life.
Grinding back the paint to see the extent of the rot.
Marking out where to cut the metal to see how badly the inner arch was affected.
About as bad as you’d imagine.
Just cut it all out!
Beginning the rebuild process, from the inside wheel arch structure outward.
Inner wheel arch complete (6 separate pieces of metal in total).
Now on to forming the outer wheel arch. I created the body line bends with a bench vise and some pliers.
Slow going, but it’s now in place.
Welds ground down smooth.
Patching in the lower portion.
Marking out the wheel arch line in preparation to cut away the excess metal.
Almost like OEM. Almost.
The finishing piece being welded in.
With the final weld bead ground away, that’s a wrap.

The left rear spring perch had a nasty hole rusted through it and required a patch to tie it all back together.

It looks worse than it is.
Rotten metal cut out and undercoating wire-wheeled away.
Weld-through primer applied before a patch is welded into place.
Patch welded in. No more hole!

The rear fascia that meets with the battery box in the trunk had developed a sizable hole. Reforming the battery box along with reconstruction of the rear fascia was required.

The battery compartment is a common rust spot for BMW E30s.
Drawing out where to cut. Notice the spot weld that’s been drilled out right above the gaping rust hole.
That’s the battery “box”, now exposed with the exterior metal cut away. It’s clearly badly rusted.
With all the rusted metal cut out and weld-through primer applied to the raw metal surfaces, it’s time to start welding.
I wish i had gotten a closer shot. If you zoom in, you can see I’ve welded new metal in to rebuild the battery box.
Three rectangular patches welded in to fill the hole in the rear fascia.
Weld beads ground down to reveal a smooth all-metal finish.

The fuel tank ventilation hose pass-through in the right rear wheel well had created numerous rust holes. I decided to re-think BMW’s design by integrating a more simplistic approach by relocating the pass-through hole closer to the expansion tank in the rear of the wheel well.

The view from inside the trunk. You can see at least four rust holes here that are letting outside light pass through them.
The same rust holes, but viewed from the right rear wheel well. The hoses are fuel tank vent lines. There used to be a metal shroud covering them but that rusted away long ago.
Wire-wheeling away the undercoating to reveal the extent of rust.
This interior shot is looking at the right rear door jamb. The metal tube is a pass-through conduit for the fuel vent lines. The tube was heavily rusted and the yellow line indicates where I will make a cut.
The conduit tube after the cut has been made.
The conduit tube originally passed through the wheel well. However, this area was badly rusted and was not salvageable. I ended up cutting the whole thing out.
The yellow ellipsoid is indicates where I will cut to allow for a new pass-through pipe to be welded in.
Here’s the relocated pass-through pipe welded in place.
All rust now cut out.
Patches welded into place – no more holes and ultimately a better design is the result.
A flexible hose now serves as the conduit for the fuel vent lines. Better yet, it passes through the trunk, shielded from the elements.
Undercoating applied to the patches and vent lines routed – that’s a wrap!

Finally, there was a large rust hole in the right side rocker panel. Cutting the rust out and welding in a new patch saw the rust repairs complete.

This was the most straight-forward rust repair of all. Save the best for last, you know?
There’s a seam that joins two different panels here. I didn’t want to waste time trying to replicate that. Instead, I welded in a thicker gauge piece of metal to give it a similar strength of the original seam.
With the weld beads ground down, the repair is complete and structurally sound.

Section Cost: $82.73

Engine-Related Repairs & Maintenance

One of the upsides to this car was that it ran. The engine, believe it or not, actually seemed to work really well.

It leaked like a sieve, but functioned like it should. No service records came with my car, so there were plenty of maintenance items that needed addressed all at the same.

First on the docket was to replace the timing belt and all related consumables at the front of the engine. This included a new water pump, a thermostat, a variety of oil seals, and some new gaskets.

Accessory drives and coolant hoses removed.
The old timing belt exposed and not a moment too soon. Note the grimy buildup everywhere.
The strip-down continues to access the oil seals (3 in total).
Camshaft sprocket, crankshaft sprocket, and water pump removed. You can see a hint of green coolant within the block.
The camshaft oil seal was popping out of its housing. No wonder it was leaking.
Let the degreasing commence!
Camshaft oil seal housing removed from the cylinder head.
New camshaft oil seal and o-ring installed in the housing.
New crankshaft and intermediate shaft seals installed on the lower front side of the engine.
New water pump, gasket, and bolts preparing to go in.
New water pump and oil seals installed.
Camshaft sprocket installed.
New timing belt and belt tensioner installed.
Repainted timing belt cover and thermostat housing installed.
General cleanliness begins to take hold.
New accessory belts, fan clutch, and repainted components going in.

A thorough degreasing precluded the replacement of parts while a fresh coat of paint on static components saw everything looking properly refreshed.

With the new timing belt installed, it was time to do a much-needed valve adjustment. Luckily, adjusting the valves on these M20 six-cylinder engines is as simple as it gets. In under 30 minutes the valves were returned to specification.

To complete the job, I swapped the valve cover gasket out for new, installed a new oil filler cap, and then bolted the valve cover into place.

Valves adjusted. That’s looking clean for an engine with over 230,000 miles on it.
Valve cover refitted with a new gasket and oil filler cap.

The engine’s ignition components were functional, but most of them looked to be original to the car. I felt it best to replace the entire system with new parts. This included spark plugs, plug wires, ignition distributor cap, ignition rotor, and an ignition coil.

New ignition rotor (the orange piece). It bolts directly to the camshaft sprocket.
A new set of spark plug wires and ignition distributor cap.

When it came to the cooling system, the radiator was in good shape but all the hoses (six in total) were in various states of deterioration. The throttle body heater channel gasket was also perished.

With everything apart, it would be foolish to not exchange them all for new parts. To finish the cooling system overhaul, I topped it up with fresh BMW blue coolant to rid the car of the incorrect green fluid that had been in it.

New cork throttle body heater gasket ready to go in.
A slew of new coolant hoses routed to the radiator and throttle body.
New hoses and spark plug wires.

The oil filter tree that protrudes from the right side of the engine showed signs of leakage, so I removed it to install new o-rings all around.

Oil filter tree and securing bolt receiving new o-rings.
Resealed oil filter tree mounted to the engine with a new oil filter.

The rubber-comprised intake plumbing was hard and brittle and would no doubt lead to vacuum leaks in the near future. I went ahead and replaced the idle control valve hose and intake boot elbow with new supple rubber parts.

The final engine-related items are a bit random, but were definitely needed to enhance the car’s usability. I made the air conditioning system functional again by replacing the a/c compressor clutch hub.

The old clutch hub’s rubber coupling ring was oil contaminated, causing it to deteriorate and completely fail. The new clutch hub would allow the compressor to spin with the engine’s drive belt once again.

The A/C clutch hub before.
The new clutch hub.
New clutch hub installed on the compressor.

Lastly came the replacement of the starter motor. The old starter looked original to the car, which I normally wouldn’t worry about since it still worked fine. However, because it is so difficult to access, I figured I may as well replace it with a new one while I had good access to forgo a future inconvenience.

Section Cost: $926.55

I’ve separated the fuel system from the rest of the engine-related repairs because of the sheer number of parts that needed serviced or replaced. Anything in a car’s fuel system is a candidate for replacement when it gets to this age and mileage.

The first items to address were the fuel injectors. There are six in total, one for each cylinder, as you might guess. These parts are constantly actuating while the engine is on.

Over time, they accumulate residue which adversely affects the volume and spray pattern of the fuel flowing through them. I removed the injectors and sent them off to a specialist to have them inspected and flow-cleaned. Surprisingly, they weren’t in terrible condition, but now they are in tip-top shape. I then reinstalled the refreshed injectors with new o-rings to seal them back up.

Those are some extremely filthy fuel injectors.
The fuel injectors cleaned up and ready to be sent off for flow cleaning.
Fuel injectors post-flow cleaning. They look new!
The flow cleaning results for each injector. For as bad as they looked, they actually performed decently well before cleaning.
Cleaned fuel injectors reinstalled in the fuel rail.

Next on the agenda was to replace the fuel pump. Occasionally the engine would stumble at idle and then die. Once this happened, it was difficult to restart it. After some diagnosis, I found that the fuel pump was on its way out—it couldn’t provide the necessary fuel flow that the engine required. The fuel pump is another part that is constantly running any time the engine is on, so understandably it had worn out after a few decades.

New vs. old fuel pumps.
New fuel pump installed in the gas tank.

The fuel pressure regulator appeared to be original to the car, and I suspected that it was contributing to a rough idle symptom. The safe bet was to swap it out for a brand new item. Upon doing so, the engine idle became noticeably smoother.

The fuel filter looked as if it hadn’t been replaced in a long time so I swapped that out for a new one.

Old fuel filter.
New fuel filter.

The fuel hoses on the car were quite hard. I decided to play it safe and replace all of the hoses with new fuel injection-rated fuel hose.

Finally, the fuel gauge wasn’t reading correctly. With the tank filled all the way up, the gauge would only read half-full. This particular BMW E30 came standard with two fuel level sending units (because BMW). After taking some resistance readings for each sending unit, it was clear that one of them was no longer working. While purchasing a new fuel sending unit hurt a bit ($235.06!) at least it was straightforward to replace. With that complete, the gauge was now reading true and the fuel system was sorted.

Section Cost: $587.26

Transmission and Drivetrain

The transmission was leaking badly and the clutch was original to the car. It was a no-brainer that the transmission needed to be pulled from the car to service all the important components that comprise the drivetrain.

This transmission was a bear to remove, mainly due to the difficult to access starter bolts. I had to work up some MacGyver ratchet extension combos but eventually all the bell housing bolts were removed and the transmission was out of the car.

With the clutch now exposed, I was shocked to see that it was in great condition. As it turns out, a clutch can be extended well past its expected service life if you’re a smooth operator and don’t burn it up.

The transmission being lowered from the car.
The clutch friction plate in good condition considering its 230,000-plus miles.
The flywheel clutch surface had some burn marks but no scoring. Definitely reusable following a good resurfacing.
With the flywheel removed, the rear main seal, starter, and the backside of the engine can be seen. All the oil leak sources are exposed.
The old clutch components, along with a filthy transmission, are laid out in their order of assembly.

Even still, I wanted to replace the old clutch with new. As part of the clutch renewal operation, I sent the flywheel out to a machine shop be resurfaced.

I then replaced the engine’s rear main seal, seal carrier gasket, and the transmission pilot bearing while the flywheel was removed.

The rear main seal carrier removed from the engine.
The old rear main seal before removing it from the carrier.
Old rear main seal removed.
New rear main seal prepped to go in.
Installing the new seal with the aid of seal driver made from PVC and a block of wood. A hammer provided the motivation to press the seal into place.
New rear main seal installed.
Rear main seal carrier mounted back to a cleaned engine surface.

With the flywheel freshly skimmed and looking pretty, I bolted it back up to the crankshaft with new flywheel bolts and then mounted up the new clutch friction plate and pressure plate.

Resurfaced flywheel and new clutch components.
Resurfaced flywheel mounted to the engine with new bolts.
Clutch friction plate being aligned with the engine’s crankshaft.
The clutch pressure plate bolted to the flywheel is the final step in the clutch replacement.

The transmission was caked in oil and dirt, so a quick trip to the car wash precluded any of its leaky seal replacements. Once it was clean, I changed out the input and output shaft seals, the shift selector shaft seal, and applied silicone sealant to the detente spring cover. To accompany the newly-sealed transmission, I rebuilt the shifter linkage assembly so that positive gear shifting action would be renewed.

This thing was gross.
Ahh, much better!
New transmission output shaft seal installed.
New shift selector rod seal installed.
New input shaft seal installed.
The shifter linkage rebuild kit (left) ready to be installed.
New clutch throw out bearing installed in the transmission.

The transmission and related components were now ready to be reinstalled in the car.

Transmission being lined up for installation.
Transmission installed and looking good!
The refreshed shifter assembly.

To finish off the clutch system overhaul, I installed a new clutch slave cylinder and an accompanying hydraulic hose.

Old clutch slave cylinder and hydraulic hose dangling under the car.
New clutch slave cylinder components.

With the transmission back in, I turned my focus to the back end of the car where the differential and axles were in dire need of attention. The CV axles had split boots and the differential was leaking from every orifice.

Split CV boots and a differential caked in oil. Help!
Disconnecting the CV axles from the differential output flanges.
New limited-slip differential (left) next to the old open-style differential.
Old CV axles pictured next to the new axles.

The differential in the car was an “open” style differential. Instead of rebuilding it, I located a performance-oriented limited slip differential to swap it out with. This new differential cost a hefty $400, but it would greatly enhance the car’s driving experience. I went ahead and installed new output shaft seals in the new-to-me differential and then topped it up with fresh oil.

Limited-slip differential preparing to accept new output flange seals (center).
Old output flange seals on the limited slip differential.
Old vs. new differential output flange seals.
Cleaning the seal housings before installing the new seals.
Refitting the output flanges after the new seals were driven into the differential.
Limited-slip differential and new CV axles installed in the rear subframe.

With the new differential bolted to the subframe, I installed the new CV axles to complete the car’s drivetrain refresh.

Exhaust System

One of the most obvious faults with the car was its rusted-out muffler. While that definitely needed replaced, I figured I should also install a new oxygen sensor as a preventative maintenance measure.

Mother Nature’s tuning service.
Hope was about all that was holding the exhaust together.

Replacing the oxygen sensor turned out to be a bigger pain than originally planned. The old sensor was seized in place, so I enlisted the help of a mechanic shop to extract it from the exhaust’s mid-pipe. An oxyacetylene torch convinced the old sensor into releasing its grasp. With that done, the new sensor screwed right into place. This time there was anti-seize on the threads of the new sensor to prevent future serviceability problems.

My attempt at removing the oxygen sensor didn’t go well, as can be seen by the rounded marks on the sensor’s hex portion.
A lot of heat allowed the sensor to be extracted while still keeping the threads intact.

I mounted the mid-pipe to the engine’s exhaust manifold with fresh gaskets and copper nuts. I then installed a new muffler section, complete with new hardware and gaskets. With the new exhaust in place, the car would now run quieter and look much better from behind.

A new muffler! The minimalist packaging welcomed a dent to occur during shipping. Oh well, it’s under the car anyway.
The new muffler, mounting hardware, and gaskets.
The muffler secured to the midpipe with new stainless steel hardware.
The view down here is starting to look good.
A much more presentable rear end.

The brakes were in decent condition but still required a moderate amount of work to make the car safe for continued use. The first item on the agenda was the non-functioning parking brake.

When the parking brake handle was pulled upward, there was no resistance. It certainly didn’t hold the car stationary. In a quest to find the culprit, I discovered that the parking brake cables going to the handle were broken. No wonder the thing didn’t work. So, it was out with the old cables and in with some new ones.

Removing the parking brake cables meant disassembling the parking brake drums.
There are a lot of springs in the drum mechanism that tend to bite back if you’re not careful during disassembly.
New parking cable vs. old. You can see the old cable is broken on the left.

I then turned my attention to the four rubber brake hoses going to each wheel’s brake caliper. The hoses were no doubt original to the car and had begun to dry-rot from age. I swapped them out for some new, higher-performance steel braided brake hoses. The new hoses would hopefully lead to increased brake pedal firmness when compared to the old ones.

The rubber brake hose (center) is looking worse for wear. The new parking brake cable (right) looks good though!
A new braided stainless steel hose has taken the old rubber hose’s place.
Front rubber brake hose was found to be in similar condition as the rear.
New front brake hoses installed.

The left rear hard brake line that spans the suspension’s trailing arm had been modified at some point (probably due to a seized fitting) and was dangling in a precarious fashion below the trailing arm. Debris from the road could potentially strike the line and rupture it, leading to a brake failure. I decided it best to replace it with a properly routed line to reduce the likelihood of a Final Destination event coming to life.

My theory for how this came to be: One of the brake line’s fittings was seized, so the line was shortened to allow for a new fitting to be installed. Shortening the brake line meant that it could no longer be routed properly (i.e. safely) behind the trailing arm.
That’s a much safer home for the brake line.

There was a “Brake Lining” light illuminated in the instrument cluster, which indicates that either the brake pad sensors are worn (yes, BMW had that tech back in the ’80s), or the wires going to the brake pad sensors are broken somewhere.

Well, as it turns out, both cases were true. The wires going to the front brake pad sensor were cut because the sensor was worn out. Instead of replacing the sensor, someone devoid of electrical circuit knowledge simply severed the wires believing it would eliminate the dash light. Well, it didn’t work.

Upon replacing the brake pad sensors and repairing the wiring, the dash light was gone and the warning system was functional once again.

With the brake master cylinder reservoir removed I was met with these decrepit seals. No wonder it was leaking.
Old seals vs. new. With the new seals installed, the brake fluid reservoir leak was taken care of.

The next brake-related repair occurred at the brake master cylinder reservoir in the engine bay. The fluid reservoir sealing grommets were deteriorated, causing a slight brake fluid leak that trickled all the way down the firewall. With new grommets installed, the brake fluid leaks were eliminated.

Finally, a complete brake fluid flush and bleed saw the entire brake system renewed. The result was a firm, confidence-inspiring brake pedal.

Section Cost: $147.94

Suspension & Steering

The BMW was riding on what appeared to be the original 230,000-mile suspension. Much of an E30’s handling prowess derives from its suspension, so it isn’t hard to imagine how tired suspension components might bring down the overall driving experience.

Aside from refreshing the suspension, I wanted to raise the ride height. Lowering springs had been installed at some point making the car sit incredibly low to the ground rendering it impractical for use on potholed Midwestern roads.

To begin the suspension revitalization, I removed the front strut assemblies, lower control arms, sway bar end links, and tie rods.

Front suspension: Before.
This is a view from the left front wheel well. The brake caliper has been unbolted (right) to allow for the lower control arm and strut assemblies to be removed.
The front right strut assembly.
All the rubber in the strut assemblies was ripe for replacement.
One of the lower control arms in the bench vise. The bushing on the end of the control arm has seen better days.

Everything up front was due for replacement. The tie rods ends were loose, the steering rack bellows were ripped, the ball joint boots were torn, and the control arm bushings were dry rotted. The struts leaked, the rubber spring pads were cracked and the upper strut mount bearings were wobbly.

The parts needed to refresh the suspension.
Beginning the strut disassembly. A bench vise was useful for this job.
Here, a spring compressor is being used to allow for the removal of the strut mount. You need to be very careful using this tool!
The old strut mount. The mount’s central bearing, which allows the entire strut assembly to rotate as the steering wheel is turned, was dry and loose.
Now it’s time to remove the strut from the strut housing by unscrewing the collar nut.
The old strut being pulled from the housing.
The new Bilstein B8 strut installed in the housing. Notice how thick the damper rod is!
New strut mount (left), spring pads, and mounting hardware.
Slipping the dust boot over the strut rod.
The refreshed strut assembly, complete with new strut, spring, spring pads and strut mount.
Both strut assemblies ready to go back into the car.

Installing new struts was the first order of business. I chose to fit Bilstein B8 struts up front because I wanted to give the suspension a more taut feel. To go along with the struts, I installed H&R OE Sport springs.

These springs are an inch lower than stock, but would still provide a considerable ride height increase over where the car sat with the old springs.

The front control arm “lollipop” about to receive a new bushing.
Here, the bushing is being pressed onto the new control arm with a homemade press tool.
The new control arms complete with fresh ball joints and bushings.
New inner and outer tie rod ends and steering rack bellows.
Everything but the strut assemblies fitted to the front end of the car.
Now that’s looking sharp.
It’s so clean you almost don’t want to drive it.
Front suspension: After.

Lastly, I installed new control arms, tie rods, and sway bar end links to ensure the front end would work correctly for many miles to come.

Now we take on the rear.
Old rear shock upper mount (left) compared to the new unit complete with a reinforcement plate.
Old rear shock vs. new Bilstein shock.
Old rear spring (left) next to the new spring. Notice how much the old one has collapsed.
Fitting the new shock mount to the top of a new shock.
Close up of the new shock mount installed.
New shock bolted to the shock tower, as seen from inside of the trunk.
New spring, rubber spring pads, and new shock installed.
Almost looks new under here now.

It was much of the same story when moving on to the rear suspension. The shocks were shot and the old springs had an enormous amount of sag. The rubber spring pads had collapsed and the rubber subframe bushings were in poor condition. The trailing arm bushings had surprisingly been upgraded at some point with polyurethane units, making them the only parts that didn’t need attention.

The rear subframe is supported by two rubber bushings, both of which were looking past their prime.
While searching the BMW forums I discovered a method of extracting the old bushings without having to pull the subframe from the car.
The bushing is nearly out!
New subframe bushing (right) compared to the old. Notice how the old bushing separated into multiple parts during removal.
New subframe bushings, bolts, and nuts ready to be installed.
The makeshift use of large sockets, nuts and a threaded rod allowed me to install the new bushings without much trouble.
One socket needed to be located in the car’s interior to help draw the new bushing into place.
New bushing fully seated in the subframe.
Subframe locating bracket secured in place with new hardware.
All the tools needed to replace the bushings with the subframe in the car: 3/4″ drive sockets (45mm and 50mm), M14 threaded rod and nuts, a modified pitman arm puller, and a two jaw puller.

In went the new H&R springs and Bilstein B8 shocks along with reinforced upper shock mounts. I discovered a method for replacing the rear subframe bushings without having to pull the subframe from the car, so in went new bushings there. To finish the rear end off, I put on some new sway bar end links.

Slightly less stanced.
Going the opposite direction than most E30s: UP.

With all the new parts installed, I took the car to a shop to have it aligned. And just like that, the true handling potential of the car was uncovered.

Section Cost: $1,528.59

Again, the interior of the car was an utter disaster. There were disgusting elastic polyester covers hiding ripped leather seats underneath. The steering wheel leather was also worn to shreds. The instrument cluster and onboard computer didn’t work. There were busted door handles, a window that wouldn’t roll down, a cracked dashboard (extremely common on E30s but no less ugly), a non-op blower motor, and radio antenna which wouldn’t retract. There were very few redeeming features on the inside of this thing.

An interior so rough you might not even notice the shifter is missing.
The failed on-board computer LCD.
A mostly in-op instrument cluster (the fuel and temperature gauges worked).
Under the grungy seat covers were sun-stretched leather seats.
Broken door handles and bezels are common to E30s and they really bring down the interior’s presence.

The most critical item out of all these issues was non-functional gauge cluster. The only gauges that worked were the temperature and fuel gauges. That was it.

I pulled the gauge cluster from the car and sat it on the work bench. I tried everything within reason, including re-soldering all the circuit board connections to try and breathe new life into the unit. Ultimately, I was unsuccessful, so I just went out and bought a known-good instrument cluster from a parts car.

Instrument cluster placed on the work bench in a futile attempt to revive it.
The rescue mission started with removing the gauges to access the solder joints.
It’s fascinating to see the inner workings of an instrument cluster.
The intricate solder channels on the backside of the speedometer.
A glimpse at the odometer gears in the speedometer. The grease on the gears caused the plastic to turn to mush, resulting in a non-functioning odometer.
Here the service indicator batteries are being replaced with new ones. I didn’t know if this was the culprit for why the cluster didn’t work. As it turns out, replacing these didn’t help.
I re-flowed all the solder joints but it didn’t help the broken cluster in the least.

Even though the dial gauges in the “new” cluster operated perfectly, the odometer was still not working. To fix this issue, I installed new odometer gears while the cluster was out of the car. With that complete, I quickly installed the cluster in the car and was met with a welcomed result: All the gauges and lights worked as expected. Yay!

I abandoned the old instrument cluster and focused on refreshing the new, known-working one. The first step was to replace its odometer gears which had also failed.
A close up of the old odometer gears. You can see the grease on the black gear that caused the plastic to turn soft.
The new odometer gears installed in the speedometer.
I checked all the solder joints on the new cluster just to make sure there weren’t any obvious faults present.
Time to get the replacement cluster into the car.

It just so happened that soon after installing the instrument cluster, I found a great deal on an uncracked dashboard. So, it was back out with the instrument cluster and then out with the old dashboard.

Pulling dashboards from a car is always fiddly and frustrating work. However, with the new dashboard installed, all the swearing and sweating was justified as its appearance breathed new life into the interior.

While not uncommon to E30s, a cracked dashboard is a constant eyesore for the driver.
Uncracked dashboards can still be found but usually cost a hefty sum. I located this one locally for relatively short money – $175.
While not as bad a job as removing the Z’s dashboard, it’s still not exactly fun.
I replaced the HVAC duct sealing tape while I had the dash out.
The new dash fitted.
The new dash transformed the outward view for the driver. Now to do something about that steering wheel.

The on-board computer’s LCD screen had seen better days. It took me forever to locate a replacement screen but luckily they do exist. Part Works, a German company, makes a whole slew of replacement LCD screens for older BMWs. My car’s six-button one was included in their offerings. Swapping in the new screen was relatively easy. Saving this relic of technology gave me a great sense of accomplishment—I could now see the time and temperature!

The on-board computer on the bench with a new LCD screen at the ready.
Disassembling the on-board computer really isn’t as scary as it sounds.
The broken old screen off to the left, and the new screen already mounted in the computer’s casing.
Reinstalling the circuit board and buttons.
The old screen.
All back together with no extra parts.
Now we’re talking!

Next up was enormous task of reupholstering the seats with new leather. Before taking this on, I wanted to replace the standard “comfort” style front seats with the larger-bolstered and more adjustable “sport” seats which were optional in E30s. I found a set locally that fit the bill nicely. However, these replacement seats also required reupholstering. Great!

I located a company that produces new leather seat covers for E30s at reasonable prices, so I ordered new covers for the sport seats and rear bench seat.

It took forever for the new covers to arrive (three months!) but I was pleased with the quality when they did show up. Reupholstering seats is a lot of work, I’m not going to sugar coat it. But, with enough patience, you can do it yourself with good results.

The foam under the old seats was thankfully in good shape, so all I had to do was pull the old covers off and stretch on the new ones. My fingers were definitely sore after working the new leather around the seat frames.

Once the new covers were on, I ironed the wrinkles out with a heat gun and a damp towel. I think they turned out pretty good!

Let’s hope I can manage to put this back together.
Removing an endless number of hog rings allowed the old covers to be removed.
Stripping down the seat back.
More metal tabs and hog rings to navigate around.
The pictures skip a few steps here. I pulled the foam off the seat frames and then repainted the frames. With the foam remounted, I began slipping on the new leather covers.
The leather pulled tight and secured with hog rings.
The seat bottom fully recovered. The wrinkles will be removed with a heat gun in a later step.
The seat back nearly complete.
The headrest getting some love.
Much better.
One down, one to go.
A good looking pair. Note that the wrinkles have been removed.
I think the new seats made the interior look much sportier.
The minimalist looking seat backs.

Next up was to re-cover the nasty steering wheel. I had no experience recovering steering wheels, so I decided to just wing it and see how it turned out. I picked up some scrap leather, a sewing kit, and then went to town. I made a template for the new cover by laying the old cover flat and tracing it out. I then went through the tedious work of piercing all the stitching holes on the new leather cover. It was about this time when I wished I had access to a nice sewing machine. But alas, I did it all by hand.

This thing is disgusting.
Looking at this picture, you might mistakenly think I actually knew what I was doing.
The old leather cover removed from the wheel.
Flattening the old cover on a plank of wood in an effort to create a template.
Tracing out a template.
I transferred the template to a scrap piece of leather. I didn’t want to invest too much money in this project because I didn’t know what I was doing.
Hand stitching the entire new cover. A smart person would have borrowed a sewing machine and done this in a fraction of time it took me.
The perimeter stitching complete.
The two ends of the cover stitched together to make a circle.
The cover slipped over the wheel. It was tight fit, which is good!
I applied some upholstery glue to help the cover conform to the tight bends of the wheel. You can see the leather’s imperfections. Again, this was a low-budget attempt.
The new cover stitched together around the perimeter of the wheel.
While the end result is definitely an amateur job, it is leagues better than what I started with. The new center spoke badge looks nice though!
I’ll let you draw your own conclusions.

I then stitched the two ends of the new cover together, then slipped it over the steering wheel. It was a tight fit, which was good. I applied some upholstery glue to the curves of the steering wheel spokes to help the new cover stay in place while I stitched the perimeter together. The result certainly isn’t perfect, but it’s far cry from the grungy old cover that was once there. To finish it off, I applied a new “M” badge to the center spoke.

There used to be two fan cages here.
Old blower motor vs. new.
New blower motor installed. It was oddly difficult to get the motor centered so that the cages would not strike the sides of the housing.
A missing door handle bezel.
A broken door handle.
Door handles and bezels now replaced which lead to a much improved interior appearance.

There were a number of miscellaneous repairs still left to do to complete the interior refresh. The blower motor required replacement because one of the fan cages on the old motor had completely vanished. Also, a few of the interior door handles were broken, but those were fairly simple and inexpensive to swap out for new.

Those two screws had been driven into the old window regulator forcing the window in the up position. The previous owner’s bodging continued.
A new window regulator is installed here, although it’s difficult to tell.

The left rear window wouldn’t roll down, which I eventually found to be caused by a broken regulator. The previous owner, instead of replacing the regulator, unplugged the window motor and modified the regulator to permanently affix the window in the up position. What a complete bodge. Anyway, I installed a functioning used regulator and resolved the problem.

The old power antenna housing taken apart so I could inspect what was wrong.
It looks like the motor was glued to prevent the antenna from retracting. Great!
A used, but original, Hirschmann power antenna. It needed some work.
What’s cool about old BMW electronics like this is that you can take them apart, clean them, and actually fix them. Good luck trying that with today’s BMWs.
Here the antenna mast is being replaced with a new one.
This piece is an engineering marvel. The antenna spool has a belt drive, and the belt’s tension can be adjusted by the motor’s eccentric mount. Crazy cool over-engineering for something seemingly as mundane as a power antenna.
Antenna installed in the car with a new rubber sealing grommet.

The electric telescopic radio antenna was stuck in the up position. This was another bodged “fix” by the previous owner where they had modified the antenna motor to keep the antenna permanently in the up position. I was able to locate an original Hirschmann antenna gearbox and a new aftermarket antenna mast. I installed both these components which saw the car with a functioning power antenna once again.

The old parcel shelf was looking low-rent with those exposed aftermarket speakers. The new parcel shelf came with “premium” style speaker boxes that have a more period-correct look (top).
It’s all in the details. The new parcel shelf provides a more complete look when you peek in the back window.

Lastly, the parcel shelf where the rear speakers mount was looking worse for wear. I thought the speaker grills looked too aftermarket-y and out of place. After some searching, I located a parcel shelf that was fitted with the original “premium” style speaker boxes which offered a more finished look. Before putting the new parcel in the car, I installed some new speakers in it. With that piece complete, the interior was finished.

Section Cost: $1,840.08

I first applied body filler to bridge any transitions caused by welding in new metal. Once the body filler was sanded smooth and the transition was no longer obvious, I masked the areas off so they could first be painted with primer.

Filler applied to assist with blending in the repair areas.
Filler sanded back smooth.
Textured rock chip coat applied before paint goes on.
Primer coat applied.

Once the primer layer was down, I moved the masking line back and hit the areas with the color coat.

Color coat applied.

With the color coat dried, I moved the masking line back once more to apply the clear coat layer. Not bad a result for a day’s worth of work!

Clear coat applied.
Not too shabby.

The next paint area to be fixed was the right C-pillar, which had some clear coat failure going on. To begin this repair I sanded the area smooth so that the transition between good and bad paint was very gradual. Next, I masked the area off so that I could apply the primer coat. Like in the spot repairs above, I moved the masking line back for each subsequent coat of color and clear. To finish the repair, I polished the area so that the paint transition was no longer noticeable.

This area had been repainted at some point. Now it needed repainted again.
Masking off the area that needed to be sanded back.
Area sanded smooth and masking paper applied to prevent overspray on surrounding panels.
Primer applied.
Color coat applied.
Clear coat applied.
The clear coat transitions are obvious, so we aren’t quite done yet.
There’s also a considerable amount of orange peel in the finish. The next step will make it smooth.
The lower transition.
Wet sanding the area with fine grain sand paper. This is to help eliminate the orange peel finish as well as hide the transition areas.
Sanding away new paint seems counter intuitive. However, you’re just smoothing over the clear coat.
Now it’s time to polish out the fine scratches created by sanding.
The end result is good for a low-budget repair.
Now the transitions are hardly noticeable.
The transition is still there, but now you have to look for it.

The final paint correction area to attack was the hood. This panel had been treated to a sub-par paint job at some point in the past. It had a ton of orange peel in the paint finish which gave it an almost matte appearance. I was able to remove the orange peel by wet sanding the paint with fine-grain sand paper, followed by a buffing wheel and polishing compound. The difference compared to before was considerable.

The orange peel on the hood was terrible.
You could hardly see a reflection in the finish.
I wet sanded the hood in an attempt to give it a better finish. I figured I couldn’t make it too much worse by trying.
Most of the orange peel has been knocked out.
The whole hood has gotten the treatment. Let’s hope I can pull it back out of its flat luster.
It might not be shiny yet, but it is much smoother than before.
Buffing is such a messy job.
Things are starting to look up.
About halfway there.
There’s the reflection we’re looking for.
Much better!

Next to address were the car’s fog lights, which had cracked glass lenses and were entirely inoperable. The previous owner put some type of adhesive plastic over the top of them and spray painted them black, because that’s the kind of human being they are. I instead decided to replace the broken fog lights with new ones. Not only do they now work, but they definitely enhance the front end’s appearance.

Nothing was spared from the previous owner.
There were fog lights under there.
Old fog light housing vs. new.
Hidden messages started appearing on the body.

The lower plastic air damn on the car was scratched up and multiple mounting tabs were broken – it was barely hanging on. I decided to replace it with an “IS” style lower valance which would give the front a more aggressive look. I gave the new valance a quick gloss black paint job then offered it up with new mounting clips.

Zip ties work but certainly don’t look great.
This air dam has seen some curbs.
The new “IS” style air damn ready to go on.
A host of new plastic clips ready to accept the new air dam.
Air dam installed.
Front end masked off for paint.
A good outcome for a quick rattle can paint job.

Finally, one of the glass high beam lenses had a sizable crack in it. While it looks like a run-of-the-mill sealed beam headlight, it’s actually an E30-specific part. Of course, this means it costs $100 to replace from BMW. Unfortunately I didn’t have much of a choice but to pay out for a new one. Once I had the new housing in hand, it was a straight-forward installation process.

I’m surprised the previous owner didn’t do something ridiculous like put tape over it.
It looks like a generic sealed beam lens, but it isn’t!
A simple job turned difficult thanks to fragile plastic clips.
All lighting now up to par.

Section Cost: $582.86

A “Completed” Project

Let’s be honest here: a project car is never truly finished. I know I’m not done finding issues with this car. That’s the nature of old vehicles.

So what am I left with after performing all the repairs mentioned above? I have a solid, fully functional, classic BMW 3 Series that looks nice and drives well. Let’s take a look at the figures for this project:

REPAIRS GRAND TOTAL (Parts, Supplies, Outside Labor): $7,180.07

PURCHASE PRICE: $1800.00

TOTAL ESTIMATED LABOR HOURS: 990

GRAND TOTAL: $8,980.07

This wasn’t a quick or inexpensive car to put right. I went into this ordeal fully committed to rescuing the car and dammit, I did it.

With everything refreshed, the old BMW is now just as usable as I’d hoped. I’ve since commuted to work in it, taken it on 200-plus mile jaunts, and driven it through gridlock traffic.

Letting the smooth inline-six ring up through the gears is an absolute joy. The steering and brakes operate with an immediacy that only a lightweight vehicle could portray. Then there’s the look of the thing: the boxy shape, crisp lines, and the distinctive face. How can you not grow to love it?

This content was originally published here.