Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

AEM 4 Channel UEGO CAN Template

General Tuning Discussion

Forum Posts



Tech Articles

Discuss all things tuning in this section. News, products, problems and results. 

= Resolved threads


As some of you would know from our webinar before christmas, I've been testing out the AEM 4 Channel UEGO on our turbocharged Toyota GT86. The AEM UEGO kit can output AFR via analogue voltage but I was more interested in it's ability to transmit the data via CAN. As part of the install I'm receiving the AFR and turbine inlet pressure (TIP) into my Motec CDL3 dash via CAN. I'm then outputting both pieces of data into the Motec M1 ECU.

The M1 at this point can't receive the data direct from the AEM module as it is quite restrictive in what data it is expecting to see and what address it should be on. For this reason I'm transmitting the data back out of the CDL3 in a form the M1 is expecting to see - In the case of the AFR data I'm replicating a Motec LTC (Lambda To CAN) template.

I've had a few requests for information about this CAN template so thought I would post it here. The Turbine Inlet Pressure template isn't complete as I'm only interested in the actual exhaust back pressure data. If you want all the diagnostics information about the lambda input you could easily modify the template to include this.

Any questions just feel free to ask :)

Attached Files

Thanks for the templates Andre, very much appreciated!!!

No problem!

Hi Andre,

Are you running the Lambda sensors in the exhaust manifolds prior to the turbo? if so, is there any compensation being applied to the lambda reading to allow for the variances that can be induced by having a pressure greater than atmospheric applied to the lambda sensors?

Does this template apply to the c125 as well?

Sorry BlackRex, didn't see your question back in February for some reason. Yes we are running the sensors pre-turbo, and yes they are back pressure compensated. This is handled internally by the AEM UEGO module with input from the optional back pressure sensor.

@ Girch, yes these templates will work for the C125 dash too.

Thanks for that Andre


Would we need to run a terminating resistor ? I believe the AEM has one built in.

The C125 Race logging loom has a 100ohm resistor in the loom, if the distance between the two devices is less than 50cm, this should be sufficient, any longer than that then a resistor at each end is recommended.

Well I'm sure I've covered everything, but I can't receive any data from the AEM.

I currently have the template loaded, can hi/Lo is wired correctly.

The AEM is powered via the main harness, maybe I would need to power it up via the can plug?

I would be surprised if it did need to be, but I haven't used these units.

I emailed AEM

The actually recommend to power the unit via the main harness.

Hi all

Still having some issues with the AEM communicating with the c125.

On can0 the error message I'm getting is 4096. "Bus warning" more than 96 errors

Check wiring and termination resistors ."

So I have checked this all is well, perhaps the AEM having a 120ohm terminating resistor is the issue.

I'm at a loss. Please help!

My AEM UEGO is powered separate to the CAN harness and works fine. Are you seeing the unit physically power up via the status LEDs on the front panel?

I'll assume you've got the unit wired on the correct CAN bus? Sounds simple but I've seen this a few times now so it doesn't hurt to ask :)

The terminating resistor doesn't seem to be too critical in terms of its actual resistance - Some manufacturers call for 100 ohm while others specify 120 ohm. I've used both with no trouble although I wouldn't mix up the two in one CAN bus.

It might pay to just check that you're using extended addressing and the base address is 0000001F. This should be in the template but worth checking. Let us know how you get on.

The unit is powered up. I'm running the AEM via the accessory port on the c125, which is can 1.

I'll confirm the base address and let you know.

Hi Andre

Thank you for the Template. The Lambda channels are successfully received on the Dash.

Unfortunately, I struggle with setting up the C125 to send Cyl Lambda to M1.

Andre, are you willing to share the Dash to M1 Transmit stream?

Hi Andre

Thank you for the Template. The Lambda channels are successfully received on the Dash.

Unfortunately, I struggle with setting up the C125 to send Cyl Lambda to M1.

Andre, are you willing to share the Dash to M1 Transmit stream?

Hi Adrian, no problem at all but you will need to wait a little. I'm in the US at the moment for Pikes Peak hillclimb and I don't have access to that template. I'll post it up once I'm back in NZ.

Hi Andre

Okay great and thank you! I have set up the dash to display cyl lambda in the meantime as a work around. But the Template will be useful anyway for next dyno session.

Good luck at Pikes Peak!

Hi Andre

Quick reminder. Would be great if you can upload or send by mail the template to send cyl lambda to M1.

Thank you in advance.

Hey Adrian, sorry for the delay, it completely slipped my mind. I've attached the transmit templates for the individual cylinder lambda channels but I also realised as I was doing this that it relies on having a MoTeC LTC/PLM in the car as well. What I've done is just taken the other data that the M1 is expecting to receive from an LTC from the LTC that is installed in the collector and sent those out coupled with the lambda value from the AEM. This gets tricky if you don't have an LTC installed as you won't easily be able to replicate the data stream the M1 is expecting.

Anyway take a look at the template and see if it helps.

Attached Files

Sending the other data M1 is expecting was exactly the problem I had. Luckly I have a LTC installed on the car. It's the NTK version, maybe it needs some adjustment, but overal I'm optimistic I can get i running with your template as a basis.

I will let you know how it goes.

Thank you for sharing!


I want to add that the base address for cyl 2 and 3 in your file are the same. I assume i need to change the cyl 3 to 463 (they were both 462) and wasn't loading in properly.

So for the c127 dash, the M1 and PDM15 are on CAN 2 at 1Mbps, and the AEM ugeo on CAN 1 at 500kbps?

I noticed that for the aem lambda output to the M1, you used ltc1 parameters, is this to stop getting diagnostic errors? and it means that it need at least 1 LTC on (460) to work properly?

Thanks for this, by the way, i was about to buy 2 LTCD for use.

Hi guys,

Any updates on this ? I just tried sending out lambda 1 on the base 460 ID and can see the channel being used via the CAN inspector tool but doesn’t have anything in M1.

I have lambda transmit setup as a single channel without the other data a typical ltc sends (pump current, Ip, etc) and maybe that’s why it doesn’t work.

Hey guys, it seems I MUST have a working LTC for the M1 to accept the lambda value. Considering I have no LTC present already, is there a way to do it ?

I'm not trying to cheap out on getting an LTC btw, just trying to see if it's possible. I'm just starting to configure things with my dash and I'm starting to see how powerful the dash is.

Thanks !

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?