Tom's Track Car - BMW E46 -Engine Number 3


Paid Member
Small update from this week and weekend.
Got the block dropped off at a new machine shop for them to rehone and have a look at the condition of the bores. The outcome of this was that the current piston to wall clearance is on average 0.06-0.07 but the bores are slightly tapered, not well honed and the machine shop are off the opinion that another 0.1 will be required to get the bores round and cylindrical. Taking the cylinder to wall clearance higher than the 0.15mm max spec from BMW. This would possibly lead to further issues in the future.

Off the back of this I spent the end of the week looking for a replacement block, actually found it very hard to find a replacement, kicking myself that I sold my old engine on for a good price last year! I really wish I hadn't now!

Found myself an engine as finding a decent block with main caps and front timing cover was harder than I expected.
Picked up the engine in the back of van.

Dirty old mess of an engine, according to the seller it was a unopened engine 100k miles.

I know my way around these pretty well now so it was easy pickings to get it stripped down, I just wanted to get a look inside the engine to see what the bores looked like and if the engine was even useable.

Cams out of the way the last step was to pull the head off.

With the head off it was clear to see the inside of the engine was nice and clear with the piston walls looking perfect.

At this point I was feeling pretty positive about the outcome here, however this was to be short lived.
Upon measuring the engine with a bore gauge it was clear that two of the cylinder was completely oval measuring less than 84mm front to back and over 84.2 across the exhaust to inlet side of the block.
We went back, checked the calibration of the equipment, measured the other bores again, still the same readings. Considering my old block had a max bore size of 84.02mm (0.07mm clearance)
Checked the main caps were torqued to spec, no difference to the readings.

We went down the route of exploring how much difference it makes having the head torqued down or using a torque place to simulate the pressure from the head being torqued. To do this with the crank removed I put the head back on with the old crushed head gaskets but dropped in my ARP headbolts with the longer thread engagement for the Aluminum M54 block and started to torque down the head studs so we could measure the bores from the underside with the crank removed.

Ping... Ping... Two of the studs never made it to 100nm as per ARP instructions and two of the threads pulled out of the block. The ARP's with the longer engagement are supposed to stop this, weirdly the two studs which did pull out were right next to the exhaust side of the most oval cylinder so I'm assuming that this engine has seen a lot of head at some point in it's life which has damaged the cylinders leading to them going oval as well as damaging the metal around the threads.

Did a quick measure of the bores from the underside and saw very little change in the bore dimensions, however it wasn't a perfect test due to two studs pulling the threads out of the block.

At the moment I now have reduced confidence in the torqueing down the head on the M54's even with the ARP's, however before that I don't even have a working block at the moment so I'm going to see what the machine shop recommend to stay within the BMW specs as well as keeping my eyes open for another block in the next few days but at the moment the E46 is retired for the remainder of the year until a reliable engine solution can be found and then I can build a new engine and go from there.


Paid Member
Here's a block

Cheers Sean.
I’ve messaged all sellers on eBay with blocks and reasonable engines regarding photos of bores, if they have main caps and timing cases, just see who comes back to me this week. Hopefully some of the breakers pick up the message tomorrow.
Not been brought up with the original shop. It’s a year on now, just focusing on getting it sorted and right for the future now. I think finding a good quality block that’s not worn and warped now is going to be difficult when the tolerances are so small. Especially when these are 20 years old now some of them.
  • Like
Reactions: Sean197 and suj


Paid Member
I don't know the costs involved so it could be a pipe dream, but would you be able to get the block bored out and go for oversized pistons? Or does that open a whole new world of hurt?


Paid Member
I don't know the costs involved so it could be a pipe dream, but would you be able to get the block bored out and go for oversized pistons? Or does that open a whole new world of hurt?
Possible? Yes..
However when I checked you're into over £600 for OEM pistons and rings plus machine work. Zero gain except 0.25mm bigger pistons. Anything above that and the liners in the block are to thin.
You could go after market and get higher compression pistons but the costs are £1200+ and machining on top of that.

See what happens if I manage the find a block in the next week but it's likely to be a rebuild over winter.

What about an N series motor?

Or K series :smilingimp:

I've had some experience of the K series motor and it was way more unreliable than the M5x series. Wouldn't turn down the displacement or the 6 cylinders that makes more power than a K.
N series possibly if I didn't have all the head and cams from the M series and obviously nothing carries over.
  • Like
Reactions: bedoef


Paid Member
Back to it again. Since the last post I have sourced another bare engine block which was in the similar condition to my standard block and decided on the Saturday to take them down to a new machine shop to compare blocks. In the end we decided to stick with the original block, it was determined that when the engine was machine last year by the old machine shop that the bores were purely deglazed and weren't round as material hadn't been removed from the entire bore.
I left the machine shop with the instructions to do their magic with their honing to get the bores round and to finish with a plateau hone. The clearances would be a little larger than I would have preferred but they measured just inside BMW piston to wall clearance, considering I wasn't going to find a better block and the application I have decided to go with it, to get perfect cylinder wall clearance it would be oversize pistons or liners in the block.

On the Thursday I got back a the block, honed, skimmed and cleaned.

Initial observations are that the hone is much finer, not as deep and course and the angles of the hone look more consistent.

Side by side comparison[img]

First job of the Thursday evening was to get the cranks in with the new bearings and check the tolerance.

With the crank in the engine the next job was the look at the oil pump, the whole reason I took the engine out in the first place.
I mocked up the oil pump with a new chain and an M54 sprocket
Nice to see the chain looking a lot tighter on the gears again

However I knew the chain was super slack when I had to do the quick oil pump fix before Snetterton. Turns out when comparing the E36 vs the E46 sprockets that there is one tooth difference between them with the E36 being slightly smaller. This accounts for the difference in chain slack.

Little bit of marking out and with the help of a 3D Printing jig I drilled the tapped the block for a BMW Oil Pump Tensioner, at the moment I am keeping with the standard oil pump shaft due to the failure of the two vac shafts.

Popping the pistons back into the block with new rings. Rings gapped up just below the BMW ring tolerance

Head gasket and ARP Studs. I did do a comparison between these M54 ARP head studs and they are slightly longer than the M54 studs in terms of thread engagement and the actual stud length of longer too to suit the M54 heads.

Then came the moment of truth, I dropped the head on into position, making sure all the contact areas were spotless and clean with brake cleaner, applying the correct ARP grease to the head studs and bolts and then started the process to torque down the head.

Little look at the goodness that lies within the head, the VAC Motorsport valve springs and retainers to suit the larger lift Schrick Cams.

The next morning I reassembled the head with cams and added a timing wheel to the front of the engine and set the engine at TDC referencing TDC on the timing wheel to be able to accurately set the cams to the correct centrelines as we found out they are slightly off from advertised in the data sheets.

Some custom printed timing blocks were used to give a reference to how I actually timed the cams up
Exhaust used a 4 degree retard block to bring it to 107 degrees Centreline.

Inlet used a 8 degree advanced to bring it to 126 degree (Funnily the cams are supposed to be 126 degree centerline in the standard timed position - Nope!)

By the Saturday night it was a finished engine ready to go back in the car

Same as usual I assembled as much of the engine as possible outside of the engine bay with the gearbox, manifolds, subframe and gearbox mount all fitted together.

Decided to do everything by the book for this engine and bought some of the Millers running in oil on the recommendation of the machine shop who did the honing to help with the running in process.

Finally by Sunday afternoon around 5pm the engine was back in and the car was running. I ran it for a couple of minutes on the drive to check the leaks, checked the basics on the laptop using INPA, I did have one minor issue with a throttle body fault but it was purely down to a wet connector from putting the engine back in in the rain.


Paid Member
Love it Tom, fingers crossed it all goes to plan, have you managed to get it mapped / checked since?

Also I spy a DSSR, I been eyeing up getting one myself whilst I refresh the gearbox bits.


Paid Member
Love it Tom, fingers crossed it all goes to plan, have you managed to get it mapped / checked since?

Also I spy a DSSR, I been eyeing up getting one myself whilst I refresh the gearbox bits.
The DSSR is great with my RTD shifter. Wouldn't be without it on one of these boxes.
I didn't have time last night to complete the rest of the update so saved it for this evening...

Following weekend comes around and it was time for running in. I have booked two slots within two weeks of each other, one to do running in of the engine on the standard ECU, this then gives me time to take the car away, swap the wiring and ECU over and then make sure all the parameters in the new ECU are correctly set up and be able to leave the car idling while I set them up without worrying, this would have been impossible on a brand new engine.

So on Saturday afternoon I took the car back to the usual rolling road to run it for an hour through a range of mixed loads and conditions just with the aim to run in the engine making sure the rings were bedded in correctly. We did 45 minutes of mixed load conditions, creating plenty of vacuum to seal the rings against the bores and followed it up with a couple of power runs at the end of the session, this was interested as I had timed the cams up manually and left the vanos solenoids unplugged so there was very little low down torque but above 5k the engine seems pretty promising.

Power run without any Vanos/VVT so lacking in the torque below 5k. Normally it makes peak torque around 4000rpm with the same torque to power ratio. Zero changes to the map just purely ran in on the old map. The AFR's do lean out around 5-6k which does highlight the fact that we're getting towards the maximum duty cycle for the current injectors but at this stage I just wanted the engine ran in correctly and tested

Ordered a set of Bosch Injectors - 0280158117 - 550cc/min @ 3.5 bar - These have a built in calibration inside the ECU Master black

The compliment this I also ordered some Bosch temperature sensors for water, oil and IAT. Once again these are selectable from the built in calibrations in the ECU.

Prior to building the new engine I had already stripped out my current wiring loom and acquired a spare loom to use for the dyno session. I started by removing all the the excess wiring that wasn't going to be used with the new ECU. I then mapped this out in excel with all the ECU connectors, pin numbers, descriptions and their locations in the engine loom.
From here I was then able to reallocate those pins into new locations on the new ECU.
I wanted to make the engine loom separate from the rest of the car so i've added in some plugs to make it modular.
12 pin connector to connect to the body of the car.
4 pin connector with spare power/ground/2x analog inputs for future use.
6 pin connector with the final connection to the fusebox and signals to relays
6 pin connector the wideband sensor in the exhaust after the collector for the two banks.
I started my new wiring at these plugs and then started to integrate this into the existing wiring loom

These plugs then started to pin into the new ECU connectors. No braid or wrapping of the wiring yet until the loom is tested and the engine is running. I can tidy this up at a later date

Finally this evening I started to introduce the engine wiring harness into the ECU plugs

I have a couple of pins to finish off with the engine loom and complete the connections for common grounds and power but the engine loom is pretty much finished.
Hopefully towards the end of the week I will have the last pieces I am waiting for and I can drop the wiring into the engine bay, start to connect it up and finalise the layout and wire runs before starting to test the ECU functions.
I have spent a number of hours, well more than a hours building a base map for the ECU Master Black. I've used some similar engines for reference but I've built the map from scratch so I know what i've set up is correct and specific to this car.


Paid Member
Another week spending my evenings and any free time working on the car once again.
This week has been finishing off the wiring planning and finishing off the engine loom. A lot more time than I thought has gone into the planning of this as well as making of the loom and I was only modifying it not starting from scratch but I've changed quite a bit of it as i've worked through each wire.

So I started off on excel writing down pin by pin the functions of all the wires going to the standard ECU for each plug which went to the ECU. From this I was able to reallocate each of the wires to a new pin on the ECU Master ECU. I decided which grounds were going to be together like the crank and cam signals keeping them separate from all other sensors. The splitting the remaining sensors, EGT and Knock over the remaining grounds, doing the same with 5v feeds.

Here's an extract from the document to give you an idea.

One thing I wanted to do with this loom was have it easily removed from the engine bay so I decided to add in some addition plugs so the ECU loom could be separated from the body and power.
The grey plugs in the photos
12 pin is all body control, fan thermostat, throttle pedal etc
6 pin is for power to the ECU, fuel pump and main relay activation
4 pin is spare analog inputs 2x, sensor power and ground should they be needed in the future.
Black 4 pin plug covers starter motor and alternator
White is power for Injectors and Coils and addtional 12v power to the engine loom
2x Exhaust Gas Temp for Type K termocouples in the exhaust

I also added wiring for the Wideband sensor, luckily when I made the exhaust in 2018 I added a sensor bung after the collector for a wideband knowing I would probably need on in the future.

Marked out a plate the same size as the factory ecu on some 2mm aluminium

Cut this out on the band saw and tidied up the edges to make a mounting plate for the ECU as well as functioning as a heat sink for the casing

Finished the loom with some of the sections braided. I have not finished the main section of the wiring loom with anything as this will be inside the engine bay fuse box and just incase I need to change anything in the future it is easily accessed. I have added in the 6 pin braided wiring and connector for the wide band too.

This is only a mock up but you can see that everything fits nicely inside the standard fuse box. Including USB for programming and vac line for the inbuilt MAP sensor

I know that I should be right a max of the duty cycle of the injectors I am using with the M50 manifold so I've swapped to some Bosch items that are 580cc @ 3.5bar

This meant a swap of injector plugs was needed and this section of wiring has always annoyed me due to how BMW laid out the wiring to fit in the standard injector tray the wires have always been a little short. I decided to cut of off and make a new injector section from scratch

Braided and finished, so much tidier and better fitting

Final job today was to get everything back into the engine bay and fitted. It did take me all day to get to the point of having the car running properly but I am happy with progress made. I ran into two wiring issues, one being what was labeled as a ignition live which I used for one of the ECU powers wasn't in fact an ignition live it was a switched live from the main relay. I obviously need to power the ECU with ignition live prior to turning on the main relay, so I rejigged some of the wiring in one of the plugs and added a ignition live feed from the interior fuse box.
The second small issue was the radiator fan not functioning this was down to the PWM being voltage based for the fan control not PWM grounding as per the ECU so I changed the wiring in the engine bay and added a suitable relay to turn the fan on by the ECU

We made it this far. The car is calibrated and running on a base map I made myself from scratch, well I did have some similar engine maps from friends with similar set up's to look at for reference but I wanted to start off with my own base so I knew that each section was correctly set up for the car and calibrated properly as all sensors, throttle body etc require calibrating for the items used.
A little screen shot of the ECU Master black software, seems to be working well and quite user friendly.
Really good to see the CANBUS working correctly for the standard clocks as well as my logger screen on the dash. I will in the future start to modify the CANBUS steam with additional data

Final things to get set up this week is the vanos. I currently still have the cams set at a fixed position so I am going to use this to set the cam angles before retiming the engine and plugging in the solenoids so I know what cam angle I should target to achieve the current fixed centrelines.


Paid Member
This blows my mind but fascinates me at the same time
Cheers, I’m glad you think so! This recent work has been really interesting, a good learning curve too. Taking on some things I’ve never done before really. I would have preferred to do it a little slower with more time but I have been determined to make Oulton in November.