# AEM VCU300 vehicle controller and Tesla LDU logic boards



## 57Chevy (Jan 31, 2020)

Creating a thread to document learning about and implementing the AEM ECU to drive a dual-LDU vehicle.

The VCU300 and the Tesla LDU replacement logic boards are relatively new on the market and so not much in the way of support for newbies. The manual assumes a fair bit of basic knowledge and equipment is available on-hand so I'd like to fill in some of the blanks here as best I can in case it is helpful to others wishing to do similarly. 

Please don't reply to this thread unless you have experience with this equipment or something relevant to add













The ECU looks like a stock OEM Bosch unit, similar to a EDC17 CP44. The CPU plus the power and can bus pins match at least

The instructions don't detail the header particularly well, it is a Bosch 196P EMS which is available as a kit from AEM or separately elsewhere





Search Results - automotiveconnectors.com


Stockists of a wide range of electrical and wiring products for the Automotive and Motorsport industries. Connector housings, terminals and accessories.



www.automotiveconnectors.com





These use two terminal types
Matrix 1.2 Series CB 1.5mm2 
BTL2.8 1.5-2.5mm2

Bosch sell an expensive crimp tool, a generic open-barrel/Weatherpack crimper seems to work ok.

The smaller Matrix 1.2 terminals use a single depinning tool


https://bosch-connectors.com/bcp/b2bshop-psconnectors/en/EUR/Terminals/MATRIX-1-2/Matrix-1-2-CB-Disassembling-Tool/p/1928498997/












The larger BTL 2.8 pins require a dual fork depinning tool https://bosch-connectors.com/bcp/b2...ance/BTL-2-8-Disassembling-Tool/p/1928498715/









The Tesla LDU replacement board is not yet officially supported for dual-motor installations, VCU300, or for the Sport LDU.





VCU200/Tesla LDU Inverter Control Board for EV Conversions | AEM EV







www.aemev.com




It appears to be the front-end of a Cascadia inverter, configured for the power stage of the LDU. Since the VCU300 supports dual Cascadia drives, it also supports dual LDUs, once I figure out how to change can addresses.

Micro is a TI TMS320F28374S which is about as good as it gets; they are used in aerospace applications. https://www.ti.com/lit/ds/symlink/tms320f28378s.pdf

RS232 programming link is interesting; a bit 1982 perhaps. Not sure how to update the firmware when it is installed in-situ if it is done via this header, that would require a full car disassembly as the inverter covers can't come off in place. Might need an extra cable making up. No instructions were included with the hardware.


----------



## remy_martian (Feb 4, 2019)

Any way you could sample continuity of a couple of pins between J10 and the TMS 320? The resistors at pins 2, 14, and 14 are smoking guns...

I suspect J10 is the JTAG factory programming connector (done with pogos):









Which could lend itself to reprogramming the board if the processor's not locked out with fuse bits.


----------



## Mojave (Dec 4, 2019)

57Chevy said:


> Since the VCU300 supports dual Cascadia drives, it also supports dual LDUs, once I figure out how to change can addresses.


The base CAN address for the inverter control boards are set in the exact same way as they are set with Cascadia inverters. The default inverter address offset is 0x00A0. If a second unit is present then it's address offset should be set to 0x01A0.


----------



## 57Chevy (Jan 31, 2020)

Mojave said:


> The base CAN address for the inverter control boards are set in the exact same way as they are set with Cascadia inverters


Thank you, I think I'm piecing it together. Is there an LDU board instruction manual to help me out?

Do I need to update the firmware, if so, which version? The _AEM EVVCU Pre-Start Checklist _Says I need to update but the date is several years old so presumably not necessary?










So it turns out the RS232 port is on the encoder plug via an adapter loom. Not quite sure what the switch does yet, is this the "Flash Enable Jumper"?









It communicates using RMS GUI 1.4.8 (aka _Cascadia Motion GUI Setup_) from Documentation - Electric Vehicle / Cascadia Motion which [edit] requires the installation of "_GTK+2 Runtime Environment_" first and a PC restart after install.










Serial comms working, CAN ID changed, but no CAN comms to the VCU300 yet. Need to figure out the terminating resistor setting and do some sniffing tomorrow.

Assuming white is CAN+


----------



## 57Chevy (Jan 31, 2020)

Error 9 (9 flashes of the on-board LED) shows until the can line is configured properly. After changing a few settings I got it to go off and the data now shows in Savvycan, however it is not yet replicated on the AEMCal screen.

Voltage and temp readings are sensible










DBC file for the inverter is in "PM and RM series DBC files", this is separate from the DBC file for the VCU.
Box 

Settings I had to change are the terminating resistor to off and fast message rate to 50ms. The inverter doesn't use extended frames


----------



## 57Chevy (Jan 31, 2020)

Success, temps reading on AEMCal, once I figure out what I'm doing. The default layout screens don't have anything for the inverter feedback signals other than torque, rpm etc so it took a bit of digging to find them









Next is to build a bench harness with accel sensor, brake switch and so on. 

Also need to see if I can get the wheel speeds send from the Tesla Bosch (private) can network to the VCU. No instructions and no idea yet how to configure can signals from other sources. They are all 500kb speed at least.

Another activity I'd like the VCU to do is provide wake and assist signals for the power steering rack which is from a Subaru Impreza. It works if I inject the signals from Savvycan so just need to figure out how to get the VCU to generate and output the signals. If it has such a capability.


----------



## hmlaiae9 (5 mo ago)

57Chevy said:


> Success, temps reading on AEMCal, once I figure out what I'm doing. The default layout screens don't have anything for the inverter feedback signals other than torque, rpm etc so it took a bit of digging to find them
> View attachment 125681
> 
> 
> ...


Hello, I know the thread is old but I'm currently working on an EV conversion project similar to yours. Tesla Base LDU with AEM VCU 200. We are currently stuck with a POST fault code from the inverter, "Mod temp above Max --: 0.7". Inverter successfully precharges only after we clear the error in the RMS GUI. 300+ volts no problem in the inverter. However, every time starting up, the code is present and forces us to plug in the GUI to clear, so we get "i1_post_flt" from 1 to 0 to let the precharge begin. That means it is impossible for us to plug the harness into the encoder and try to run the motor.

Have you played with the RMS GUI yet? Any experience that you could share with us? Or your LDU spins right away without even playing with the RMS GUI at all?


----------



## Mojave (Dec 4, 2019)

The POST faults are generated from tests carried out when the inverter is first powered up (*P*ower *O*n *S*elf *T*est). If the fault keeps reappearing every time you power up the inverter then it sounds like the controller thinks there is something wrong with it.

Did you contact AEM tech support with this question? What did they say?


----------



## hmlaiae9 (5 mo ago)

Mojave said:


> The POST faults are generated from tests carried out when the inverter is first powered up (*P*ower *O*n *S*elf *T*est). If the fault keeps reappearing every time you power up the inverter then it sounds like the controller thinks there is something wrong with it.
> 
> Did you contact AEM tech support with this question? What did they say?


Yes, we did shoot a couple of emails to AEM, but the guys over there aren't responding to any of them 
We have also tried to reach out to Cascadia Motion and they said the board is supported by AEM, so they're not giving any sort of support.

What we found weird is that although the system is reporting "mod A temp over max", the temperature reported via CAN and in the RMS is perfectly fine. The PCB temperature is a bit weird tho but we have no idea if that is alright or not. This is our diag data if anyone is interested. 

The worst case would be the motor itself is actually faulty and we have to RMA that...


----------



## DansEVhobby (Jun 13, 2021)

hmlaiae9 said:


> Yes, we did shoot a couple of emails to AEM, but the guys over there aren't responding to any of them
> We have also tried to reach out to Cascadia Motion and they said the board is supported by AEM, so they're not giving any sort of support.
> 
> What we found weird is that although the system is reporting "mod A temp over max", the temperature reported via CAN and in the RMS is perfectly fine. The PCB temperature is a bit weird tho but we have no idea if that is alright or not. This is our diag data if anyone is interested.
> ...


check your spam folder, the email I sent last week never made it to [email protected]
It said the address wasn't found. Prob worth calling them directly.


----------



## hmlaiae9 (5 mo ago)

DansEVhobby said:


> check your spam folder, the email I sent last week never made it to [email protected]
> It said the address wasn't found. Prob worth calling them directly.


Hello Dans, thanks for you input!
Yeah we noticed that [email protected] is a blank address too. We are sending the email directly to [email protected] which is stated in some of their documents. While we are located in Asia there's almost 12hrs of time difference which makes it quite hard to make a call.

We still cannot find the related firmware and the symbol list for the Tesla LDU Controller board so far :\ But we figured out that PCB temp data in #9 is probably correct with some weird offset only. It's not reporting faulty in AEMCal program.


----------



## kennybobby (Aug 10, 2012)

That PCB temperature seems a likely source of an error. Can you heat or cool the board or the sensor itself, to monitor how that value responds?


----------



## hmlaiae9 (5 mo ago)

Ok so today AEM finally replied our email and we have the latest symbol list. The firmware is the latest on our unit so we don't have to reflash it.

We use the new symbol list just to find out the fault of our Tesla LDU is "Current Sensor too high"... Has anybody encountered a similar problem? We are currently researching the possibility to replace/inspect the current sensor on the LDU.

Btw all the temperature values have returned to normal. The symbol list from AEM is far more simpler than the one from Cascadia Motion, so make sure you have the correct symbol list when you are working on the Tesla LDU with replaced ICB.


----------



## remy_martian (Feb 4, 2019)

Can you put that "symbol list" up here on the forum (it's not for me...) so others are not bothering AEM with the same problem?


----------



## Mojave (Dec 4, 2019)

hmlaiae9 said:


> Ok so today AEM finally replied our email and we have the latest symbol list. The firmware is the latest on our unit so we don't have to reflash it.
> 
> We use the new symbol list just to find out the fault of our Tesla LDU is "Current Sensor too high"... Has anybody encountered a similar problem? We are currently researching the possibility to replace/inspect the current sensor on the LDU.
> 
> Btw all the temperature values have returned to normal. The symbol list from AEM is far more simpler than the one from Cascadia Motion, so make sure you have the correct symbol list when you are working on the Tesla LDU with replaced ICB.


So you got the RMS GUI program from Cascadia? That would explain why it didn't have the correct symbol list. Their version will install their standard symbol list as if it is a typical RM or PM series inverter. While the AEM Tesla control board is based on the Cascadia inverter controller, it isn't exactly the same as the Cascadia controller. Some things are moved around and some are simplified since it is no longer a generic inverter, it is a defined motor/inverter pair being supported. Your authorized dealer or AEM should be the source for all the software you need with the unit.

Also, as you found out, Cascadia is not set up to support the PCB install since we (AEM) actually manufacture it. All tech questions can be sent to [email protected] or call us at the toll free support number (1-800-423-0046).


----------



## dlud (Jul 19, 2021)

Great to see AEM responding here. I have owned several AEM products (using a cd-5 dash on my current Tesla based project) and have consistently found support to be excellent.


----------



## hmlaiae9 (5 mo ago)

remy_martian said:


> Can you put that "symbol list" up here on the forum (it's not for me...) so others are not bothering AEM with the same problem?


The symbol list is here. Make sure you are having *a matching date for the firmware and the symbol list*, that can save you tons of trouble reverting the parameters. If you don't have a correct date (2021/06/16) for firmware then please don't use this one. Don't make the same mistake as us modifying the symbol list's file name.




Mojave said:


> So you got the RMS GUI program from Cascadia? That would explain why it didn't have the correct symbol list. Their version will install their standard symbol list as if it is a typical RM or PM series inverter. While the AEM Tesla control board is based on the Cascadia inverter controller, it isn't exactly the same as the Cascadia controller. Some things are moved around and some are simplified since it is no longer a generic inverter, it is a defined motor/inverter pair being supported. Your authorized dealer or AEM should be the source for all the software you need with the unit.
> 
> Also, as you found out, Cascadia is not set up to support the PCB install since we (AEM) actually manufacture it. All tech questions can be sent to [email protected] or call us at the toll free support number (1-800-423-0046).


Yes, the supplier should be the one who gives us the software, but they didn't. So we have to try out something to get us started. It's actually way more simple than using a separate inverter.
And actually, AEM's reply is pretty quick after we got in contact with their tech support


----------



## joekitch (Sep 13, 2013)

Since this thread has a lot of canbus expertise, I'm jumping in to ask a probably dumb question

I have my vcu200 on the bench with the CAN2 lines going into a pican3 hat on a pi4

I have cantools on the pi, and I'm attempting to do some really basic reads, just see what general traffic is coming down

Unfortunately the traffic is....strange....and this is with using aem's supplied DBC file with cantools decoding feature

Attached some pics showing the traffic I'm seeing and my absolutely terrible wiring job. The pic showing a ton of "unknown frame Id" errors is when I tried to use the DBC file to decode. Apologies for phone pics of a screen but getting screenshots off that pi is kind of a pain


----------



## remy_martian (Feb 4, 2019)

Where are your termination resistors?


----------



## joekitch (Sep 13, 2013)

They're internal, the brown wire jumper on the pi enables the pican3's internal term resistor and the vcu200 has one internally i believe. Verified with a volt meter


----------



## joekitch (Sep 13, 2013)

i got some info from aem eventually, they are definitely primarily using the gen.tech address now.

apparently can3 by default is only really going to be sending a wake switch message and a bunch of zeroes depending on what is connected, which is what i was seeing.
can2 will be basically silent until matching LDU inverter firmware is loaded, both to the VCU itself and the inverter control board, at that point it'll start broadcasting with the right IDs

I was trying to figure out how to run the inverter board on a bench for testing but that's apparently impossible, it has to be installed in an ldu for the power + programming pins to work.

also from these interactions i learned for a true benchtop setup, I need an HVIL spoof of some kind, just a loop of wire for the two pins will be fine, along with something to spoof the high voltage contactors, an ignition key wired in (not just the wake switch), a PRND switch, and a brake switch. 

at THAT point you'll get a lot of chatter on can2 (i assume)


----------



## evnoob666 (18 d ago)

Does somebody here has the latest AEM firmware for the inverter board on a LDU sports model and a matching symbol list, VCU300 is used. I cannot get a reply from AEM, I tried emailing and calling them. The operator cant help me, the person knowledgeable on this subject was not available at all times I called.


----------



## joekitch (Sep 13, 2013)

The aem guys gave me these two files, I got them in my Google drive since I can't attach them here






Vcu200 files - Google Drive







drive.google.com


----------



## evnoob666 (18 d ago)

That looks more like the files for the vcu200 for the AEMCAL software. I am specifically looking for the symbol list for the RMS GUI software, and a matching firmware for the inverter board. But thanks for trying to help


----------



## joekitch (Sep 13, 2013)

in that case, what you need may be at page 20-22 of this doc, i believe that's loading firmware onto the the LDU board


https://www.aemev.com/sites/default/files/AEM-EV-30-8402-Tesla-LDU-ICB-Installation-Manual.pdf


----------



## evnoob666 (18 d ago)

Yes it says to load the AEM firmware to the board, but the file is missing, AEM needs to supply the file.


----------



## joekitch (Sep 13, 2013)

Good point, although, poking around in that cascadia firmware file hosting thingy, I'm seeing this, could this be it?




CM and Gen5 control card Firmware - Box


----------

