1. I used the typical E28 728i oil pan, pickup, and dipstick tube. I butchered a roofing bolt from a local diy shop to create a support for the dipstick. It threads straight into the block in one of the unused engine arm holes and has to be bent into shape in a vice, if done right it will locate perfectly in the bracket on the tube.

2. You can use another roofing bolt to secure the oil pickup. Ideally for long term reliability that small M6 bolt at the top of the pickup on its own with that bracket on the pickup just hanging there is no good. I had to remove the windage tray anyway to cut off the old pickup tube supports so I drilled a hole directly under where the pickup bracket sits allowing me to fit the bolt securing the two together. I had to file a little off one side of the roofing bolt head, and about half a mm off the top to clear the main bearing bolt. The pickup is super secure now, don't forget to use threadlocker!

3. While the M54 engine is out of the car and accessible, replace the plastic heater pipes on the side of the block!! These engines are 20+ years old and these pipes will be knackered from heat cycles and people ignoring coolant change intervals. I removed mine and they just crumbled into dust despite looking okay from the outside. Make sure you go for OEM BMW replacements too for these, you definitely don't want these going kaput on the motorway!
4. Fit a wirelock nut to your oil pump chain, everybody knows this already but it's super important. If you want to go a few steps further, inspect the oil pump chain, I found mine to be quite loose and stretched so I replaced it and fitted a vw style tensioner. A loose chain is known to resonate at higher rpms and shear off the oil pump shaft!
5. You can fit an M52TU fuel rail which has the fuel pressure regulator built in, the injectors swap straight over and it mounts right up to the M54 manifold without modification. This allows you to keep the E30 fuel filter in its stock position and not have to worry about mounting the M54's bulky filter/regulator assembly somewhere. It's also a much cheaper and more elegant solution than using an S54 regulator imo.

6. If you plan on fitting an E9x brake servo, the larger of the three auxiliary vacuum ports on the rear of the M54 inlet manifold, and part of the plastic shield for these ports will interfere with the servo and not allow the manifold to sit correctly. You will need to cut away part of the shield, and the large vacuum stub in order to clear it. I plugged the vacuum port with some araldite and a 1mm thick circle of rubber.

7. For the temperature sender you want to use the brown E30 one threaded into the plastic hose connector from an E39. However the temp sender thread is M14x1.5, you can make the boss on the E39 connector this size, but the walls become so thin that failure will be inevitable with the heat and pressure of the cooling system. If you machine the thread on the sender to M12x1.5, and drill and tap the boss on the connector to match, enough material remains to ensure decent strength. If you can't machine a temp sender yourself, Dan at BM Conversions sells one ready made https://bmconversions-uk.co.uk/product/ ... mp-sensor/
I used eyelet crimps to provide an earthing line from the temp sensor to the block, the crimp on the temp sensor also doubles as a copper washer for sealing.

8. I'm using an E36 aircon radiator with integrated expansion tank, for the top radiator hose I used an E36 top hose cut to length. In order for the hose go around the tight bend to the radiator inlet better, I cut around 1cm from the radiator inlet pipe. I've not got round to the bottom hose yet but I believe an E46 bottom hose cut to length should work.

9. For heater hoses, the heater inlet should be the S shaped hose from either 11537805358 or 17127548223, both will work. For the return hose use 64216951946 from the heater core, if positioned right it should just avoid kinking under the inlet manifold, but space is tight! You need basically the full length of it to run down to just beyond where the engine mount sits, then connect it to a 18mm Y piece that can be bought from here: https://www.ebay.co.uk/itm/187912272134 From the Y piece, a length of hose with the connector on the end is routed straight to the return hose on the block, and use 11531709052 cut to length from the Y piece to the expansion tank if you are using the radiator with that type. The bracket for holding this pipe to the chassis rail is 11531721871 and can be gotten from the dealers for around £10.

10. You don't have to cut off and re-weld the floor bracket on the E30 to allow fitment of the E46 pedal bracket, just make a quick metal piece with 2 holes, slight bend to get the angle right and it fits like it was meant to be there! Don't worry if your pedal has come from an automatic/smg car either, the pedal can be opened up and the kickdown detent removed. Annoyingly, the cover for the pedal is held on by 5-point security torx screws.

11. If you are fitting the wiring harness to the engine AFTER you have dropped the it in your E30, make sure you attach the block temp sender connector (under cylinder 6 intake) BEFORE fitting the fuel rail, otherwise it's virtually impossible to get your hand in there!
12. If you want your DME in the stock E30 location, try find a E39 or E53 engine wiring harness. I had no luck finding one so I took my E85 harness and bought another one to combine into a homemade long harness (definitely not for the faint hearted!) However it did give me opportunity to modify the harness for use in an E30 which I will cover next:


12a. You can modify the injector harness rail so the temp sender cable comes out of a grommet at the front end like it does on the stock E30 engines in order to have a neat setup.
12b. If you shuffle some cables around at the bottom of the electrical box, you can allow trunking to a C101 connector. Quite a tidy way for it to interface with your car's harness. I can provide wiring schemetics for this on request.
13. I made a rack for the DME, relays, and fuses to sit in the stock E30 location using the original Motronic DME bracket, some 1.5mm aluminium sheet and my favourite roofing bolts from the diy shop lol. It miraculously clears the brake light switch by a few mm, and the footwell cover just fits too although it requires removal of the headlight beam adjuster.

14. The only oil level sensor which is compatible with both these oil pans and the E30 warning system is one from an E34, and these are eyewateringly expensive and almost impossible to find. My solution was to take the one that came with my E38 pan, and turn it into a 'faker' to trick the E30 into thinking it's correct always and keep that annoying check light out. You can depin the connector on the sensor and short pins 2 and 3 (static sensor), and put a 1k resistor across pins 1 and 2 (dynamic level), fit the rubber boot over it and nobody will know! This also means if I'm lucky enough to acquire a proper E34 sensor in the future, it's a straight swap. Obvious disadvantage is it will say the oil level is a-ok even if there's none in there! But you check your dipstick every week, don't you?

15. (MS45 ENGINES ONLY) M54 engines with the MS45 DME have an updated charge regulating design. The D+ wire has been replaced with a bi-directional data interface which provides the DME better control of charging from the alternator. Unfortunately this also means that the charge light on the dashboard is now controlled via the CAN bus and instrument cluster computer which our E30s do not have. To make your E30 charge light functional again, I have designed a circuit that exploits the fact that the battery's voltage is usually higher when it's being charged (13.5-14.5v) compared to when it's not (12v). When the circuit detects battery voltage is 13.5 and above, it turns off the charge light, and when it drops below that, it turns it on. It connects to 12v switched, negative, and C101 pin 1.
If you have an earlier M54 engine with a MS43 DME, your alternator works exactly the same as your standard E30 one so wiring is as it would be.

16. Oil pressure switch connects to the DME normally on M54 engines, just disconnect it from the DME and route it to C101 pin 5, the DME doesn't care.
17. The econometer requires the correction circuit made by Seattlecircuit due to the larger injector size. The Seattlecircuit website is long gone but the guy still makes them and I can provide his email on request (don't wanna put his personal email on a public forum). You need to splice into one of the injector firing wires in order to take off a signal for C101 pin 8, from there it goes to the input of the correction circuit. What would originally connect to the fusebox side of C101 pin 8 needs to now connect to the output of the correction circuit. I put the charge light circuit and the econometer circuit together in the fusebox for relatively easy access should they ever need adjustment.

18. Originally on an E30 to reset the service light you would short pin 7 of the service plug to ground. This engine doesn't have the service plug, but the service light reset goes through C101 pin 11. I chopped the cable going to it from the fusebox and attached it to a tiny toggle switch going to negative to have the same effect, and mounted the switch to the side of the fuse box. To reset your service light now, flick the switch with ignition off, turn on ignition until lights reset, then turn the switch off. Much easier than messing with bridging wires!
Hopefully this helps some people, especially with the electrical side of things, by far the most daunting part of an M54 swap. If I can think of anything else I'll post it too.
I'm hoping in the future to enable cruise control with my M54 E30, being an electronic throttle there's nothing mechanical that needs adding for it. Still need to do a lot more research into that first.

