After mass purchasing what I figured were all of the parts I could possibly need for the project, I got down to soldering.
The specific megasquirt kit I bought was the MS-II PCB3.0 kit w/ case:
It comes with all of the components, meticulously organized and labeled, to fully assemble the ECU. Just add solder, and time.
I also highly recommend the unfortunately named "stimulator" for testing your circuits as you go:
The stim is also a good warmup soldering project if you're new to soldering or haven't done it in a while. It's best to practice on something smaller and less consequential than your ECU if it's been a while since the last time you soldered a PCB.
I actually also bought the MS Relay board, but as I'll address in a future post I think that was a big mistake. The relay board is just an added complexity / failure point and is difficult to rule out when you're tracking down electrical noise, etc.
[it's also possible to buy all of these things preassembled, for slightly more money. But where's the fun in that?]
Anyway. The assembly went very smoothly for me. I used the instructions from megamanual.com but later ended up getting most of my information from the forums at msextra.com. In retrospect, I would recommend sticking with one documentation source, to avoid running in to conflicting information. Therefore, because it's a more active community, I recommend sticking with documentation from http://www.msextra.com starting with the build guide here:
There are a few choices that must be made at build time. I've gone back and unsoldered things several times but the ones I settled on are:
--low-power, logic-level spark outputs driven from the D14 and D16 LED signals as described here: http://msextra.com/doc/general/sparkout-v30.html
--VR Sensor trigger input
--4-wire stepper-motor idle control
I've got a few pictures from the process of soldering up my MS board, but I think the pictures in the build manual are more helpful anyway so I'm not gonna bother posting mine unless anyone has questions.
I started this build with a sudden influx of a couple thousand dollars. Had I not been in that state where I felt like I could literally afford anything I might have not started it at all. I bought what I thought was all the necessary parts within a month of beginning the project, before I even removed a single bolt from the car. The goal was to be done in a few months and have the car off the road for a minimal amount of time. I started the convesion in January of 2011 and didn't have it back on the road until around May of 2012.
That's not to say that the build was particularly difficult, but I seriously overestimated the amount of time I would be able to devote to it and I made the mistake of blowing all of the money right away on what I thought was everything I'd need. Of course I had forgotten bits and pieces that then took months to save up for on a tiny budget.
The number one thing I would do differently if I were to do the process over again would be to do the project piecewise and never do things that would be more than a day of work to undo without testing the whole system. Instead, I tried to disassemble just about everything and hope that I would get it all back together correctly with no flaws. As a programmer I should have known better. That's like writing an enormous piece of code with no debugging and just hoping that it all runs correctly the first time. It's worked for me on car projects in the past but this was way bigger than anything I'd attempted before.
Anyway. My preparation for the project basically consisted of months of trawling the internet for all the information I could find on megasquirt and EFI conversions in general. I had no prior experience with anything like this so it was all new to me. The most helpful resources I found were the ones with the most explicit descriptions of the process of conversion. I always find it much easier to reverse engineer the way another person put their build together than to build up knowledge of something like this from scratch.
That said, in the rest of this blog I'll try my best to be specific about the process I went through, be thorough with the steps required, post pictures where appropriate, and not dwell on the dead ends I took. At the end of the series of blog posts I'll write up a post about lessons learned and best practices that I learned through trial and error. My goal is to help people who want to pursue a similar project, and not necessarily to appeal to people who already understand this process.
I've been meaning to get around to this for a while now. I relied very heavily on support from the internet during the process of my build and the least I can do is give back to the community that helped me along by sharing my experience with converting my M10 to fuel injection using the Megasquirt EFI system.
First of all, I'd like to post a mostly-complete list of the aftermarket / repurposed parts I used in my build. This is the number one thing I found missing from a lot of writeups. Many people assume that their readers are already intimately familiar with their options and tend to omit thorough lists like this. Searching the internet for the part numbers listed here should get you on the right track if you're looking for similar parts.
As I continue with further blog posts about my process I may come back and update this list with parts I forgot so hopefully this list will stay mostly complete.
Intake Manifold/Water Neck/Water Bypass from a junkyard 1983? 318i
Air Filter K&N RC-5127
Breather Elbow: OEM 1987-90 BMW 325i
Throttle Body from 1987-90 BMW 325i / 525i
Alternator: 65A from 1977-79 BMW 320i. Bosch AL116X
Fuel Injectors: 19lb/hr Bosch 0 280 155 710
Fuel Pump: 1991 318is In-Tank Pump: Beck Arnley 152-0993
Fuel Level Sender: VDO W0133-1612542_VDO
Radiator: 320i Radiator. Came w/ hose kit. Bavarian Autosport 17 11 1 061 KIT
Oil Separator/Catch Can. Moroso 85497
Power Distribution Block Pyramid RFP7
Throttle Cable: Spectre 2431
Exhaust Header, Crank pulley, etc from Tom Rafalski at 02again.com
Heater Valve: Home Depot plumbing section
Ignition Coil (x4): AC Delco D585
Lambda (Oxygen) Sensor: (Wideband) Innovate LC-1
Intake Air Control Valve: ‘91-’97 Jeep Wells AC320
Throttle Position Sensor: ‘84-89 Nissan 300Zx, Part # 29304?
Coolant/Intake Temperature Sensor: AC Delco 213-928?
Electric Engine Fan: Generics (12”?)
Anti-Overrun Diode: 1N4001 (remind me to talk about this in a future post)
Solid-state Relays Hella 931773987
Fuse Block Blue Sea 5025
Relay Box Hella H84988007
VR Sensor (connector) Airtex/Wells 5S1739 ( Airtex/Wells 1P1258 (626) )
High-Temp Twinaxial Shielded Wire for VR sensor MilesTek M17/176-00002