Found bug in aem v2

Rpm does not read correctly, I couldn’t find the xml for Android I suspect maths is wrong.


Could you give a little bit more info, RPM always 0, value too small or large.

All AEM related CAN files are in here:

Is V2 in any of those supported files?


Sure, Rpm is pretty much half that the ecu is reporting.

Those xmls don’t look like they are for the v2, can 22 is expand unit and obviously infinity is different ecu.

My question was where is the xml file located on android file system to alter xml if that’s what’s used to work out on rpm.

I am using serial to usb, so aem telemetry not CAN.

I can help with logging files or whatever you want :slight_smile:


What connection type you use to connect to AEM V2? As far as I know CAN is the only option.

Hi I could never get CAN to work using a seedstudio cab2usb, within aem tuner (ecu software) I configure serial telemetry as I default and use a serial to usb cable thus from the serial port on the aem v2 to usb on my android headunit.

I noticed some settings for idle rpm etc could it be linked with this?


I mean what connection type in RealDash?

Aem serial telemetry, serial/usb.

Is that what you want?


Ok, this connection type does not use any XML configuration file but is hard coded.

I see that RPM comes in as single byte which is multiplied by 50 to get actual RPM. You are suggesting that it should be multiplied by 100 instead? I can make that change, but I have no idea if this will break another AEM setup somehow.

Hi yes I believe the maths is simply wrong.

Within aem tuner it gives you byte format/length etc.

Well the byte format is not changeable with aem its set and aem infinity which is the other ecu does not have the capability to do serial comms so won’t invoke this code.

If you want info happy to email stuff?


I will change the RPM multiplier to 100 for next release.

Hi ok I am paid member I can test a beta if you want?

There’s are few other items missing that could be assigned to variables that come in the packet such as battery etc.


Hi, was this changed in the latest version release?


Yes, RPM multiplier has been changed as discussed.

Ok thanks I’ll test

Ok rpm seems to work correctly now however, there is spark advance broken and few other variables not reading/mapped correctly. I have a screenshot and can help with mapping/format.

Can you link any documentation that should be correct for AEM v2?


Sure, these are the default settings so providing everyone uses this which they should it’ll work for everyone.

Here is the screenshot for default setting and also attached PDF format showing byte data and format’s i think this will be of most benefit to you.


Is there no MAP sensor info, or is it one of the ADC channels?

I see that per this document temperatures come in as Celsius, but currently code is expecting Fahrenheit. Is that your observation that temperatures are currently wrong?

Engine load is map sensor this works fine at the moment it’s boost variable in realdash.

Temperature is in Celsius and works fine. Maf isn’t used on my car I don’t think the ecu even supports it would be better to reassign this to adcd14 (which can be oil pressure), I think you have maf set as tps! Battery voltage doesn’t work nor does pulse width, spark table and duty cycle. I’d assign pulse width to another adcr which can be oil temp. There is the ability to change the channel/bytes assignment to whatever you want but since you have hard coded no good, or better I can assign most of common values people are interested in and give you the above output byte parameters again but with meaningful alias names ? I can send you email if easier? I’m sure we have spoken before.


Hi are there any changes implemented in latest release?