Click here for MegaSquirt® MegaManual™ Information, Guides, and Links

MicroSquirt® Direct Coil Control

This archive document primarily applies to older V2 and V1 MicroSquirt® controllers.
For the latest V3 MicroSquirt® controller documentation, click this link: V3 MicroSquirt® Quickstart Guide

A couple of things to note for those installs that are direct-driving ignition coils with MicroSquirt® (i.e. not using an ignition driver module but instead using the VB921 drivers in the MicroSquirt):

  1. Make sure to set the Spark Output to 'going high (inverted)'. This sets the correct polarity for the output.
    By the way, for those just curious on why this particular nomenclature, the answer is that the driver IGBT in the MicroSquirt® controller inverts the signal in its configuration. The processor output on the MicroSquirt® (you do not have access to this wire, it is hard-wired to the IGBT) goes high in order to turn on the IGBT driver, which then pulls the output low (i.e. inverts).
  2. You need to have a handle on your dwell setting for the coil you are using. All the dwell number represents is the amount of time (in milliseconds) it takes to charge up the coil. Yes, because of a parameter known as inductance, it takes time to bring the coil up to a desired energy.

    The optimal dwell value is a function of the primary inductance and resistance. Chances are you do not know the inductance or resistance. If you do not then you can do one of two things:

    1. You can measure the inductance and resistance yourself. You will need an ohmmeter, which you probably already have. The other item is an inductance meter, which you may not have. Go find one of your geeky friends and ask to borrow their inductance meter. You can also become a geek yourself and purchase an inductance meter, you can get one on eBay often for little money. With the inductance and ohmmeter, grab the following PC application:

      Follow the instructions included with the application and you will quickly determine the ignition coil dwell time. One item to note is that the IGBT driver used in MicroSquirt® saturates at 7.5 amps, so use this number as the charge current in the application.

    2. Guess on the dwell number! You can start with a number, like 3 milliseconds and work from there. In fact 3 milliseconds should be enough to get the engine running and is an all-around good starting number.
    3. Obtain a 0.1 ohm resistor at 10 Watts or higher (something to look for at the next hamfest or other electronics gathering) and put inline with the +12V going to the coil, and use a oscilloscope to measure the voltage across the resistor. Using Ohm's law, the current is equal to the voltage divided by the resistance. What you will see is the scope trace ramp up as the coil charges. If you keep on increasing the dwell number in the software, you will get to a point where the ramp levels off - at this point is the target dwell number to use.

    For more info, see the 'Setting Dwell' section of the manual.

  3. Realize that driving an ignition coil generates a lot of noise. This noise can get back into the other MicroSquirt® circuitry and cause false tach signals, processor resets, sensor noise, etc. On MicroSquirt® EFI controller, everything is packed tightly together, so it has more chance for noise coupling. A few things to help with this:
    1. Keep the ignition drive wires (and injector) away from the other wires on the MicroSquirt® connector. It does not take much to couple noise back, especially thru the serial link.
    2. Make sure the grounds are correct. See the MicroSquirt® wiring page: MicroSquirt® Wiring/Grounds.
    3. One thing that you can do to significantly reduce noise is to use a snubber capacitor. Remember in the old days with points (Kettering) ignition? With the points was the "condenser" (which was just another name for a capacitor). And everyone knows that the condenser was there to keep the points from arcing and burning out.

      Here is why the condenser (a.k.a. capacitor) reduced the sparking: A capacitor blocks direct current (DC) but will pass AC current. When the points open there is a fast transient in voltage and current. What the condenser would do is to briefly shunt the current around the points and complete the path. But it would only do this for a brief moment, but enough to reduce the arcing.

      The same thing can be done with solid state ignition drivers - in fact systems like the Ford EDIS and GM HEI use capacitors located at the ignition coil. These capacitors will briefly shunt the flyback current, bypassing the driver, for a brief moment. What this does is reduce the stress on the driver AND reduce the radiated noise emission (EMI). It is a significant benefit. The capacitor does change the discharge pattern slightly (it sets up a L-R-C circuit) but not enough to notice.

      You can easily do the same thing. On the IGN signal from the MicroSquirt® going to the ignition coil, connect a 0.01 microFarad (µF) capacitor rated at 630 volts or so, connect the other terminal to ground. Connect this up right at the ignition coil (EDIS does this) such that the shunt path is contained right at the ignition coil. You need to use a Polypropylene (PP) capacitor rated for pulse discharge operation. A good choice is the Wima MKP-10 series:

      You can also use an equivalent, like Epcos B32621A6103J (you can get this at

  4. IMPORTANT NOTE! You can directly drive a maximum of one coil per ignition driver with MicroSquirt®! This is because each of the two coil drivers (the VB921's) can only sink enough current for one coil. That one coil per VB921 can be a double ended 'wasted spark' type coil for two cylinders/coil, that is fine.

    But you CANNOT 'direct drive' two or more separate coils in wasted spark configuration directly off of one VB921 ignition driver (see below).

    If you want to drive more than 2 coils, you might look at the 4-coil Bosch 211 igniter or the LSx series of coils with their built in igniters (and logic level signals on the ignition outputs).

    Note that coils for dedicated wasted spark usage often come in "coil packs". Typically, these are two coils with 4 high tensions leads (i.e., 4-cylinder) in a single package. MicroSquirt® controllers *can* control the 2 coils in one of these coil packs in wasted spark mode, since each coil can be controlled by separate ignition drivers (IGN1 or IGN2). An example is the Ford EDIS coil (see below) which can be directly driven on the coil pack's pins 1 and 3 (with 12V on pin 2):

MegaSquirt® and MicroSquirt® controllers are experimental devices intended for educational purposes.
MegaSquirt® and MicroSquirt® controllers are not for sale or use on pollution controlled vehicles. Check the laws that apply in your locality to determine if using a MegaSquirt® or MicroSquirt® controller is legal for your application.
©2008 Bruce Bowling and Al Grippo and Lance Gardiner. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks. This document is solely for the support of MegaSquirt® boards from Bowling and Grippo.