Archive for the ‘megasquirt’ Category

Megasquirt rant.

Saturday, January 9th, 2010

Took a few step backwards over break, actually.

I was letting it warm up after mounting the battery box, and it began to run a little weirdly – MegaTune was showing that it was jumping RPMs, but I’d rev it in neutral a little bit and it would run fine for about 30 seconds, then do the same thing again. I figured this was because I hadn’t actually set the timing, so I decided to do that. Keep the car at 2000RPM and turn the distributor until the steel ball is visible in hole in the transmission bellhousing. Okay, done. Oh, what’s this? The timing light doesn’t fire on #1 at idle and the thing will just die? That’s kind of peculiar… Also, this engine can’t possibly rev from 900RPM to 1700RPM in one polling interval, and that’s kind of messing up my fuel delivery. Something’s wrong here.

Long story short, it got to the point where at idle the only cylinder giving consistent spark was #3 verified through test plugs and feeling the header primaries, and I learned how funny 4-cyl engines sound when they are running on one cylinder. I’m pretty sure that the reason for this can be attributed to the fact that my Pertronix unit was finally dying. Over the summer I ran an MSD Blaster coil, foolishly without the required ballast resistor, and let a little bit of the magic smoke out of the ignitor. By some stroke of luck, though, I let it cool down and it fired right back up, and I had no problems with it for about the next 1200 miles. I replaced the stock coil as well, and that wasn’t to blame, as it acted exactly the same with a replacement.

Oh, forgot to mention – when it managed to run on more than one cylinder, I decided “fuck it! I’ll just drive it around the block and at least feel good to have a somewhat drivable car!” Backing out of the driveway, I tapped the brakes to stop the car since I had to wait for traffic, no biggie. Go to let the clutch out, and the revs just drop. Give it a little gas and let the clutch out, same thing. Did I leave a brick or a 2×4 or maybe a small animal behind one of the rear wheels? What the hell? I poked around, didn’t see anything impeding my path, and disconnected the vacuum line to the booster, and it took everything I had not to let the car roll into the street.

So now I have to deal with a faulty booster.

Nik eventually came over and I figured that with a week to go before I left, we’d have plenty of time to get the car diagnosed and on the road – after all, he knows much more about MegaSquirt implementation than I do. I mean, he made a Fiat run, although I guess doing that is probably easier when you use aftermarket engine controls. Anyway. He comes over and we decide to swap the EDIS back on, after all, it did actually run however terribly so we could at least get to that point and see what was going on. After checking the hardware on the MS board, and replacing a blown optoisolator, and through a few of his “how the hell did this ever run at all like this?!” moments, I was confident that we’d plug the MS unit in, load up a basic fuel and spark map, and it would fire on the first try.

Well, that sure as hell wouldn’t adhere to the theme of this project. It did eventually start, but only as well as it did before… Well, I guess that’s acceptable. Swapped VR sensors and tested both with a multimeter; nope, those are both reading the exact same at cranking speed. Changed the EDIS4 module… Same deal, not working. Even went to NAPA and got a new coil, ran it for about 5 seconds and determined that it wasn’t to blame either, and managed to return it. All the while, the test plug is throwing a big nasty spark on all 4 cylinders. So this, combined with the fact that it was previously backfiring through the intake manifold, and blowing fireballs out the exhaust, should have immediately told me – it’s the timing, dummy.

So off I go to check the manual on how to install EDIS. Well, shit. Initially I had thought I put the trigger wheel on the crankshaft pulley on backwards, so I put it on 180° from where it was before. HOLY SHIT. THAT EXPLAINS EVERYTHING. It’s acting exactly like it has a distributor with the cap on backwards. I went to press the 36-1 wheel off the pulley in a 20 ton press (JB Weld you are no match for that beast) so I could align the missing tooth properly. According to the manual, on an engine where, facing the crankshaft pulley from the front, it spins clockwise, the missing tooth is supposed to be 90° clockwise of the VR sensor. Well, I had it 90° counterclockwise of the sensor. Yes, that HAS to be the problem. I grabbed a hot-glue gun to temporarily hold the trigger wheel on, triple-checked the positioning of the 36-1 wheel, and went to go fire it up fully expecting it to run perfectly.

Nothing. Not even a cough. WORSE than with the trigger wheel on backwards!

So yeah. That’s where I’m at now. The next time I’ll be spending any reasonable amount of time with the car is at the end of March. My plan of attack is… I guess just keep fucking with the timing until it runs? Maybe try to find another Pertronix unit to replace the one in my distributor? I left pretty frustrated, in about the same mood as when I left after summer break.

But right now I really don’t care which is part of the reason I didn’t update this thread.

A crappy li’l MS update

Saturday, November 28th, 2009

No pictures to update with but, Nik and I got the car to run (and drive) today! We began to suspect if there was any ignition happening, and after putting the distributor back in and running the B&G original code on the MS, it fired right up. It even drives practically perfectly. The silly PWM idle unit was ditched, and instead the stop on the throttle was moved so that it’s adjusted like a carbureted/CIS car now.

More updates in ~2 weeks when I’m back for Winter break, and not on a 3-day Thanksgiving vacation!

EDIS coilpack, LC-1 O2 sensor installation

Wednesday, September 9th, 2009

Coilpack mounted on the firewall just about where the distributor was so the cables I have will still be the right lengths. Also I made some standoffs for the coilpack to sit on, so it sits about 1/8″ off the firewall.

The gasket under the fusebox was all rotten and cracked so I bought a little sheet of rubber and made my own replacement. 🙂


This is where the O2 sensor and LC-1 end up sitting. It’s almost like I know what I’m doing! That little nylon clip inside the tunnel holding the wire up will be replaced with an aluminum one.

Working in the trunk!

Wiring and fuel line routing

Saturday, September 5th, 2009

Routing the fuel line turned out to be a little bit more difficult than I thought it would be and I was stuck trying to decide which way I wanted it to go.

Pulling the fuel tank. The in-tank pump made it really easy to drain it :V

Where I’d originally planned to put the fuel line. On the trunk side, it’s too high and exposed, and on the cabin side it’s also too high and interferes with the back seat.

The little dot in the bottom-middle is where the line will go through the firewall

I decided to have the line pass through this step (the big red thing) which is actually a big square channel beam that the differential hangs off from. That’s also why I had to remove the gas tank, or else the drill wouldn’t be able to go through it squarely

1/8″ bit going through the square channel to illustrate about where it is. The fuel line will pass through it, and then re enter the cabin under the rear seat. It should only be exposed to outside for about 1 foot, and runs just above the passenger side inner CV axle

Also the friendly UPS man delivered my LC-1 wideband controller 🙂

EDIS 36-1 trigger wheel mounting

Friday, September 4th, 2009

Pulley is done after I put the missing tooth 90° ATDC instead of BTDC. Whoops!

The sharpie mark on the pulley is where the VR sensor sits, the keyway points toward the head at #1 TDC and the missing tooth is finally in the right spot.

The spacer ring thing was a bunch of JB Weld inside a tape “dam” around the circumference of the pulley, then turned down in the lathe to center the EDIS wheel. The wheel was then JB Welded in a few spots to secure it.

More later!

Still installing the megasquirt and its ancillaries

Friday, September 4th, 2009

Nik and I have spent the last 3 days working on my car and there’s still at least one more day of work to do on it.

DB37 main harness going through a hole cut in the firewall. Its position is ideal because it’s not too close to the exhaust, and it’s close enough to the centerline that no wires will have to make any stupid bends. I had to move my brake lines but that shouldn’t be a problem.

All of the wiring in the engine bay was removed because it was all fucked up and horrible

DB37 connector inside the car, the MS unit will live in the glovebox.

Nik determining lengths for leads within the main harness

Me making the plate that the relays, fuse block and EDIS4 unit will reside on. It’s made out of an old street sign. Thanks, city of San Francisco

EDIS4 and fuse block with appropriate hardware

Panel on the firewall starting to be built

My roof became a storage area

While Nik was doing the hard stuff, I was going through the harness that went along the firewall and trying to figure out what each wire did. At some point the harness must have melted because for every wire there was a 12″ long extension, terminated at each end with spade connectors, and all wrapped in electrical tape. This doesn’t sound too bad until you learn that all of the extensions were cloth wire, good to about 400°F – that is, if it doesn’t get soaked in oil and/or gasoline like these undoubtedly had. One lead going to the coil had all of its insulation completely gone with bare wire exposed. FUN!

A while later…


Late (’88-on) e30 325i fuel pump that drops into the stock tank. The E30 318is pumps are good too because they have the return fitting built into the pump in case your stock tank doesn’t have a return on it.

Messy, but the panel under the dash grows. Done for the night.

Tomorrow, routing the 5/16″ fuel feed and 3/8″ return lines.

Plug wire construction, O2 sensor bung installation

Thursday, August 27th, 2009

Anyway I did a couple of little things to prepare for the addition of electronics to my car:

I went to the junkyard and got a coil, some escort coil-side plug ends, and the connector for the coil. I already had the blue Ireland Engineering 8mm plug wires. They’re like $50 from IE but I got them off a junkyard 2002 for $5.

This little gizmo is an MSD piece that was incredibly helpful in making these wires. In this picture I am cutting the insulation off of the wire; to do this you stick the cable in like so, put a razor in the slot on the top, and spin the cable.

Twist off the insulation and blammo, exposed core wire with no fuss. At this point I found out that I have solid core wires with resistors in the plug ends, about 4.6kΩ. Nik tells me that this might interfere with the VR sensor depending on how its wires are routed but hopefully it’s nothing too serious.

Then I folded the copper wires back on the insulation, slipped on the terminal, and used that same tool from before (plus the other piece of it) to crimp the terminal onto the wire.

Ta-da. Even though this picture looks good, I fucked up about twice before I got it right. It’s important to make sure the boot and cap are both on the wire BEFORE putting the connector on!


Yay. The plug ends are worlds better than the Beru or Bosch pieces because they sit much more solidly on the end of the spark plug. They aren’t floppy like the OEM pieces.

This O2 sensor bung cost me $8. At least it’s nice as far as bungs go

I decided on putting it not on the header collector but on the center resonator for 2 reasons. The turbulence should be mostly over by the time it reaches the 2nd part of the exhaust, and also because there is a ton of room to work with there.

Make a mark…

… then make a 1″ hole…

… make sure the bung fits…

… And then weld it in. I put the old sensor from my Focus in there to make sure that it didn’t warp – it didn’t.
Hopefully the next post I make in this thread will be pictures of the trigger wheel on the crankshaft pulley. 😀

Crank pulley restoration, VR sensor bracket

Saturday, August 15th, 2009

Anyways I’ve been lagging on posting photos so here’s some more:

A bead welded around the pulley to fill in where the front main seal ate away at the metal

Turned it down in the lathe and then hit it with some emory cloth

Then I beadblasted the rest of the pulley. I’m not really happy with the grooves on the seal part, anybody have any suggestions on how to polish it better?

Mocking up where the VR sensor will live. The 36-1 wheel was hotglued to the AC crank pulley I have so I could have somewhere to judge off of for the pickup. The VR sensor being a magnet was pretty

I used a blank junction box cover to make the bracket. Originally I was going to just mock it up with this…

… But I ended up trimming it down and filing it as I was pretty happy with how it went together. I made it so that it’s about .020″ (.500mm) away from the trigger wheel.

I had to get rid of some of the pegged behind the hole on the VR sensor. I think I might have get a little too hot on the belt sander because the plastic cracked – probably due to the metal expanding enough to break it. No worries because I’ll just pack it with epoxy or something.

I still need to put the trigger wheel on the crank pulley, but that will happen the middle of next week at the earliest as I’m going to the Monterey Hystericals.

Poly steering coupler, VDO gauge restoration, TPS bracket

Friday, August 7th, 2009

Been doing some random stuff the past week.


Actually I was changing the steering column rag joint. The factory manual calls for you to just loosen a bolt that clamps the flange on the steering wheel side to the splines on the shaft, but like that would work with how much dirt/grime/corrosion was undoubtedly in there. So instead I decided to just pull the whole column out.


Now because I’m poor and stupid I decided to “restore” some old VDO gauges that I had lying around that I wanted to use and have look nice.

Water temp gauge:


Sanding some more…

Primed 🙂

It came out decent enough, although I masked a little bit too much off and instead of there being black paint everywhere there’s a little bit of surface rust showing up. 🙁

So I thought I’d try a different method with this tach, leaving some glass exposed so that I could later just go over it with an x-acto knife to clear any stray paint off.

Left side is sanded and the right side isn’t, I think the bezel was found on the deck of the Titanic or something

Getting there


First coat of satin black Rustoleum

Looks good and I’m happy with the outcome. I found the tach on craigslist for $35, apparently it came out of some guy’s old bug. It’s perfect for my car, I ditched the stock tach because it was on the bad side of intermittent, but this one has the same count (8000rpm) and fits right into the trim ring on the factory gauge pod. It also seems to be a little bit more accurate than the other tach in terms of keeping up with the actual engine speed (not flinging around like crazy on rev matches), although unfortunately I think it reads about 100rpm too high. but I have one question: for some reason I have to set it to 8-cyl in order for it to read correctly, any reason for this?

Anyway onto tasks more pertinent to the project at hand

Some new junkyard purchases

’89 E30 325i in-tank fuel pump and level sender. It’s a direct drop-in replacement for the 2002 fuel sender, although it’s about 10mm shorter than the stock one so the tank capacity effectively decreases. However, the level sender still functions as it should so there shouldn’t be any surprises, and I figure with the fuel injection I’ll have the same or better range with less fuel.

’84 E30 318i ICV assembly. The cold start injector is missing, but $15 for something I wasn’t planning on using anyway was a bit too much to ask. I had a busted one anyway that I used the plenum cover for.

VDO apparently isn’t ideal for megasquirt, and I’ve heard that the Bosch unit is the way to go, but there really isn’t much evidence to support that

Closeup of the plenum cover/idle air inlet. I’ll have to make up some kind of blockoff plate/plug for that hole, I’m thinking just an M8x1.25 Allen head bolt with some loctite on the threads should suffice.

I made a TPS adapter plate to allow me to put the Nissan potentiometer-style TPS on the 325i throttle body because the bolts on the Nissan part are much further together than the BMW switch-type.

All finished! I had a hell of a time getting the holes to line up everywhere, but the stepped ring on the TPS fits perfectly into the large hole on the adapter plate, and all the bolt holes line up pretty well now that they’re filed out a little bit.

I didn’t take into account the space the M5x.80 bolts would take up behind the plate, but I made short work of the problem with a few files.

Now comes the problem with using the 51mm M20 throttle body versus the 45mm M10 throttle body. The bolt patterns are a little bit different between the two. meatpotato in his thread bought a part from Tom Rafalski’s 02Again that clocks the bigger throttle body and adapts it onto the intake manifold, rotated so that all the bolt patterns line up. But after looking at how close this one is to fitting on its own, and understanding how little force is on a throttle body, I wonder – Is there any reason at all why I can’t just cut the aluminum from the shorter holes and leave them open-ended, and just file out the closer holes?

I started to play around with putting that pulley on the lathe, unfortunately this 3-jaw chuck we have was out .030″ which is far, far more than ideal. I messed around with the 4-jaw chuck and while I got a lot closer it was frustrating for a newbie like me to make and adjustment and then have the thing go from .018″ out to .113″ out.

For some reason my dad wants to slather some JB Weld on the polished surface, and machine it down leaving the epoxy in the groove left by the front main seal. I’m afraid this will crack, either that or be too rough for the seal after it’s been machined down. I’m trying to tell him to weld a bead on it but he seems reluctant to do that, which I don’t understand because a) we have the means to do it in about 3 minutes and b) it’s not currently centered on the chuck, not even close.

OK I’m done for now.