Standalone ECU AEM Injector and Ignition Tooth Values Explained

The 1UZFE EGR Delete Kit is available for sale here.

MitchP

New Member
Messages
81
Location
SoCal
I'm writing this to help out guys that are doing COP and sequential injector conversions with AEM ECU's.

On AEM ECU's, the injectors can be wired to the injector outputs in any order you want as the firing order is fully configurable in software. Same thing goes for ignition although in a wastedspark setup, the coils that are 360 crank degrees apart must be wired to the same output.

The way it works is that the ECU just keeps count of the crank teeth and fires the inj/coil when it gets to the output's tooth value set in the inj/ign phasing options. The option "Ignition Sync" and Injector Phase" options adjust overall base timing in relation to TDC #1 firing. These are also in "teeth" with smaller values meaning more advance and larger values meaning more retard,

For example, the 1UZ has 24 crank teeth so 24 teeth is one cycle. (for later model engines with the 36-2 crank wheel, the EMS only counts the 12 teeth that are even spaced so you still have 24 per cycle) For V8 sequential, the fuel and ign teeth should be space out every 24/8=3 teeth.

So for sequential injectors wired per cyl number you'd have:

fuel tooth 1 = 0 teeth
fuel tooth 2 = 21 teeth
fuel tooth 3 = 9 teeth
fuel tooth 4 = 6 teeth
fuel tooth 5 = 15 teeth
fuel tooth 6 = 12 teeth
fuel tooth 7 = 18 teeth
fuel tooth 8 = 3 teeth

So, if you follow the count, you get 1-8-4-3-6-7-2.

If you wired the injectors in the firing order inj 1 to cyl 1, inj 2 to cyl 8, etc... than you fuel teeth will be 0,3,6,9,12,15,18,21

On the eariler 1UZ's that are batch injection off four injector outputs (like my '91 SC400) you must change the option "Fuel Teeth" from 24 to 12 to tell the ECU to restart the injector count every 12 crank teeth or one engine rotation. You'd then use 0,3,6 & 9 for your fuel teeth and setup your firing order. (you also must check box the "Eng Cycle = 1 Rev" so the ECU know that 12 teeth is one engine rotation and not one engine cycle. (RPM would other wise read 1/2 actual)

Ignition is the same way with one little trick to it. On the first gen ECU's there are physically only 5 coil outputs but there are 10 outputs in the software. Coils 6-10 are aliases of coils 1-5 so when the tooth count for Coil 1 or Coil 6 comes up it will fire the coil 1 output, 2 & 7 will fire coil 2 output, etc... It is done this way so that the ECU can trim timing for each cylinder independantly even if they are on the same coil output. On the 2nd gen boxes have 8 coil outputs but still have the aliasing but have them as Coil 1 & Coil 1B which makes things a bit easier. Alternatively, you could change the option "Spark Teeth" from 24 to 12 and leave coils 6-10 off. and then set your firing order but you lose the independent cyl ignition trims.

For 1UZ's that still have the stock distributors (like my '91 SC400) You'll need to change "Spark Teeth" from 24 to 6 so that it will fire one output every 180 crank degrees. Using coils 1 & 2, you tooth values would be 0 & 3.

Now, if you were running a 6 cylinider, like a 2JZ, the spacing on the teeth values will change because you still have 24 teeth per cycle but 6 cylinders, so 24/6=4 and your values would be 0,4,8,12,16,20.

The big thing to remember is that what is important is the tooth value spacing. On a 1UZ you could use values of 1.5,4.5,7.5,10.5,13.5,16.5,19.5,22.5 and it would still work as they are still spaced out 3 teeth apart. (90 degrees)

Ok, so it kinda complicated to setup, so why in the F did AEM do it that way? it's because not all engines are even fire - Dodge Viper, some Buick V6's, Harley V-Twin, etc... So, to accommodate an odd fire engine, you can just change the tooth numbers so they are not evenly spaced. Some ECU's cannot even run odd fire engines and most of the other ones that do, need special software to be setup for specific engine. This way they don't have to write any special software and a user that understands how it works can just set it up on their own.

For example, let's look at the Viper. It's basically two 5 cylinders joined at the hip with an alternating 54/90 degree firing interval. (that's why they sound so funny)

So, in crank degrees, it fires as follows:

0
54
144 (+90)
198 (+54)
252 (+90)
342 (+54)
432 (+90)
486 (+54)
576 (+90)
630 (+54)
- plus another 90 degrees gets you back to 720.

So, let's do some math here. The Viper has 10 teeth per cycle which is 72 crank degrees per one tooth. Therefore out injector tooth numbers would be as follows:

0/72 is undefined but we'll say 0
54/72 = 0.75
144/72 = 2
2.75
4
4.75
6
6.75
8
8.75

You'd still have to assign these values to the correct injector output but I think you get the idea. You can check the AEM startup calibration for the Viper and see these same values.
 
Very helpful explanation of phasing. I learned as i went wiring in a true waste spark on my 7m with a 3 chanel ignitor to get rid of multiplex and then sequential injection. i will be wiring in my injectors 1 to 8 and the 0,3,... to 21 phasing this weekend. i will be bypassing the oem engine loom entirely. same with 4 coils.

the pick up just counts crank teeth and when it hits a value it fires off the inj or ign for that tooth. when count gets to 24 or 12 whatever tooth max is assigned the count starts over and over.

thanks for the help.
hal
89mk31uzTT
 
Last edited:
You got it. If the Fuel Teeth is set to 24, it counts 24 crank teeth and starts the cycle over. If Fuel Teeth is set to 12, it counts 12 and starts over.

The only thing that is little weird is if you look at or datalog Fuel Tooth, which is the current crank tooth count for the injectors, it starts at 0 and goes to 23, then starts over a 0 again.
 

Attachments

  • ISC inlet.jpg
    ISC inlet.jpg
    80.4 KB · Views: 221
  • ISC inlet and heater hose.JPG
    ISC inlet and heater hose.JPG
    231 KB · Views: 219
The only thing that is little weird is if you look at or datalog Fuel Tooth, which is the current crank tooth count for the injectors, it starts at 0 and goes to 23, then starts over a 0 again.

Well thats because zero is actually a real number. Mathmatics would be very limited with out it. the aem just uses it as a digit. And if you are adding 3 to each event you cant start with 1 cause thats 1,4,7 etc and just doesnt seem as smooth to look at in the program. Not that i know anything about mathmatics.

hal
 

Attachments

  • Coolant Crossover pipe.jpg
    Coolant Crossover pipe.jpg
    82.5 KB · Views: 216
  • Coolant Crossover pipe (rear) - cutting and tig welding.jpg
    Coolant Crossover pipe (rear) - cutting and tig welding.jpg
    108.8 KB · Views: 216
This is exactly why many people keep their hands far away from aem. Probably a great ecu, but damn they got some really strange ways of doing stuff.
 

Attachments

  • p20041028f_resize.jpg
    p20041028f_resize.jpg
    124.5 KB · Views: 181
  • oct904_12_resize.jpg
    oct904_12_resize.jpg
    114.9 KB · Views: 179
Yes, zero is an important number and mathematics would be very limited without it. (Thanks India) Anybody that has spent time programming timers or counters will understand right away but to a layperson without that specific experience, it may seem a little odd if you start counting at zero as it's counter intuitive to most people.

Given the flexibility of the AEM, the setup can be pretty daunting to a first time user but if you have the proper settings for your application, you never have to mess with those settings again. Most end users do not go this far into it, but some do, and I wanted to provide some information to those who could use it.
 
Last edited by a moderator:
I called AEM technical support and the tech guy referred me to your website. MPtuning.net I think. I just thought I would mention that. That makes plenty of sense with the AEM timing, and the function of 0 in the number system. It's also convenient how Toyota decided to make 1st gen UZi computers very similar(if not exactly like) a four cylinder ECU, with the exception of running batch injection. They even used two igniters, it was a genius way to save on manufacturing, and a good use of repeatability.

I'm looking to run COP on an early model UZi and thinking of buying a universal AEM for like a Honda and pin out the wiring myself. do you have any hints other than the aforementioned???????
 
Not trying to respond for Mitch, but if you're driving an SC300 and you're looking at putting a UZ in it, there's no need to go to the Universal AEM, because your existing wiring harness will plug right into a Supra AEM.

You'll save yourself a lot of work doing that, and now is a pretty good time to be shopping for Gen1 Supra AEM's, as many Supra owners are upgrading to the Gen2.
 
Hi Guys,

Chanced upon this useful thread while searching for answers to the settings of Ign and Inj tooth values for the AEM. Actually, I am running on the GEMS's EM36, which is a very close cousin of the AEM.

I am running the EM36 on a 4 cylinder Honda. The Honda has a 12+1 crank trigger wheel, with a 4+1 cam trigger wheel. The ignition firing firing sequence is 1-3-4-2. It runs in sequential mode with 4 individual ignition coils and fuel injectors. I am trying to understand how to go about setting the tooth values. The following is what I gather so far.

Ign tooth setting

Ign1 = 0 Teeth
Ign2 = 18 Teeth
Ign3 = 6 Teeth
Ign4 = 12 Teeth


Inj tooth setting

Ign1 = 12 Teeth
Ign2 = 6 Teeth
Ign3 = 18 Teeth
Ign4 = 0 Teeth


The Inj firing sequence is literally 180 degrees delayed. Am I correct in my analysis?

Thanks
 


Top