REF: Engine Control01

Aftermarket Ignition Overview

Sub Documents

Why Adjust The Spark Timing?

Quoting XLForum member, RacerWill:1)

One of the things that makes understanding timing difficult is that we're talking about 2 different time frames - crankshaft degrees for spark and real time combustion. We light the fire based on crankshaft degrees and engine load but actual burn time is in real time. To get optimal performance we need to light the fire early enough so it has just the right amount of real time to reach max cylinder pressure just after TDC - so it can expand and smoothly push the piston down, this is called MEP or Mean Effective Pressure.

Typically, you want max pressure to occur about 7 degrees after TDC. Running too much advance starts the burn too early and max pressure happens at or before TDC, causing “ping” (actually knock). Conversely, not enough advance to the spark causes max pressure to happen too late, producing less power and laboring the engine, making it run hot.

The programmable advance maps on the TC88A, and other modern ignition systems, allows timing curves to be altered at any RPM and any load. By trial and error the best map can be found. I didn't know about having all advance in at 3200rpm but that makes sense to me. I run about 32 deg advance but my compression is a little higher than most and compression slows burn time.

Example drawing of advancing the timing on 86-03 Sportsters. 2)

Too Much Advance Timing?

Quoting XLForum member, ASWRacing:3)
A Perspective by Aaron Wilson of Hammer Performance. (June 2013)

I've dyno'ed thousands of bikes over a long period of time, and on many many of them I've dialed in the timing during the process. Advanced it until the power dropped off, retarded it until the power dropped off, and then centered it in between those two locations. I've also played with curves a lot.

I'm here to tell you that too much timing most definitely costs power, and on the vast majority of bikes, the optimum timing is well below the threshold of ping. Running more timing than optimum makes your motor run hotter and puts the pistons at risk and the threshold of ping is a terrible place to put the timing on most bikes!

Most of these bikes, when they have reasonable compression and chamber turbulence (i.e. a squish band), will want their ignition timing set for about 28-30 degrees max advance at WOT. Going past that starts hurting power and making the motors run hot.

When you do a performance build, you really should get an aftermarket ignition, because not only can you turn down the timing, you can bring the timing in more slowly. You almost always find power when you do that on a higher compression build! Most of the motors like it so slow that it's not all-in until 4500-5000rpm. On many ignitions, I've found the best power on the softest curve available. For example, the Dyna 2000 curve 4 almost always works the best if the bike under test has 10:1 compression or more. On a Twin Tec TC88A I literally found the best power on my 04 883/1250 on initial 2 / slope 0. That's the softest curve and almost the least amount of timing the module can give.

Getting this notion out of people's heads that more timing = more power has always been a huge challenge in this business. When you're talking about a performance build, the exact opposite is almost always true. We have a vested interest in seeing our customers get this right, because we don't want complaints of scuffed or broken pistons, and that's exactly what will happen if you run the timing too high, sooner or later.

Two Timing Advance Systems

It is important to understand what the various parts do to create the proper timing. Once that is clear, it becomes less complicated to set the proper timing. Of course, with the latest Electronic Fuel Injection (EFI) systems, there are no longer external timing devices, but rather, the entire timing function is programmed into an Electronic Control Module (ECM). So, the following information is related to pre-EFI systems.

The timing parts consist of a rotating shaft (off the cams) which reflects the position of the pistons, a sensor device to make & break a connection to the coil (such as mechanical points or electronic sensor) and the timing plate (upon which the timing sensor is mounted) which can be rotated to alter the overall timing window.

The purpose of the spark timing devices is to syncronize the spark to the piston position of the engine. Due to the time it takes to ignite and burn the fuel, the spark timing must be altered to account for the engine operating conditions.

All spark timing is Before Top Dead Center (BTDC). Slower engine rpms require less advanced timing (sometimes referred to as 'retarded' timing). Faster engine rpms require more advanced timing relative to the piston reaching Top Dead Center (TDC).

Two Types of Advance:

The old points system used a mechanical advance based on weights & springs to increase the advance of the spark timing as the rpms of the engine increased. The weights, by centrifugal force, rotate the timing shaft to alter the specific point when the spark plug fires (spark timing). Even when the points have been replaced by an electronic pickup coil (such as with the Dyna-S unit), the advance timing is still produced by the selected weights and springs. When using this type of advance, you need to synchronize the spark timing to the piston position (flywheel rotation) by SETTING THE TIMING AT FULL ADVANCE. It is important that the Full Advance Timing be accurately synchronized (and less important where the 'retarded' timing then occurs).4)

On newer, fully electronic ignition modules (such as the Ultima, Dynatek or other modules), which do not use mechanical advance mechanisms, the electronic module will calculate (internally) the proper amount of timing advance based on not only RPM but also on intake vacuum in the manifold. For these modules, they must be synchronized by SETTING THE MODULE AT TOP DEAD CENTER (no advance). Since the electronic module calculates when to produce the spark, it can use the TDC synchronized setting as a reference for any advance it is programmed to use.

If you don't have the ability to reprogram your module, the timing curve endpoints can be altered (which moves the starting & ending points) by adjusting the base plate clockwise (for more advance) or counterclockwise (for less advance). Move the plate in very small increments as the tick marks indicate 2-5° each.

Manifold Absolute Pressure -vs- Vacuum Reading

Quoting XLForum member, RacerWill:5)

Just a quick note on MAP(Manifold Absolute Pressure). First, the word “absolute” refers to where zero is placed on the scale. In PSI Absolute, 0 psi is a perfect vacuum and atmospheric pressure is 14.696 psi approx. In PSIg (gauge) atmospheric pressure is zero and a perfect vacuum is -14.696PSIg (equal to 30 inches of mercury, InHg). Kilopascals is the metric version of the absolute measure where a perfect vacuum is zero and atmospheric pressure is 101.325 kPa.

The MAP value represents engine load - a higher number represents higher load (more open throttle compared to RPM).

For example:
Cruising along at 3000rpm on a slight down grade has very low engine load and a lower MAP (kPa) number. If that slight downgrade turns into a steep uphill, you open the throttle to maintain 3000 rpm and the same speed. The MAP (kPa) number starts to climb towards atmospheric pressure 30 InHg (101.3 kPa).

The point is, MAP readings are the direct air pressure readings and the vacuum gauge reading is the inverse, being the vacuum level reading. In MAP values, the standard atmospheric level is 30, while for the vacuum gauge, 0 is the same level. So a MAP value of 20 (out of 30) is the equivalent of a vacuum value of 10, because vacuum is reading from 30 to 0. A Low MAP value indicates high vacuum and a High Map value indicates low vacuum - The exact same condition is referenced with inverse scales.

Here's another good reference to understand that the vacuum gauge value and the Manifold Absolute Pressure value are readings taken from opposite ends of the atmospheric pressure range:

Typical options for Sportster Ignition Configurations (up to 2003)

1) Stock Older Ironhead Models - OEM
- Points to create spark
- Mechanical Advance to create an advance curve
- Coil is 5.0 ohms to match use with points

2) Stock EVO Configuration (Later model Ironheads & EVO up to 2003)
- Cam Sensor Plate (electronic trigger) - in place of points
- Ignition Control Module - rearward from battery (or other places)
- ICM has electronic curves for advance
- This module uses a VOES to switch between 2 curves - Vacuum Switch
- Coil should be 3.0 ohms

3) Some Only Upgrade By Eliminating Points (older Ironheads)
- Electronic Trigger - Dyna S - DS6-1 model
- Mechanical Advance is still used for advance curve
- Coil can be OEM 5.0 ohm

4) Most Eliminate Points & Mech Advance (and/or stock external ICM)
- Electronic Ignition Module - Ultima 53-644 - In nosecone
- This module includes electronic curves for spark advance
- This module uses a VOES to switch curves - Vacuum Switch monitors manifold vacuum
- Coil is 3.0 ohms

The stock ignition modules for 1998-2003 1200-S models were abandoned by HD soon after 2003. See the Sub-Document link above regarding an alternative ignition setup.

The 2004-later models all implemented the Crank Position Sensor which eliminated the Cam Sensor Plate.
- 2004-2006 models, which are all carburetored, can upgrade to Daytona Twin Tec TC88A Electronic Control Module

The 2007-later models use Electronic Fuel Injection with a more complex ignition system. - These EFI systems can use an add-on programmable controller or complete upgraded Electronic Control Module

The 2017-later models use a CANbus communication system between the Electronic Control Module & the Body Control Module for more control.

Ignition Modules - Aftermarket

HD Non-Stock Screamin' Eagle Modules

While stock modules from the MoCo are Factory/Dealer programmable for either 883 or 1200 models, the Screamin' Eagle (SE) modules are designed for either 883 -or- 1200 and are not reprogrammable to switch a module from one to the other. However, there are some adjustable SE modules that can be used on either 883 or 1200 models.

Many of these modules are obsolete and may be hard to find.

1988-1997 Models

Module P/N Description
32597-96 Fits ’88-’93 XL883 models. 6800 RPM - K Curve
’90-earlier models require P/N 32408-90 for proper fitment.
32632-96 Fits all '94-'97 XL883 models. 6800 RPM - R Curve
32420-87B Fits ’88-’93 XL1200 models. 8000 RPM - K Curve
’90-earlier models require P/N 32408-90 for proper fitment.
32598-96 Fits all ’94-’97 XL1200 models. 6800 RPM - K Curve
32420-94 Fits all ’94-’97 XL1200 models. 8000 RPM - K Curve
32633-96 Fits all '94-'97 XL1200 models. 6800 RPM - Q Curve
32655-98 Adjustable Ignition Module 4-curves/4-RPMlimits
Fits ’93-earlier XL883 or 1200 models.
’90-earlier models require P/N 32408-90 for proper fitment.
32654-98 Adjustable Ignition Module 4-curves/4-RPMlimits
Fits ’94-’97 XL883 or 1200 models

1998-2003 Models - Nosecone Module (not for 1200S)

Module P/N Description
32979-98A Fits ’98-’03 XL883 models. 6800 RPM Limit.
32971-98A Fits '98-'03 XL883 models. 7500 RPM Limit.
32978-98A Fits ’98-’03 XL1200 models. 6800 RPM Limit.
32969-98A Fits ’98-’03 XL1200 models. 7500 RPM Limit.
32839-00 Selectable Ignition Module 6pos DIP Switch
Fits all '98-'03 XL models (not 1200S) - 6posDipSw
(See similar Dynatek DYNA 2Ki)
32942-02 Adjustable Ignition Module 10-curves/moreRPMlimits
Fits ’98-’03 XL883 or 1200 models (not XL1200S)
(See similar Daytona Twin Tec 1005S-EX and
Crane HI-4 module)

1998-2003 Models - For 1200S ONLY

Module P/N Description
32977-98 Fits '98-'03 XL1200S models. 6800 RPM Limit.
32967-98 Fits '98-'03 XL1200S models. 7500 RPM Limit.

2004-2006 Models

Module P/N Description
31784-04A Fits ’04-'06 XL883 models. 7000 RPM Limit (Street Legal - Stock Comp)
31758-04A Fits ’04-'06 XL883 models. 7000 RPM Limit (-5° retard over 6000)
31785-04A Fits ’04-'06 XL1200 models. 7000 RPM Limit (Street Legal - Stock Comp)
31759-04A Fits ’04-'06 XL1200 models. 7000 RPM Limit (-5° retard over 6000)

Screamin' Eagle 32942-02 - Nosecone Ignition made by Crane for HD
Installation Instructions

Mode Switch (only has 4 positions)
0 - XL Mode - Uses 2.5 - 3.5 ohm Coil
2 - Buell Blast Mode - Uses 0.4 - 0.6 ohm Coil
(No reference to function in position 1 and 3)

The ADV SLOPE switch selects a timing curve from 0 to 9, with 0 being the least aggressive curve and 9 being the most aggressive.

The two REV LIMIT switches allow selection of a limit of 1500rpms to 8000rpms. Below 1500rpms is not recommended and above 8000rpms reverts to 8000rpms.

Pin# Wire Color XL Mode wiring into 6-pin Deutsch connector: BLAST Mode wiring into 6-pin Deutsch connector:
Pin 1 WHITE/Black Power from Ignition Switch Power from Ignition Switch
Pin 3 VIOLET/Orange Not Used - Cut terminal - tape wire Auto-enrichener
Pin 4 PINK Coil Trigger (negative) Coil Trigger (negative)
Pin 5 GREEN/Gray Bank Angle Sensor (Gnd if not used) Bank Angle Sensor/SideStand (Gnd if not used)
Pin 6 PLUGGED Not Used - Gnd on harness Not Used - Gnd on harness
BROWN Tachometer Trigger Tachometer Trigger


Crane Ignition Modules

Crane 8-1100 - HI-4 Fireball Dual-fire Nosecone Ignition
Installation Instructions

Crane 8-2100 - HI-4 Single-Fire Nosecone Ignition
Installation Instructions

Crane 8-2300 - HI-4 Single/Dual-fire Selectable/Programmable

Crane 8-3100 - HI-4E Single/Dual-fire Selectable (7-pin connector)
Crane 8-3101 - HI-4E Sinlge/Dual-fire Selectable (8-pin connector)
Installation Instructions

(Also see S&S HI-4N Ignition Module, previously Crane 8-6100)

Daytona Twin Tec 1005 Series

1005EX - Recommended for 1986-93 Sportsters (50 States Street Legal)
- - - - – Install Info:

1005Race - Recommended for 1971-1997 Sportsters (Race advance curves with a slightly wider adjustment range)
- - - - – Install Info:

1005S-EX - Recommended for 1998-2003 Sportsters (Not for 1200S) (50 States Street Legal)
- - - - - 1005S-EX replaces OEM module & uses OEM harness - Advance Curves optimized for these models
- - - - – Install Info:

The Daytona installation documentation for the 1005S-EX nosecone module notes a change of wiring. They indicate the pin placement of the PINK wire and the LtGREEN/Gray wire in the Ignition Module Connector are different in different years. However, their documentation to identify the years affected is wrong. They incorrectly describe the two versions as applying to 1998-2001 models and 2002-later models.

The correct information is in the table below. The two versions are the 1998 models and the 1999-2003 models.

HD WIRE COLORS at Ignition Module Connector
PIN# 1998 ONLY 1999 & LATER
#1 WHITE/Black WHITE/Black
#2 PURPLE/White PURPLE/White

At - 1005 Sales Information:

Daytona Twin Tec TC88A

Image from Rocketmangb of the XLForum The TC88A Ignition Module is usable on the 2004-2006 carburetored models of the Sportsters. It replaces the stock Ignition Module and utilizes the CKP sensor and the MAP sensor to control the ignition timing.

The TC88A has dials on the module for selecting pre-programed ignition timing maps and choosing the level of the RPM Limiter. This is accomplished with two dials for timing maps and two dials for the RPM Limit.

One of the timing dials sets the Initial Timing while the second dial selects the Timing Advance Slope. These settings are explained further in the link below to information about the MAP Files.

One of the RPM Limit dials chooses the x1000 value and the other selects the x100 value. Note: Setting the RPM Limit to 0 will disable the module. (BE CAREFUL not to set the RPM Limit above a safe level for your engine configuration!)

In addition to the pre-programmed timing maps (selectable by the dials), the unit can be user-programmed to utilize customized timing advance maps instead of the pre-programmed maps. To use these customized maps, you must have a computer interface, such as the Daytona USB Interface (18014), and the Daytona PC-Link Software, to communicate with the TC88A module.

The TC88A also captures the following information:

Firmware ID
Total Hours of Operation
Engine Starts
Maximum Engine RPM
Seconds at RPM Limit
Elapsed Time (hours)
in RPM Bands:

1000-1499 RPM
1500-1999 RPM
2000-2499 RPM
2500-2999 RPM
3000-3499 RPM
3500-3999 RPM
4000-4499 RPM
4500-4999 RPM
5000-5499 RPM
5500-5999 RPM
6000-6499 RPM
6500-6999 RPM

Install & Wiring —> TC88A Wire Connections For Programming
This Sportsterpedia link provides descriptions, pictures & a wiring diagram to help you
to install the TC88A and create a DIY External Power Harness.

Ignition Timing Maps —> Daytona Twin Tec & User Created TC88A Map Files
This Sportsterpedia link starts several pages discussing the use of Ignition Timing MAP Files
with the TC88A (including User Programmable Ignition Maps created by XLForum members).

The TC88A Instructions as listed on the Daytona Twin Tec page:

XLForum Discussions of the Twin Tec TC88A module - Foxster - Screamin' Eagle versus TC88A ignition modules for '04-'06 Sportsters - ESteid - Installing a Twin-Tech TC88A on an 04

Dyna S - Electronic Points

The Dyna S Ignition is essentially an electronic version of the breaker points. It senses a magnet (on the rotating shaft) passing by its sensor & triggers the ignition coil.

The Dyna S Ignition relies on an external, mechanical advance for altering the timing in relation to engine RPM.

Dyna-S DS6-1 - Dual Fire Ignition - Has one coil trigger wire (Blue). It fires a dual-coil to produce two sparks at the same time. Therefore, it fires twice in each complete 4-cycle operation - once for the front cylinder (wasted spark to rear cylinder) and once for the rear cylinder (wasted spark to the front cylinder). Remember, it fires twice in each 4-cycle operation and it fires both spark plugs at the same time.

Dyna-S DS6-2 - Single Fire Ignition - Has two control wires (Black (F) & White (R)). It fires two independent coils to produce separate sparks at separate times (even when you use a combination coil with two built-in independent coils). It fires only once on each wire for each complete 4-cycle operation - once for the front cylinder on the compression stroke and then, using the other control wire, it fires the 2nd coil for the rear cylinder when it is in it's compression stroke.

Each type of Dyna-S Ignition uses a different rotor to be compatible with the control pickup plate (single-fire ROTOR is #32-9300 and dual-fire ROTOR is 32-9301). These parts cannot be mixed between the two types.

And, you can't mix a single-fire control with a dual-fire coil nor the other way. That's why they make two types of control modules and several types of coils.

You can set the Static Timing using a multimeter (or test light) connected between ground & the trigger point on the coil for the front cylinder. Rotate the engine until you are on the compression stroke for the front cylinder. Then open the timing hole and look for the FULL ADVANCE mark on the flywheel, placing it in the center of the timing hole. Turn on the ignition. Hold the center rotor in the FULL ADVANCE position, fully counter-clockwise so the weights are at their stops. Now loosen the mounting screws and rotate the Dyna-S timing plate clockwise & counter-clockwise to find the exact point where the meter shows full voltage (or the light is lit brightest). Lock down the mounting screws. The timing should be set very close to correct. (Using a timing light for Dynamic Timing at 2000 RPMs is more accurate.)

The install instructions are here:

Dyna-S DS6-1 Installation Instructions

Dyna-S DS6-2 Installation Instructions

Dyna 2000i - Nosecone Ignition Control Module

The Dyna 2000i is a self-contained ignition module meaning the timing sensors are built onto the timing plate, located in the 'nosecone'. The timing rotor cup passes thru the sensors on the back of the timing plate to trigger the ignition module. While this module and the Ultima module are similar in installation & wiring, the selectable internal curve sets are different.

These nosecone units can be installed in Sportsters models up thru 2003, including those which originally had mechanical points, external ECMs with a Cam Sensor Plate and those models (1998-2003) which had an OEM nosecone ignition.

NOTE - The module expects to see 3-ohm primary coil resistance (2.5-3.5) for any of the configurations.

The Dyna 2000i unit triggers the coil primary circuit - either as a dual-fire system (two sparks per one trigger) or a single-fire system (two separate sparks by two separate trigger signals). The proper coil must be used to match either a dual-fire or single-fire system. The module also has an output for a tachometer and has an input for using a VOES (which is recommended for street bikes) to alter the spark timing during idle & cruising.

The install instructions are here: Dyna 2000i Installation Instructions (2801103 Rev. C version)

S&S HI-4N Ignition Module

The S&S HI-4N is a nosecone ignition module.

Install Instructions 510-0277 (12-15-14) PDF

The MODE SWITCH will select the following configurations:

Single-Fire for electric start models:
0 Single Spark, Race Curve
1 Single Spark, OE Curve
2 Multi Spark, Race Curve
3 Multi Spark, OE Curve

Dual-Fire for electric start models:
4 Single Spark, Race Curve
5 Single Spark, OE Curve
6 Multi Spark, Race Curve
7 Multi Spark, OE Curve

For Kick Start Bikes (uses OEM curve with Single Spark):
8 Single Fire
9 Dual Fire

The ADVANCE RATE Switch provides selectable curves from 0 to 9, with 0 being the least aggressive ignition timing curve and 9 being the most aggressive. Setting 4 or 5 is thus a mid-point selection.

The RPM LIMIT Switches will select a maximum rev limit. Using the two switches, it can select a limit at 1500rpms upto 7500rpms. It is recommended to not set the limit below 1500rpms or above 7500rpms.

Note: S&S bought the Crane Cams company in April of 20097) and began relabelling the previous Crane HI-4N. Shown above is the Crane version (identified as 8-6100) installed in a '73 Ironhead Sportster.

Ultima - Nosecone Ignition Control Module

The Ultima Ignition Unit (53-644) is very similar to the Dynatek 2000i product (although the programmed curves appear to be different). It is a self-contained ignition module meaning the timing sensors are built onto the same timing plate, located in the 'nosecone'. The timing rotor cup passes thru the sensors on the back of the timing plate to trigger the ignition module.

These nosecone units can be installed in pre-2004 model Sportsters, including those which originally had mechanical points, external ECMs with a Cam Sensor Plate and those models (1998-2003) which had an OEM nosecone ignition.

NOTE - The module expects to see 3-ohm primary coil resistance (2.5-3.5) for any of the configurations.

The Ultima unit triggers the coil primary circuit - either as a dual-fire system (one trigger) or a single-fire system (two trigger signals). It also has an output for a tachometer and it has an input for using a VOES (which is recommended) to alter the spark timing during idle & cruising.

The install instructions are here: Ultima 53-644 Installation Instructions (2012 version)


See this thread:

Programming the Ultima, Dyna & Dynatek Modules

These links should be instructive:

Mfg Product Info - Website

  • DIPK-1 is a SERIAL-PORT programming cable kit (Mates with PH-1 for programming)
  • PH-1 is the ON-BIKE harness kit (see instruction sheet below)
  • DIPK-7 - Appears to be a new USB-PORT Adapter programming cable kit (that mates with PH-1 for programming)

Instructions - PDF

Software Download

Aftermarket Programming Cable (may no longer be available)

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information