Saab 900 Turbo

Ignition control with Megasquirt

Megasquirt MS1/MS2 ignition install on a Classic Saab 900 Turbo 


Ignition Map samples

DI88 Advance table (vex)

Current Spark Table (vex)


I have been asked to write a HowTo instruction on installing a Megasquirt to control spark on a Saab C900 Turbo. To do this on a NA Saab of similar vintage or other similar Bosch ignition setups will be similar.

Modifications to Megasquirt


What we need to do is get the hall sensor signal from the distributor to the Megasquirt board. In the terms of the original MS/Extra documents, the schematic needed was called "Schematic 2" . In electrical terms, this becomes a noninverting input to the Megasquirt. The current manual is here MS Extra Ignition Hardware Manual. The description of the type of Bosch hall sensor is "Lo to Hi" in the text of this manual. I find it a bit confusing to think of it this way. Regardless, you want to use this schematic Noninverting input. It is a bit confusing when they talk of a 5V and a 12V sensor. The sensor itself is capable of being powered by 5-20V, I believe. What is important is the sensor itself is either 'open' or 'ground'. When it is open, the pull-up (5V in this case) is what the megasquirt will see and when grounded, it sees ground. To get the hall signal, I cut the wire to pin 6 on my ignition module. It is a brown wire on my '92 C900. I fed the side from the hall to pin 24 on the MS. This should be adequate to be used on a V3 or a V2.2 board. Let me know on MSextra if this is not clear.


The module we want to use is a non-dwell unit otherwise known as a -124 module. Information is on the msefi site. Bosch 124 

Since we are not driving a coil directly (although this can be done easily with the V3 board), all we need to trigger a Bosch ignition module is a square wave pulse train of low current. The output transistor on the board is capable of this, easily. One note is that if you are using a V3 board and are getting weak spark, you may need to change the transistor from a 2n3904 to a 2n2222. The V2 board used a 2n2222 and it is a higher current drive transistor and may affect how strong the spark signal is. The board modification is pretty simple, all that is needed is a pull-up resistor on this transistor and there should be a fine signal to the Bosch module. This output is fed from the transistor to pin 30 and then to pin 5 on the Bosch module (on the Turbo, this wire was originally pin 6, but this is the signal input on the turbo ignition module that we are not using. To move this pin, carefully extract the old pin and put it in the slot for pin 5). The module should have +12 and Gnd and will also power the hall sensor in the distributor at this point. I used a shielded cable for the run back to the MS unit with the shield connected to one of the many ground pins. 

Dizzy mods

I did a further distributor mod to improve startup. I was using time based cranking advance and it took a few extra cranks to get started. I then messed around with trigger return. Once I figured out what that was, I knew I had to further advance my spark trigger from 40 (which gave 0 deg crank advance with trigger return) to 55-60 deg. The only way I could do that and still have the rotor pointing to a tower when the plug fired was to rotate the hall sensor clockwise a bit more than where it sits when connected to the vacuum/boost capsule. To do this, I needed to make some sort of bracket to hold it there and not have it loose. I built a bracket from an old dashpot, but did not like it. It looked too crude. I then made a loop of 0.025" dia lockwire. The loop goes once around the pin on the plate that the hall sensor is fastened to, the ends of the wire are then looped around the screws that used to hold on the vacuum/boost capsule and then the screws are tightened and a piece of black tape covers the hole. With the sensor plate rotated against its stop, I was able to get a 60 deg trigger and then my cranking advance becomes ~20 which allows for a pretty snappy crank.


Twist the distributor a bit more clockwise than normal and set the trigger angle in MT to 60 degrees. Set it to be 'trigger return' for crank timing. Type in 20 in the MT static timing bin. Twist the dizzy until it reads 20 deg. Lock the dizzy down with the bolt. Then type in -10 in the MT static timing bin (to make it run off the map). With these settings, the crank timing becomes 20 degrees which works quite nicely. There are 2 maps here. 


One is from the Saab DI-88. It is very conservative. The other map is a more aggressive one I was running with MS1. You may not have enough fuel available to run this aggressive. Be careful. I am running 21 degrees at idle and 9 degrees at full boost.