Programmable Digital Ignition

    You've probably seen various programmable digital ignitions ranging from $400 to $600+. Would you believe there is a digital ignition control that is easy to program (No complicated charts or maps) and comes with; a user friendly hand-held programmer, dual calibrations so you can have one setup for street and one for strip and can switch between the two quickly and easily, 4 switchable rev limiters, a high speed rev limiter, 4 rpm switches, an automatic start retard, 4 switchable retards, and a high speed retard, all for under $150. What's the catch? Well, you have to build it yourself.

    I can't afford to buy a digital ignition so I designed my own. It uses a 50Mhz microcontroller. Because the microcontroller is so fast it is extremely accurate and can handle many functions with very few additional parts. This means it can be built simply and inexpensively. Its not that complicated but it's not a beginner project either. If you don't have experience building electronics then don't try building your own. I originally designed this to control a Ford TFI distributor but have since upgraded it with its own coil driver so an external ignition module is not needed. It can be triggered by any type of distributor or crank trigger and will work on 4, 6 ,or 8 cylinder engines. It can also trigger any ignition module with a breaker point input.
    I put together a parts list to go along with the schematic. I don't have any layout diagrams or anything so you will have to figure out your own circuit boards and enclosures.
    There is nothing to the hand-held programmer. The screen is a Seiko 16x1 backlit LCD #L1671B1J. Other screens may work but this is the only one I can guarantee. The hand-held programmer is hooked to the ECU with a six lead connector. I use a 6-pin mini-din extension cord, like you would use for a computer mouse or keyboard. The four buttons are SPST NO momentary switches.
    The control unit is fairly straight forward. The power supply has two inputs. One gets power all the time and the other gets power when the ignition key is on. There are three outputs, A is a constant 5 volts, B puts out 5 volts when the key is on, and C is 12 volts when the key is on.
    The retard and rev limit inputs are labeled either + or -. The + inputs use the input circuit with the pull down resistor. Applying a positive voltage will turn the accessory on. If you don't plan to use an accessory with a + input then you can just tie the pin to ground. The - inputs use the circuit with the pull up resistor. Applying zero volts (ground) will turn the accessory on. Any unused - pins can be hooked to a 5 volt source. All of the TO220 case components should be mounted to some sort of a heat sink. I just bolted mine to the side of the aluminum enclosure. All but the voltage regulator need to be insulated so they don't ground out through the mounting flange. The input wires run to the distributor or crank trigger need to be shielded to prevent false triggering.
    The IC hanging off the bottom of the input/output circuit is the relay. The relay bypasses the microcontroller and sends the input signal directly to the output. When the motor is spinning over 400 rpm the microcontroller sends out a bypass signal which switches the relay over so the output gets its signal from the chip. Everything else you need to know should be explained in the manual.
    To make the whole thing work you will of course need the two microcontrollers. I sell preprogrammed chips for $30. If you don't want to build your own box you can buy a finished unit from me for $300. 

You can contact me at

Update: 7-14-2005 - I'm not selling the chips or building these anymore. If you want to build one you will need to burn your own chips. The SX starter kit comes with everything you need, including the chips. The program for both the ignition box and hand-held programmer are available for down load here. This code has not been tested. Right before I stopped playing with this stuff I made a few improvements to the dwell segment on my own car, I also eliminated a small patch that I thought was redundant (turns out it had a little better throttle response with the patch). This is the production code with the dwell segment cut and pasted from my unit, but the patch is still in there. It should be good, but like I said I haven't tested it. If you have any troubles with the code or want to tweak it to better fit your project then pick up a book and learn the language. That's what I had to do to build it. I'm not a programmer, this is the first thing I've ever written. I know it's a mess and almost impossible to follow but don't laugh, it works. I spent over two years adding to and perfecting this code so it does a lot and really works quite well.