AEM Undocumented Settings Last updated: 11/23/07 HARDWARE OPTIONS: The crank sensor input can be from either a Magnetic Variable Reluctance (VR) sensor or a Hall effect sensor. The two types of sensor require different hardware settings on the ECU board, so are selected by physical jumpers. Jumpers Figure 1: AEM EMS 10-1300 (1G DSM) To allow for different input ranges of the crank sensors, physical hardware jumpers need to be set. Typical jumper Names: Crank sensor Cam Sensor Speed Sensor Spare Speed Sensor (JPT1) (JPT2) (JPT3) (JPT4) COIL COIL COIL COIL (JPC1) (JPC2) (JPC3) (JPC4) 1 2 3 4 Sensor Type NVR High Output (VR, MAG) Hall/Logic (0-5v) Jumper Position none 1-2 position 2-3 position TIP: Some AEM ECUs such as the 10-1313 have the jumpers on board to change the ignition output, but don't have the transistor mounted to complete the circuit. In these cases an igniter will need to be used to drive an MSD or some other CDI systems directly. A transistor can also be soldered onto the board in the blank JPC board locations. BARO SENSOR The barometric sensors on the AEM EMS board on some applications are disabled to make use of an external sensor built into the MAF or other external barometric sensors. To enable the on-board sensor the jumper (JP2) will need to be moved to the 2-3 position connecting the internal barometer circuit to the board. SATURATED DRIVER- A power transistor driver that turns fully on for the entire duration of the injector PW. This type of driver is used with injectors having high resistance coils (typically 12 to 16 ohm) or with injectors having low resistance coils in combination with a ballast resistor. Currently what the AEM EMS comes with a saturated driver from the factory. (1.5AMPS max) Advantages: Heat is primarily dissipated through the injector or ballast resistor and not at the driver circuit. Circuitry is simplified compared to the peak-hold driver. Disadvantages: The inherently slower dynamic response of this system decreases the injector’s usable flow range. The Q of an injector used with this type of circuit is more duty cycle sensitive due to heat dissipation considerations. This driver’s inductive suppression, which may be resistance, capacitance or zener, significantly affects the injector’s Qd rates due to variations in the circuit’s current decay rate. This decay results in a change of the injector’s closing time. PEAK-HOLD DRIVER- A driver that uses two levels of current to operate the injector. The driver circuit applies battery voltage to the injector until a predetermined current level is reached. The current is then reduced and held at a lower level for the duration of the pulsewidth. This type of driver is normally used with injectors having low resistance coils (typically around 2 ohm). The accuracy of the driver peak current level (Ip) and the hold current level (Ih) is held to ±0.50%. Advantages: The high peak current minimizes OT response and the low hold current minimizes CT response. This method of control results in an increased linear range of injector operation. Disadvantages: Heat is primarily dissipated at the driver. Circuitry is more complex than that of the saturated driver. Basic SETUP tips: Throttle configuration In the calibration file, adjust the TPS min and max voltages manually rather than using the setup wizard. Set the TPS settings in such a way that the throttle readings NEVER reach 0% or 100% (even with variances caused by engine bay temperature and on/off status). Example: Set the Throttle setting so that you never are under 1% when fully released and over 97% when fully depressed and the ignition ON. This will save you from many headaches with throttle based trims. Ignition Timing Check Always check timing on the secondary side of the coil system. Never attempt to use the primary side as a pickup. Doing so will cause an offset of true Ignition timing that can in some cases vary or drift with rpm. In cases where a plug wire or other method of getting a secondary pickup signal isn't possible, try setting up a temporary conventional plug and wire coil setup or setup a plug wire inbetween the COP so that you can sync the ignition timing with a light. Once the basic ignition is synchronized with a timing light, and while the timing is still locked. Rev the engine to roughly 5000rpm and check for timing drift. Adjust the option “pickup comp delay” until minimal drift is noticed. Pickup Comp Delay Used to compensate for timing pickup and ignition components latency and minimize Ignition Timing "drift". Typical value = 40 FUEL Map configuration: LD0MPC A fuel map compression factor used to improve the dynamic range of the fuel map. 255 is an uncompressed map. Microsec/bit Fueling table scalar. Used as a multiplier for the raw values in the fuel table. Cam/Crank Options Crank L Sens Above Some VR crank sensors give too high an output at high engine speeds causing excessive noise and dropped signals. This feature allows the sensitivity of the ECU to be switched to a lower setting at an engine speed above a user set amount. Typically 1500rpm. Crank H Sens Below High channel sensitivity when below this value. This should be set below the ON value (hysteresis). For logic level sensors (hall effect), set to 0 Crank Rising Edge Rising edge of the crank signal is used as the significant edge when ON. Typically 0FF in VR/MAG applications. Crank Falling Edge Falling edge of the crank signal is used as the significant edge if ON. Typically OFF in logic/hall applications. Sync Early Synchronize on the first cam pulse. This will ignore code that looks for an entire engine cycle AFTER the first cam pulse to verify the correct number of teeth has past. Improves starting significantly. Crank Sync Skip Fires ignition directly off of the crank sensor without waiting for a cam input for synchronization. This option is not meant for applications with more than one coil output. Only for cars that use distributors or batch fire/2cycle engines that mechanically cannot fire spark out of sequence. Ign + 1/4 Tooth Intended for a low tooth count crank pattern, where there is one timing event per input timing pulse. Closely tied to the Crank ALT fire option and the tooth control table. In Mitsubishi applications, the 2nd tooth = 6 (Tooth Control). The Ing + 1/4 option is only used by the "Crank Alt Fire" mode by advancing timing by .25 internal degrees while cranking, and for checking for synchronization. Crank Inject All Enables a fuel PRIME pulse which is tunable by temperature on the "Initial Crank Pulse Table", adding a single pulse of fuel before "Stat Sync’d" is turned on and as soon as the engine starts cranking regardless of engine cycle. Use: Priming a cold engine for starting. Typically the warmer the engine the less PRIME is needed. Sync Ignore The synchronization strategy is ignored above this engine speed, if 0 then synchronization is always tested. Sync Error R/S Disables “Stat Sync’d” if this number of Sync errors is detected. Also used as the number of good syncs to re-establish synchronization. Crank ALT FIRE When ON, The cranking ignition timing is set by the physical teeth location of the crank trigger/disc. USE: Trigger setups that have few crank teeth over an engine cycle, this mode is needed. Fires spark directly when specific crank edges (selected by the tooth table and other factors) occur. In this mode the value of the "Crank Adv" option in the Engine Start Options is ignored. Crank Alt Fire works regardless of the setup using waste spark or direct fire. Exceptions: 1. When using the "Ign+1/4" option the actual timing will be advanced 1/4 of a degree during cranking. 2. AEM can output ignition differently during cranking (because of the Crank Alt Fire, Crank Alt Inver option) vs. when the engine is running. These different modes are needed when you have just a few teeth on the crank wheel. In such cases, the spark position during cranking will be incorrect unless you start using the Crank Alt Fire method. In some cases, even if you get Stat Sync’d to show ON and get no timing errors, this doesn't mean your job is done and the engine will start. For example, getting ignition during cranking correct is a bit tricky if you have a wheel with few significant crank edges. In this case you need to have a significant edge at about 10 degrees BTDC and have to use the Crank Alt Fire method to make the EMS instead fire on the edge itself. Sometimes it will be necessary to shift the edges, in which case you'll need to do some tweaking with the Tooth Control table. In such cases, having a simple generator of square waves (a parallel LPT port on your notebook and a small program will do it) attached to the crank and cam inputs of your EMS and an oscilloscope attached to your cam signal and ignition channels is a must in order to get it firing correctly. TOOTH CONTROL TABLE configuration: The AEM ECU is designed around an internal counter of 12 markers, known as teeth, per crank revolution. Ignition Cycle Teeth is the number of internal teeth in one ignition cycle. This processing using the tooth control table, allows many crank tooth patterns to translate into a 12 tooth crank wheel that may be processed by a user scalar to absolute crank degrees. Note: Ideally there should be 12 or 24 process significant edge teeth at a regular 30 degrees to create the internal 12 teeth Figure 2: Custom 24-tooth trigger disc TOOTH CONTROL TABLE In order to improve timing pattern flexibility, the Tooth Control table assigned with the value A_Tooth processes the crank signal; the actions to be taken are encoded in 3 bits: Tooth Control Number 0 1 Bits (0,1,2) 000 Do nothing 001 Process significant edge 2 010 3 011 4 100 5 101 6 110 7 Function 111 Process alternative edge; used for crank firing Force reset of A_Tooh if loss of sync occurs Test for synchronization Process significant edge and test for synchronization Process alternative edge and test for synchronization Reserved String must end in 3 (011) to indicate end of sequence. There are 3 synchronization strategies. Only one may be active. 1. Sync Crank S count Sync Crank S Count is for the cam/crank patterns that have evenly spaced teeth on the crank position sensor trigger wheel with no missing teeth, but has more than one tooth on the cam position sensor trigger wheel. Since there's more than one cam tooth, we can't use Sync Cam Count as it would try to sync in multiple spots. When Sync Crank S Count is selected, The EMS will count the number of crank tooth signals between each of the cam tooth signals. Figure 3: OEM Mitsubishi trigger disc The parameter "S Sync Tooth" will display this count and it resets every time a cam tooth signal is received. The number in which the crank tooth signal is to use for its reference. For example, the S2000 has 24 evenly crank teeth per engine cycle and 3 non-evenly spaced cam teeth per engine cycle. The 3 cam teeth are separated by angles of 90, 90, and 180 degrees - kind of like an evenly spaced 4 tooth wheel with one missing tooth. Now, the EMS will count 6, 6, and 12 crank teeth between each of the can teeth and it will use the unique count of 12 teeth as the reference point for engine position. The option "MX Sync Test" is where you tell the EMS what count value to use as a reference as the EMS does not do this automatically. TIP: Sync Cam Count method can also be used for trigger wheels on which not all the teeth are evenly spaced (Teeth can be skipped using the tooth table) and also this method can be used with cam signals with multiple teeth too. Example: A setup is using a wheel with not evenly spaced teeth (110 deg, 70 deg, 110 deg, 70 deg), and a cam sensor, which has two teeth in engine cycle (4 cam edges) and the AEM starting calibration uses the Sync Cam Count method. It can be set to run using the Sync Crank S Count method as well. To choose which one, look at a scope of 1 engine cycle range of your crank and cam signals overlaid. Then decide if you can find a unique sync point by either counting crank edges between two cam edges (Sync Crank S Count) or cam edges between significant crank edges (Sync Cam Count). In this example, it can be set to use either method. 2. Sync Cam Count Most basic of all the Sync methods our EMS uses. This is for cam/crank patterns that have equally spaced teeth on the crank position sensor trigger wheel, no missing teeth, and one tooth on the cam position sensor trigger wheel. What the EMS does is look for the first crank tooth signal that occurs after the cam tooth signal as a reference point for the engine position. The option "Sync Teeth" tells the software how many cam teeth there are and is set to 1 for use with Sync Cam Count. This method is used on many of the early Honda and Toyota engines with 24 evenly spaced crank teeth per engine cycle and 1 cam tooth per engine cycle. 3. Sync MX A Missing tooth strategy where tests are performed if a missing tooth is detected. Missing or Extra teeth are used to determine whether an external synchronizing pulse (0), a missing or long tooth (-1), or an extra or short tooth (+1) is used for synchronization. MX Sync Count The number of normal crank teeth between missing teeth. Cam count is the number of cam teeth in the between missing teeth. Missing is the number of successive missed teeth, if negative the system searches for early or extra teeth. MX OPTIONS: MX Time Used to detect short, long, extra, or missing teeth. Used to make "d Tooth" Time that is compared with the new tooth time to detect the missing or extra tooth, if detected it is displayed in Miss Time. If left as 0 will it not be used. MX Time Start Used to make d Tooth Time (when in start mode) that is compared with the new tooth time to detect the missing or extra tooth, if detected it is displayed in D Tooth time = Tooth time × M/X time. Injection configuration Injector Phase- synchronizes the injection event to the valve opening angle for best emissions and throttle response. Changing this value moves all of the injectors advanced or retarded in relation to TDC. Use: Move this number up or down to obtain the best idle, and throttle response. For fine tuning of this use the “Injector Angle Map” is used. A brief explanation of how injector phasing works in the AEM software: It actually depends on where your cam sync falls relative to TDC. This is best explained using an example: If option Inject Tooth #01 = 0.00 teeth and the Inj Adv Map = 357 degrees and option Injector Phase = 0.00 teeth The injector will open at the first significant crank edge following the cam sync edge. If the falling edge is your significant edge, the opening time will correspond to the first falling edge of the crank signal. The Inj Adv Map has a range of -360 degrees to +357 degrees. The smaller Inj Adv MAP value, the later the injector fires. You can monitor the actual opening position of the injector by logging the parameter Fuel Inj #01 Open in teeth. If all of the above is true, this parameter should read 0.00 teeth. So to know exactly where your injection events are happening relative to TDC, you need to know where your cam sync event happens because everything is based off of that signal. DSM specific: The DSM 30-13XX timing pattern control is a little more complicated since it doesn't have a single cam sync pulse. Both the rising and falling edges of the cam signal are significant. These cars have several evenly spaced teeth followed by a wide tooth on the cam. In this case, if all of the above is true, the injector opening will coincide with the first falling edge of the crank sensor signal following the wide cam tooth pulse. COIL DWELL configuration: Coil dwell time is the period of time the coil is charged which is most important for an inductive generated spark. For a setup this time doesn't matter as much. All a CDI box uses from signal is the trigger edges. For how long time the signal stays prior to firing CDI ignition the ECU ignition high or low (the dwell time) between the edges has absolutely no function. The spark comes from the energy stored in a capacitor and not from inductive charging the coil. (Disclaimer: Coil dwell calculation is closely tied to the crank sensor tooth count and the tooth control table. To avoid damaging ignition components and/or your EMS, AEM suggests that users utilize the Coil Dwell Wizard. Be sure to change Coil Dwell settings in very small increments, and verify changes with an oscilloscope.) Dwell Max- This is the maximum time between coil charging in crank teeth. A large number allows more available time to charge the coil while a smaller number allows less time to charge. This sets the max duty cycle allowed, regardless of other settings. This is the maximum "ON" time of the coil. Set this to (Max Duty Cycle Desired * Number of Crank Teeth Per Ignition Event) For instance, the RX-7 uses a 12-tooth crank sensor, and is firing the coils every 6 crank teeth, so in order to limit the maximum Duty Cycle to 66%, set Dwell Max to 4. (4 = 0.66 * 6) Setting this to 3 would yield a 50% max duty cycle. Dwell Min- This is the time between coil charging in crank teeth. A small number allows more time between each charge while a larger number allows less time. This sets the minimum duty cycle, regardless of other settings. This is the minimum "OFF" time of the coil. Set this to (Max Duty Cycle Desired * Number of Crank Teeth Per Ignition Event) TIP: You could perform a similar set of calculations here, but I prefer to set this to a low value (0.1-0.5) and use other settings to decide the minimum dwell time. Coil Dwell Factor- This factor adjusts the multiplier in the charge time calculation for each coil. Coil dwell factor is just a unit less number, so a programmer somewhere decided to multiply it by 2 in the calculation. Ignition Charge Time = 2 * Coil Dwell Factor * (Dwell vs Batt Volts value) * (Dwell vs RPM value) For instance, Dwell Factor: Dwell vs Batt Dwell vs RPM: here are my table values at 2000 RPM: 30 Volts: 50 100 This results in a 3.0ms coil charge time: 3000 us (3.0 ms) = 2 * 30 * 100 * 50 EXAMPLE: Since there are a few factors being multiplied, there are a few different ways to achieve the same solution. Here's how I've been doing it, using a 1993 RX-7 as an example. Here is some data gathered from a stock ECU: RPM / Dwell / Duty Cycle: 2000 3500 5500 7000 7500 ------ 3.0 2.9 2.7 2.6 2.4 ------ 20 33 50 60 62 Notice the dwell time is decreasing, which will decrease the amount of spark energy (which isn't desirable in most cases). This is to avoid overheating the coils from having an excessively-high duty cycle. Example Trigger configurations: 12tooth cam driven hall/logic sensor with 1 cam tooth You must make several configuration changes in order for the AEM ECU to recognize the HALL signal properly. 1. Open your AEM calibration file 2. Go to Setup >> Sensors >> Cam/Crank Sensor >> Options Cam/Crank Setup 3. Make the following changes if you’re still running a single channel ignition system and the distributor for spark distribution: Options – Cam/Crank Fuel Teeth: 12 Spark Teeth: 3 Ign Range: 1.50 Tooth Time Min: 50 Crank Alt Fire [ ] Crank Alt Invert [ ] Ign + 1 / 4 Tooth [ ] Eng Cycle – 1 Rev [ ] Make the following changes if you’re running a 2-channel ignition in a wasted spark configuration: Options – Cam/Crank Fuel Teeth: 12 Spark Teeth: 6 Ign Range: 1.50 Tooth Time Min: 50 Crank Alt Fire [ ] Crank Alt Invert [ ] Ign + 1 / 4 Tooth [ ] Eng Cycle – 1 Rev [ ] Make the following changes if you’re running a 4-channel ignition setup: Options – Cam/Crank Fuel Teeth: 12 Spark Teeth: 12 Ign Range: 1.50 Tooth Time Min: 50 Crank Alt Fire [ ] Crank Alt Invert [ ] Ign + 1 / 4 Tooth [ ] Eng Cycle – 1 Rev [ ] Options – Sync Setup Sync Early [X] Crank Sync Skip [ ] Missing: 0 MX Sync Test: 12 MX Time: 0 Sync Teeth: 1 Sync Err R/S: 11 Sync Ignore: 0 Tooth Control Table Set tooth control at 5 from position 0 –11, 3 on position 12, and 0 for the remaining table (5,5,5,5,5,5,5,5,5,5,5,3) Options – Injector Phasing Injector Phase: 7.00 Inject Tooth #01: 6.00 Inject Tooth #02: 3.00 Inject Tooth #03: 9.00 Inject Tooth #04: 0.00 Inject Tooth #05: 0.00 Inject Tooth #06: 0.00 Inject Tooth #07: 0.00 Inject Tooth #08: 0.00 Inject Tooth #09: 0.00 Inject Tooth #10: 0.00 Options – Ign Phasing Ignition Sync: 0.43 (MAY CHANGE DEPENDING UPON YOUR SYNC) Pickup Delay Comp: 150 (MAY CHANGE) Ign Tooth #01: 6.00 Ign Tooth #02: 3.00 Ign Tooth #03: 9.00 Ign Tooth #04: 0.00 Ign Tooth #05: 0.00 Ign Tooth #06: 0.00 Ign Tooth #07: 0.00 Ign Tooth #08: 0.00 Ign Tooth #09: 0.00 Ign Tooth #10: 0.00 Go to Ignition -> Advanced Ignition -> Coil Dwell Setup -> Coil Dwell Wizard. If you have any type of ignition amplifier (MSD, AEM, Crane, M&W, Autronic) then you will need to click the box for .All CDI systems.. If you are using the oem ignition setup, with the stock coil and ignitor, you will choose. Honda Internal Coil (92-01) or applicable. Options – Coil Dwell Coil Dwell Factor: 20 Dwell Max: 3.00 Dwell Min: 0.05 Inside, on the bottom board, find jumpers JPT1 and JPT2. If you’re looking at the board with the harness connector to your left, they will be on the left side of the board, near the harness connector. There are a total of 4 jumpers there, JPT1, JPT2, JPT3, and JPT4. Do not move JPT3 or JPT4. BOOST COMP tuning strategy: Boost Compensation tuning – If at say 4K RPM and 100KPA you need X amount of fuel to get Y A/F then at 4K RPM and 200KPA you will need 2X fuel to get the same Y A/F. Make sense? Yes, in extreme cases the VE of the motor will change at some point due to restrictions somewhere but for the most part this concept holds true. If you look at a Full Boost Comp’d mapping you will see that all fuel columns are the same vertically. The way that works is there's a Fuel Modifier table called “Boost Fuel Correction”. This is setup usually so that say 100KPA is a "zero point" - no change (the zero point can be anywhere you choose). But 200KPA effects a +100% change in fuel and 0KPA is a -100% change in fueling. Points in between are linear. Making sense so far? Now - you can Boost Comp a mapping that's done cell by cell just by applying those % changes to the existing map. The effect is greater granularity in fueling although you MAY need to modify something called the Microsec/Bit. MicroSec/Bit defines the number "1" in the RAW view of the fuel map - more on that later Okay, so you now have a mapping that is Boost Comp'd but numbers up and down are not the same - should drive as fine as the original map. You can stop at this point or go further. IF you stop here, as I did once upon a time, and tune multiple load rows for the same A/F you'll get a surprise as they all become the same number. Okay, go do a WOT pull at the lowest load value your W/G will allow - easy if it's a N/A motor! Tune that load row to whatever A/F you need WOT and make the cells above and below that load the same so there's no interpolation. If you take those numbers you get and apply them anywhere you go WOT you should find that you maintain the same A/F in those load areas that you tuned for. You now have what I call a "Hybrid" Boost Comp map because the vacuum areas are cell by cell. You can leave that if you want. To get the vacuum area done for a "full" Boost Comp map continue copying those same numbers down vertically - the car will now run pig rich. Go into a table called the “Throttle Inj Modifier”. Adjust the table so that at idle you have a decent A/F and then go for a drive. At cruising speed\throttle adjust the table so that you get a decent cruise A/F and then calculate between the two points to get a linear table. Play with this some but in the end you'll have a table that removes more fuel as the throttle is closed (mine is -26%) and less at say 50% throttle (mine is -3%) in a linear table. Another way to do those vacuum areas is to do a little math. Say you want 12:1 in one row but the vertical numbers give you 11.5:1 - calculate the percentage of difference between the two and either apply that to the Boost Fuel Correction table for that load range or to the fuel table load area. Do this for every area you want something other than whatever your WOT fueling was. In this case there's NO Throttle Mod table filled in. So, why do it this way? Because some smaller turbos will spool at part throttle - say on hills and things. With Full Boost Comp it's also possible to get into a situation where say the car is lugging on a hill and more throttle just makes it go pig rich but load doesn't go up quickly. I'm actually about to convert to this method to try it out. Make sense? Lot's of ways to skin this cat!
© Copyright 2026 Paperzz