How To - ECU Replacement

jcolton

Greenie N00B Member
Greenie Member
Alright this is going to take me some time to get this all edited up nicely so bear with me.

All of this was done in a 2009 Mazdaspeed 3. This will for certain work on the Mazdaspeed 6 and I assume the systems we describe here are identical on the Gen2 platform as well, but it's only an assumption. I have not tested or researched very thoroughly compatibility for Gen2 speeds. I'm also going to make the assumption that you have sourced a replacement ECU for your vehicle. There are several services available (got mine from eBay) that will send you a remanufactured ECU with your VIN number already flashed, for a pretty reasonable price.

If you have an AccessPort installed, see if you can get it to uninstall from your ECU. I was able to successfully uninstall my AccessPort, as the only bit on my ECU that was not functioning seemed to be fuel system control. If your ECU will not boot at all, check fuses. If it sill won't boot, you will need to send your AP to Cobb to have it set back to "uninstalled".

Overview of the process.

Mazda and Ford were friends at one time, as you can tell from the variety of fomoco stamped parts in your speed. Maybe they still are, who cares. Anyways, they actually employed damn near the exact same anti-theft system between both companies. PATS, which stands for Passive Anti-Theft System. This system works similar to a two-tier PKI in the computer/cryptography world in that there is a "shared secret" between your ECU and the HEC (the computer that lives in your instrument cluster). You turn your key over, the HEC verifies that they key ID is stored in it's memory and allows the ECU to begin to boot if so. Both systems boot and exchange a handshake on the CANBus. If your handshake is not successful (you dropped a fresh ECU into the car that doesn't have the same 'secret key'), the ECU will not boot further and the HEC will report that a theft has occurred and your vehicle is now immobilized. Fun times!

Mazda's process for this repair is to replace the ECU, connect their VCM-II computer diagnostic device to the OBD port in your vehicle, and perform a procedure to marry the two computers in your vehicle, via the Mazda IDS software. Both the ECU and the HEC will present an "Outcode" during this process. The Mazda technician makes note of each Outcode, plugs them into Mazda's service website, and the website spits back out two separate "Incodes". This algorithm on Mazda's service website is the key to making these two computers talk to each other, and is typically behind a paywall/subscription/fee. Fuck that.

It quickly became apparent that my biggest hurdle was going to be trying to track down the hardware and software that Mazda uses at the shop for this sort of bullshit. And I'm sure as fuck not paying Mazda/Bosch $1795 for a glorified microcontroller with some relays. Oh and I'm sure as shit not paying for a subscription to use their software to FIX MY OWN CAR.

One final note, you will need AT LEAST two keys to complete this procedure. I have only ever had one key with this car as I bought it used, so I ordered some replacements and had them cut at the local hardware store (unsuccessfully but more on that later). Really all you need is one functioning cut key that will turn in the cylinder, and you can use an uncut key as the secondary as long as it has the appropriate RFID chip inside. Oh and some tinfoil.

Part 1 - Finding a VCM-II unit
Tracking down a functional non-ripoff unit seemed to be more difficult that I thought! There are SO MANY 'emulators' and just straight up bullshit products on the market so be very careful and vigilant in your research. I ended up finding this video on YouTube, of a gentleman tearing down one of these products. Once I saw what the inside of the unit he received looked like, I knew I had found my VCM. The vendor being a co.uk website, I was leery.....and against my better judgement and after being burned by this sort of crap in the past, I placed an order on the website the gentleman in the YT video ordered his unit from, and I was pleasantly surprised with a very nice VCM-II unit. See the description in the video for more info on where that was ordered from, I am not affiliated with the seller in any way, you are on your own for this part unfortunately and I accept no liability or whatever legal jargon I need to say "don't blame me if you don't get a good product". I'll do everything I can to show you what to look for here but there's always some shitbag out there looking to make a quick buck by selling a bogus computer.

LM Auto Repairs - Mazda VCM 2 interface teardown: https://youtu.be/yhhxcAy9QnQ

Here's a quick side-by-side of one bad cheap knock off VCM tool, and a solid clone.
Piece of SHIT - DO NOT BUY
1.png
VCM_POS.png

Where's the chips?!? We should be seeing two separate (much larger) processor units on this board and we should see several memory chips on the PCB. None of that is present, and we're seeing a single ARM processor. Not cool. Most likely running some sort of diag emulation crap that is going to be very non-useful.

Solid clone - Quality product!
VCM_Good.png
2.png
Another view without the daughter board attached
VCM_Good2.png
3.png

Notice the substantial differences between the two PCB's. Here are our larger processing units, and two separate PCB's. A daughter board attached to the main board, which should have some sort of Altera processor. THIS is what we are after.

Your new VCM-II unit should come with a copy of Mazda IDS software!!! If it did not, please PM me and we can see what we can do for you, but most vendors will send you a CD with the software along with your order. The version I received is v106, which worked just fine. With this tool, and the software, you are now ready to tackle literally anything you can imagine in your Mazda (and/or Ford if you purchased the dual purpose VCM-II unit). ECU replacement and reprogramming, key replacement and reprogramming, fob replacement and reprogramming, perform computer driven self checks on each system in your car all at once or individually, etc. It's pretty cool!

Part 2 - Installing the software and getting your VCM connected
From my research, Mazda IDS only runs on Windows 7. I have not tried running it on Windows 10 yet because the laptop I have for my garage is an absolute flaming piece of garbage and I'm not wasting my time doing anything more to it than I have to. There are two programs that should install along with the Mazda IDS suite. There is the Mazda IDS software which installs a few utilities related to the VCM and of course IDS itself, and there should a Mazda Calibration setup to run, which extends the device configurations for newer model cars. Mine was labeled 'MazdaCalibration C93'.

Alright so first thing is first, we need to connect the VCM-II via USB to your fancy pants laptop. Launch the 'VCM II Manager' software and you should be greeted with this nice little message.
VCM_NotConnected.png

VCM_Connected.png

4.png
Hit connect!
5.png
Leave this window open and now plug the OBD end of things into your car's OBD port and lets launch the IDS software.

Part 3 - Connecting to the car's ECU via Mazda IDS
Launch the IDS software now that your VCM device is connected, and you should be greeted with this screen. These menu's are clunky as hell btw :|
6.png
IDS01.png


Start a new session, and select All other, then hit the checkmark in the bottom right.
7.png 8.png 9.png
IDS02.png

IDS03.png

IDS04.png

At this point, if you have purchased and installed the proper PCM unit you should see the appropriate vehicle information displayed here. For this particular screenshot my PATS status is "Equipped" as I've already programmed this PCM and the HEC is happy. When things are not happy, PATS will report vehicle immobilized.

If the software does not connect here, you need to make sure that the ECU is actually booting by checking for a 5v reference coming out of the thing. Double check fuses in the passenger footwell and ensure you have 12v to the ECU with the KOEO in the fuse box in the engine bay. I fought this step a bit as I had some really shitty wires that needed replaced.

Next you are going to be asked if your vehicle is equipped with DSC. Select yes, and hit the green checkbox.
10.png

IDS05.png

Confirm your market
IDS06.png

11.png
This next screen is more for keeping track of servicing if you are a genuine Mazda tech shop. Feel free to leave all this crap blank, it doesn't make any difference that I can tell aside from note keeping.
12.png
IDS07.png

Double check your VIN, you probably don't want to end up with an incorrect number here.
IDS08.png

13.png
Part 4 - Resetting and reprogramming the PCM and HEC

Now we are at the fun part. This menu contains the bulk of features this VCM is capable of. The yellow sign post icon at the top has additional niftiness and your VCM device should actually support plugging in a probe and performing oscilloscope work directly in the IDS software which is pretty bad ass, which you will find in that menu.
14.png
IDS09.png

For now, we need to start in Body > Security > PATS Functions, and hit the check in the bottom right.
15.png
IDS_PATS01.png

Follow the instructions :p
16.png
IDS_PATS02.png

You will be asked if your vehicle has an SKE system which is fancy keyless entry. My vehicle did not have it, if you have a Speed 6 or a Genpu this may apply here. It's not going to end the world if you select yes, if anything it's going to complain that it doesn't detect the SKE and you will be dumped back a couple steps. No big deal.
IDS_PATS03.png

17.png
Now, what I did here was select Parameter Reset.
18.png
IDS_PATS_01.png

This next step describes the process for gaining security access to your car.
IDS_PATS_02.png

19.png
Now is where you need to make a note of the Outcode for your HEC module, and the Outcode for the PCM. Make sure you know which one is which, taking a picture of the screen with your phone is easiest for sure.
IDS_PATS_03.png

20.png
There are several apps available to take care of this next step, and I was lucky enough to find one that worked well the first try. I have an android phone and don't have good instructions if you have an iPhone...I think there are some apps available but you will need to search for them. Sorry!! :(
Incode by Outcode - Published by OBD High Tech
IncodeOutcode.png

21.png
Launch the app, and plug in your first Outcode. Write down the resulting Incode. You can either go back in the app and get lucky enough to be able to run another Outcode operation, or I had luck with force closing the app and relaunching it to skip the cooldown timer. Punch in your second Outcode, and make note of the generated Incode.
IncodeApp.png

22.png
Enter your codes into the Mazda IDS software, and hit the checkmark in the bottom right.
IDS_PATS_04.png

IDS_PATS_05.png

23.png
24.png
Hell yeah brother!! Fuck you Mazda service center!

You will now be warned about needing two keys. Heed this warning and have two ready.

If you, like me, only have one functioning cut key and one key that is either uncut or does not turn in the cylinder, do not fear. Your best pal tinfoil is here. During the programming process you will be asked to put the first key into the ignition, turn it over and wait 5 seconds. Then you will be asked to plug the second key in and do the same thing. Instead what you are going to do is wrap the end of your good key in a couple layers of tinfoil, so that you are blocking the RFID signal. Put the key in the ignition, and hold the plastic end of your other nonfunctional key up to where your tinfoil covered key now sits, nice and close to the RFID receiver in your ignition cylinder. Turn the key over keeping the other key close and presto! You programmed the HEC with the RFID module in the second non-cut/non-functional key. Now that you have IDS and a VCM you can get as many keys as you want later!
25.png
IDS_PATS_06.png


I unfortunately do not have a screenshot of the key procedure, as I programmed my ECU before I made this tutorial, but I assure you as long as you read the instructions in the IDS software, the process is very simple to program both keys. This next screen after you have reset things, make sure to select that you have replaced the PCM, and hit the checkbox.
26.png
IDS_PATS_07.png

Here is where things get fuzzy for me in my recollection of events, I was about in shock that this was all actually working hahaha. If you have not already been asked to perform the key programming procedure, or your car will still not start, you need to select "Ignition Key Code Erase and Program' from this same menu screen.
IDS_PATS04.png

27.png
You will be asked to perform the Outcode/Incode procedure each time you go through this process. So far my numbers have been different each time so keep the Incode by Outcode app handy!

Really, this is the bulk of the procedure that was needed for me to replace the ECU in my car. Once PATS is satisfied again and you can turn the motor over, re-install your AccessPort and flash your tune back to the vehicle before you go ripping around again!

If anyone ever needs to go through this process and gets to a step I haven't covered here or you need help with anything, let me know and I'm happy to try and assist you with what I can! Good luck out there dudes and gentleladies and don't blow your car up!

There is a lot more you can do in the way of diagnostics with your fancy new VCM-II device, including autonomous logging to the onboard SD card just like we do with our AccessPorts. You should definitely poke around the menu's now that you've gotten this all connected and working. You deserve it! Also beer, you deserve beer.
 
Last edited by a moderator:
Alright this is going to take me some time to get this all edited up nicely so bear with me.

All of this was done in a 2009 Mazdaspeed 3. This will for certain work on the Mazdaspeed 6 and I assume the systems we describe here are identical on the Gen2 platform as well, but it's only an assumption. I have not tested or researched very thoroughly compatibility for Gen2 speeds. I'm also going to make the assumption that you have sourced a replacement ECU for your vehicle. There are several services available (got mine from eBay) that will send you a remanufactured ECU with your VIN number already flashed, for a pretty reasonable price.

If you have an AccessPort installed, see if you can get it to uninstall from your ECU. I was able to successfully uninstall my AccessPort, as the only bit on my ECU that was not functioning seemed to be fuel system control. If your ECU will not boot at all, check fuses. If it sill won't boot, you will need to send your AP to Cobb to have it set back to "uninstalled".

Backstory
Three years ago I had two friends in the speed 3, getting coffee. Started to get onto freeway nice and gentle because I don't want spilled coffee all over my beloved speed and poof, no fuel pressure. I hadn't given the car much throttle and was not accelerating hard so my mind was blown. I started logging with the AP and I was able to limp the car home somehow and there it sat for the next three years as I tried to figure out what the F happened. I have pretty bad anxiety and depression so there were several months in between some of the attempts at fixing the troubles, as I got stuck inside my house pouting, pushing this project out to three long ass years.

Started with the easy stuff, fuses, relay testing, wire resistance and continuity, etc. In tank fuel pump was good but got a new one and new fuel filter just for grins. Replaced the pressure relief valve, replaced the HPFP (the whole effing thing), pulled new wire to the HPFP spill valve, etc. etc. parts, money, tears and baldness. Finally bought myself a cheap little oscilloscope and discovered I was not seeing a PWM signal going to the spill valve on the HPFP. If I directly actuate the spill valve solenoid with a 12v switch I rigged up, bam all the fuel pressure in the world. I thought about just wiring the solenoid to a 12v circuit and calling it a day but who knows how long that would have lasted before ZZB. It's a PWM actuated solenoid and is actuated by the ECU rapidly to control the amount of fuel entering the HPFP, so it's pretty important that it functions as designed. I made a poor assumption that the computer was not commanding the spill valve because of some faulty sensor elsewhere in the rig, perhaps some sort of protection feature....it wasn't, but it pushed the troubleshooting out even further. After pouring through the workshop manual for the 900th time, I finally decided it had to be the ECU that took a shit and began figuring out how I was going to go about replacing that, without the help of Mazda.

SO! Without any more bellyaching and bitching about my woes, here's how to replace your ECU (or HEC or pretty much whatever the hell you want to).

Overview of the process.

Mazda and Ford were friends at one time, as you can tell from the variety of fomoco stamped parts in your speed. Maybe they still are, who cares. Anyways, they actually employed damn near the exact same anti-theft system between both companies. PATS, which stands for Passive Anti-Theft System. This system works similar to a two-tier PKI in the computer/cryptography world in that there is a "shared secret" between your ECU and the HEC (the computer that lives in your instrument cluster). You turn your key over, the HEC verifies that they key ID is stored in it's memory and allows the ECU to begin to boot if so. Both systems boot and exchange a handshake on the CANBus. If your handshake is not successful (you dropped a fresh ECU into the car that doesn't have the same 'secret key'), the ECU will not boot further and the HEC will report that a theft has occurred and your vehicle is now immobilized. Fun times!

Mazda's process for this repair is to replace the ECU, connect their VCM-II computer diagnostic device to the OBD port in your vehicle, and perform a procedure to marry the two computers in your vehicle, via the Mazda IDS software. Both the ECU and the HEC will present an "Outcode" during this process. The Mazda technician makes note of each Outcode, plugs them into Mazda's service website, and the website spits back out two separate "Incodes". This algorithm on Mazda's service website is the key to making these two computers talk to each other, and is typically behind a paywall/subscription/fee. Fuck that.

It quickly became apparent that my biggest hurdle was going to be trying to track down the hardware and software that Mazda uses at the shop for this sort of bullshit. And I'm sure as fuck not paying Mazda/Bosch $1795 for a glorified microcontroller with some relays. Oh and I'm sure as shit not paying for a subscription to use their software to FIX MY OWN CAR.

One final note, you will need AT LEAST two keys to complete this procedure. I have only ever had one key with this car as I bought it used, so I ordered some replacements and had them cut at the local hardware store (unsuccessfully but more on that later). Really all you need is one functioning cut key that will turn in the cylinder, and you can use an uncut key as the secondary as long as it has the appropriate RFID chip inside. Oh and some tinfoil.

Part 1 - Finding a VCM-II unit
Tracking down a functional non-ripoff unit seemed to be more difficult that I thought! There are SO MANY 'emulators' and just straight up bullshit products on the market so be very careful and vigilant in your research. I ended up finding this video on YouTube, of a gentleman tearing down one of these products. Once I saw what the inside of the unit he received looked like, I knew I had found my VCM. The vendor being a co.uk website, I was leery.....and against my better judgement and after being burned by this sort of crap in the past, I placed an order on the website the gentleman in the YT video ordered his unit from, and I was pleasantly surprised with a very nice VCM-II unit. See the description in the video for more info on where that was ordered from, I am not affiliated with the seller in any way, you are on your own for this part unfortunately and I accept no liability or whatever legal jargon I need to say "don't blame me if you don't get a good product". I'll do everything I can to show you what to look for here but there's always some shitbag out there looking to make a quick buck by selling a bogus computer.

LM Auto Repairs - Mazda VCM 2 interface teardown: https://youtu.be/yhhxcAy9QnQ

Here's a quick side-by-side of one bad cheap knock off VCM tool, and a solid clone.
Piece of SHIT - DO NOT BUY
VCM_POS.png

Where's the chips?!? We should be seeing two separate (much larger) processor units on this board and we should see several memory chips on the PCB. None of that is present, and we're seeing a single ARM processor. Not cool. Most likely running some sort of diag emulation crap that is going to be very non-useful.

Solid clone - Quality product!
VCM_Good.png

Another view without the daughter board attached
VCM_Good2.png

Notice the substantial differences between the two PCB's. Here are our larger processing units, and two separate PCB's. A daughter board attached to the main board, which should have some sort of Altera processor. THIS is what we are after.

Your new VCM-II unit should come with a copy of Mazda IDS software!!! If it did not, please PM me and we can see what we can do for you, but most vendors will send you a CD with the software along with your order. The version I received is v106, which worked just fine. With this tool, and the software, you are now ready to tackle literally anything you can imagine in your Mazda (and/or Ford if you purchased the dual purpose VCM-II unit). ECU replacement and reprogramming, key replacement and reprogramming, fob replacement and reprogramming, perform computer driven self checks on each system in your car all at once or individually, etc. It's pretty cool!

Part 2 - Installing the software and getting your VCM connected
From my research, Mazda IDS only runs on Windows 7. I have not tried running it on Windows 10 yet because the laptop I have for my garage is an absolute flaming piece of garbage and I'm not wasting my time doing anything more to it than I have to. There are two programs that should install along with the Mazda IDS suite. There is the VCM Manager tool, and more importantly the actual IDS software. Install both, and make sure that you install the additional Mazda codes that come with the software to expand the supported device configurations for newer model cars.

More to come later today, I need to go get some screenshots from the laptop in my garage so that I am giving you a clear path to success! Just wanted to get the bulk of the introduction posted before it left my brain
Very cool, excited to see where this goes. Please also add speed density and flex fuel ;-) "I know this has nothing to do with those things"
 
Parents stopped by on their way through so I'm already behind schedule haha. Man I'm garbage with the actual tuning of things! I understand the computer systems and some CANbus shit but as far as ignition timings/fuel mixtures/etc. I'm still very much a noob! I did however recently researched Flex Fuel sensors that you tie into the MAF sensor input on your ECU and run a speed density tune beings you no longer have a mass airflow sensor, then you can have magic fuel calculations on the fly! Subaru dudes LOVE speed density....Never run an SD tune myself but to have a flex fuel sensor.....that might be worth it hahaha!

EDIT: I do have an ethanol fuel calculator on my website (not trying to plug my site just offering info!). It's got lots of workshop books and crap too from the old VIP section, so it requires signing up for an account to access. I even have a copy of Mazda's interactive service website available to peruse through. It's all in flash which blows but it currently still works as long as you enable flash in your browser and ignore the warnings lol. Hit me up if you want access I'm happy to share with the MSO community! <3<3

https://ms3.degrader.net/ethanol-calculator1
 
Last edited:
Okay I think that about covers most of it. If anyone tries this and needs help throughout the process do not hesitate to hit me up and I'm happy to do my best to help you out. I'm not a Mazda certified tech, nor do I have legit training in any of this software. I am just a computer nerd that was desperate to have my car running again hahaha :headbang:
 
I read your back story, and had to share, I feel your pain.
Nish and I were about to add the 5th port in, and continue the tune. I sprayed some high end marine contact cleaner on the PCM plugs, it rinsed someparticles together and shorted up. spent many many hours trying to trace down some phantom 30ish ohm short. started riding a bike to work, the got a civic , stumbled onto a minty speed6, and now here it is 4 years later....


00000IMG_00000_BURST20200701133008568_COVER.jpg
 
I read your back story, and had to share, I feel your pain.
Nish and I were about to add the 5th port in, and continue the tune. I sprayed some high end marine contact cleaner on the PCM plugs, it rinsed someparticles together and shorted up. spent many many hours trying to trace down some phantom 30ish ohm short. started riding a bike to work, the got a civic , stumbled onto a minty speed6, and now here it is 4 years later....


View attachment 14852

Oh man dude I feel that pain so hard! I'm pretty close to where I work so I walked for a while and ended up buying another rig to use as a DD. That wiring harness looks an awful lot like what mine used to look like! The car was bought used (I didn't read @Raider 's what to look for buying a used speed post, I'm not sure if it existed back then but would have loved it because I was stupid!) and when I started digging into things for some upgrades I had more moments of "what in the fuck is going on here" than I can count lol! Idk wtf the bitch that owned this car before me was trying to do but he's a douche canoe. Time for the VVT job after this whole shitshow and it should be a solid car again. Just need that sweet ass CST5 turbo and some alcohol injection after that!
 
The Mazda VCM software looks pretty much identical to the General Motors MDI stuff. I wonder if I could get my MDI to connect to my car using the mazda software.
 
I had a valid donor PCM flashed at a decent dealer, I believe it was called the MDS, iirc. took along time to burn in, and at times I thought I saw the guy tap the screen like Fonzie, but it ran fine for a little while before the codes about cam and crank position got to be to much.

its ok, soon the built motor will come out and go into the 6.

a small chassis part out sale will be held, and the shell will roll away somewhere
 
Thank you for the post! I want to clarify, basically does it describe the same functionality that Forscan tool has https://forscan.org/forum/viewtopic.php?f=6&t=839? If it is, then we can achieve same thing without need to buy that VCM-II unit.
Quickly looking at that it does look like you could perhaps get the exact same process done with forscan! It's a PATS system so it appears there should be no problem.
 
Questions on your troubleshooting phase, as I'm having a nearly identical issue with my 08. Would your engine run at all? Or was it completely dead due to no fuel pressure?

Did you attempt to monitor HPFP voltage from your AP?

Sent from my Pixel using Tapatalk
 
Questions on your troubleshooting phase, as I'm having a nearly identical issue with my 08. Would your engine run at all? Or was it completely dead due to no fuel pressure?
Did you attempt to monitor HPFP voltage from your AP?

Sent from my Pixel using Tapatalk
Yes and yes! I could get the motor to idle if I kept on the throttle a bit but it idled like absolute shit. On the AP I was getting the expected in-tank fuel pump pressure. Giving the solenoid on the hpfp 12v gave it all the pressure it wanted so it had to be either the wiring or something on the other end of that wire which was the pcm in this case. Check the shit out of your fuses too!
 
Questions on your troubleshooting phase, as I'm having a nearly identical issue with my 08. Would your engine run at all? Or was it completely dead due to no fuel pressure?

Did you attempt to monitor HPFP voltage from your AP?

Sent from my Pixel using Tapatalk
Here's a video clip of the car idling and me mashing the gas a little bit. I still had two step set up at this point so you hear it break up a bit just shy of 3k but you get the idea on the rest hahaha. Good luck man
https://photos.app.goo.gl/v7mBwcbjJUZAAf7r5
 
Here's a video clip of the car idling and me mashing the gas a little bit. I still had two step set up at this point so you hear it break up a bit just shy of 3k but you get the idea on the rest hahaha. Good luck man
https://photos.app.goo.gl/v7mBwcbjJUZAAf7r5
Ok cool. I actually have good HPFP pressure, according to my AP, but no HPFP voltage. My car will run fine, anywhere from 10 seconds, to ten minutes, then die. And it won't start again for a few hours. It's been quite annoying.

I have one code, P0091 Fuel Pressure Regulator 1 Control Circuit Low

Sent from my Pixel using Tapatalk
 
Alright this is going to take me some time to get this all edited up nicely so bear with me.

All of this was done in a 2009 Mazdaspeed 3. This will for certain work on the Mazdaspeed 6 and I assume the systems we describe here are identical on the Gen2 platform as well, but it's only an assumption. I have not tested or researched very thoroughly compatibility for Gen2 speeds. I'm also going to make the assumption that you have sourced a replacement ECU for your vehicle. There are several services available (got mine from eBay) that will send you a remanufactured ECU with your VIN number already flashed, for a pretty reasonable price.

If you have an AccessPort installed, see if you can get it to uninstall from your ECU. I was able to successfully uninstall my AccessPort, as the only bit on my ECU that was not functioning seemed to be fuel system control. If your ECU will not boot at all, check fuses. If it sill won't boot, you will need to send your AP to Cobb to have it set back to "uninstalled".

Backstory
Three years ago I had two friends in the speed 3, getting coffee. Started to get onto freeway nice and gentle because I don't want spilled coffee all over my beloved speed and poof, no fuel pressure. I hadn't given the car much throttle and was not accelerating hard so my mind was blown. I started logging with the AP and I was able to limp the car home somehow and there it sat for the next three years as I tried to figure out what the F happened. I have pretty bad anxiety and depression so there were several months in between some of the attempts at fixing the troubles, as I got stuck inside my house pouting, pushing this project out to three long ass years.

Started with the easy stuff, fuses, relay testing, wire resistance and continuity, etc. In tank fuel pump was good but got a new one and new fuel filter just for grins. Replaced the pressure relief valve, replaced the HPFP (the whole effing thing), pulled new wire to the HPFP spill valve, etc. etc. parts, money, tears and baldness. Finally bought myself a cheap little oscilloscope and discovered I was not seeing a PWM signal going to the spill valve on the HPFP. If I directly actuate the spill valve solenoid with a 12v switch I rigged up, bam all the fuel pressure in the world. I thought about just wiring the solenoid to a 12v circuit and calling it a day but who knows how long that would have lasted before ZZB. It's a PWM actuated solenoid and is actuated by the ECU rapidly to control the amount of fuel entering the HPFP, so it's pretty important that it functions as designed. I made a poor assumption that the computer was not commanding the spill valve because of some faulty sensor elsewhere in the rig, perhaps some sort of protection feature....it wasn't, but it pushed the troubleshooting out even further. After pouring through the workshop manual for the 900th time, I finally decided it had to be the ECU that took a shit and began figuring out how I was going to go about replacing that, without the help of Mazda.

SO! Without any more bellyaching and bitching about my woes, here's how to replace your ECU (or HEC or pretty much whatever the hell you want to).

Overview of the process.

Mazda and Ford were friends at one time, as you can tell from the variety of fomoco stamped parts in your speed. Maybe they still are, who cares. Anyways, they actually employed damn near the exact same anti-theft system between both companies. PATS, which stands for Passive Anti-Theft System. This system works similar to a two-tier PKI in the computer/cryptography world in that there is a "shared secret" between your ECU and the HEC (the computer that lives in your instrument cluster). You turn your key over, the HEC verifies that they key ID is stored in it's memory and allows the ECU to begin to boot if so. Both systems boot and exchange a handshake on the CANBus. If your handshake is not successful (you dropped a fresh ECU into the car that doesn't have the same 'secret key'), the ECU will not boot further and the HEC will report that a theft has occurred and your vehicle is now immobilized. Fun times!

Mazda's process for this repair is to replace the ECU, connect their VCM-II computer diagnostic device to the OBD port in your vehicle, and perform a procedure to marry the two computers in your vehicle, via the Mazda IDS software. Both the ECU and the HEC will present an "Outcode" during this process. The Mazda technician makes note of each Outcode, plugs them into Mazda's service website, and the website spits back out two separate "Incodes". This algorithm on Mazda's service website is the key to making these two computers talk to each other, and is typically behind a paywall/subscription/fee. Fuck that.

It quickly became apparent that my biggest hurdle was going to be trying to track down the hardware and software that Mazda uses at the shop for this sort of bullshit. And I'm sure as fuck not paying Mazda/Bosch $1795 for a glorified microcontroller with some relays. Oh and I'm sure as shit not paying for a subscription to use their software to FIX MY OWN CAR.

One final note, you will need AT LEAST two keys to complete this procedure. I have only ever had one key with this car as I bought it used, so I ordered some replacements and had them cut at the local hardware store (unsuccessfully but more on that later). Really all you need is one functioning cut key that will turn in the cylinder, and you can use an uncut key as the secondary as long as it has the appropriate RFID chip inside. Oh and some tinfoil.

Part 1 - Finding a VCM-II unit
Tracking down a functional non-ripoff unit seemed to be more difficult that I thought! There are SO MANY 'emulators' and just straight up bullshit products on the market so be very careful and vigilant in your research. I ended up finding this video on YouTube, of a gentleman tearing down one of these products. Once I saw what the inside of the unit he received looked like, I knew I had found my VCM. The vendor being a co.uk website, I was leery.....and against my better judgement and after being burned by this sort of crap in the past, I placed an order on the website the gentleman in the YT video ordered his unit from, and I was pleasantly surprised with a very nice VCM-II unit. See the description in the video for more info on where that was ordered from, I am not affiliated with the seller in any way, you are on your own for this part unfortunately and I accept no liability or whatever legal jargon I need to say "don't blame me if you don't get a good product". I'll do everything I can to show you what to look for here but there's always some shitbag out there looking to make a quick buck by selling a bogus computer.

LM Auto Repairs - Mazda VCM 2 interface teardown: https://youtu.be/yhhxcAy9QnQ

Here's a quick side-by-side of one bad cheap knock off VCM tool, and a solid clone.
Piece of SHIT - DO NOT BUY
VCM_POS.png

Where's the chips?!? We should be seeing two separate (much larger) processor units on this board and we should see several memory chips on the PCB. None of that is present, and we're seeing a single ARM processor. Not cool. Most likely running some sort of diag emulation crap that is going to be very non-useful.

Solid clone - Quality product!
VCM_Good.png

Another view without the daughter board attached
VCM_Good2.png

Notice the substantial differences between the two PCB's. Here are our larger processing units, and two separate PCB's. A daughter board attached to the main board, which should have some sort of Altera processor. THIS is what we are after.

Your new VCM-II unit should come with a copy of Mazda IDS software!!! If it did not, please PM me and we can see what we can do for you, but most vendors will send you a CD with the software along with your order. The version I received is v106, which worked just fine. With this tool, and the software, you are now ready to tackle literally anything you can imagine in your Mazda (and/or Ford if you purchased the dual purpose VCM-II unit). ECU replacement and reprogramming, key replacement and reprogramming, fob replacement and reprogramming, perform computer driven self checks on each system in your car all at once or individually, etc. It's pretty cool!

Part 2 - Installing the software and getting your VCM connected
From my research, Mazda IDS only runs on Windows 7. I have not tried running it on Windows 10 yet because the laptop I have for my garage is an absolute flaming piece of garbage and I'm not wasting my time doing anything more to it than I have to. There are two programs that should install along with the Mazda IDS suite. There is the Mazda IDS software which installs a few utilities related to the VCM and of course IDS itself, and there should a Mazda Calibration setup to run, which extends the device configurations for newer model cars. Mine was labeled 'MazdaCalibration C93'.

Alright so first thing is first, we need to connect the VCM-II via USB to your fancy pants laptop. Launch the 'VCM II Manager' software and you should be greeted with this nice little message.
VCM_NotConnected.png

Hit connect!
VCM_Connected.png


Leave this window open and now plug the OBD end of things into your car's OBD port and lets launch the IDS software.

Part 3 - Connecting to the car's ECU via Mazda IDS
Launch the IDS software now that your VCM device is connected, and you should be greeted with this screen. These menu's are clunky as hell btw :|
IDS01.png


Start a new session, and select All other, then hit the checkmark in the bottom right.
IDS02.png

IDS03.png

IDS04.png

At this point, if you have purchased and installed the proper PCM unit you should see the appropriate vehicle information displayed here. For this particular screenshot my PATS status is "Equipped" as I've already programmed this PCM and the HEC is happy. When things are not happy, PATS will report vehicle immobilized.

If the software does not connect here, you need to make sure that the ECU is actually booting by checking for a 5v reference coming out of the thing. Double check fuses in the passenger footwell and ensure you have 12v to the ECU with the KOEO in the fuse box in the engine bay. I fought this step a bit as I had some really shitty wires that needed replaced.

Next you are going to be asked if your vehicle is equipped with DSC. Select yes, and hit the green checkbox.
IDS05.png

Confirm your market
IDS06.png


This next screen is more for keeping track of servicing if you are a genuine Mazda tech shop. Feel free to leave all this crap blank, it doesn't make any difference that I can tell aside from note keeping.
IDS07.png

Double check your VIN, you probably don't want to end up with an incorrect number here.
IDS08.png


Part 4 - Resetting and reprogramming the PCM and HEC

Now we are at the fun part. This menu contains the bulk of features this VCM is capable of. The yellow sign post icon at the top has additional niftiness and your VCM device should actually support plugging in a probe and performing oscilloscope work directly in the IDS software which is pretty bad ass, which you will find in that menu.
IDS09.png

For now, we need to start in Body > Security > PATS Functions, and hit the check in the bottom right.
IDS_PATS01.png

Follow the instructions :p
IDS_PATS02.png

You will be asked if your vehicle has an SKE system which is fancy keyless entry. My vehicle did not have it, if you have a Speed 6 or a Genpu this may apply here. It's not going to end the world if you select yes, if anything it's going to complain that it doesn't detect the SKE and you will be dumped back a couple steps. No big deal.
IDS_PATS03.png


Now, what I did here was select Parameter Reset.
IDS_PATS_01.png

This next step describes the process for gaining security access to your car.
IDS_PATS_02.png


Now is where you need to make a note of the Outcode for your HEC module, and the Outcode for the PCM. Make sure you know which one is which, taking a picture of the screen with your phone is easiest for sure.
IDS_PATS_03.png


There are several apps available to take care of this next step, and I was lucky enough to find one that worked well the first try. I have an android phone and don't have good instructions if you have an iPhone...I think there are some apps available but you will need to search for them. Sorry!! :(
Incode by Outcode - Published by OBD High Tech
IncodeOutcode.png


Launch the app, and plug in your first Outcode. Write down the resulting Incode. You can either go back in the app and get lucky enough to be able to run another Outcode operation, or I had luck with force closing the app and relaunching it to skip the cooldown timer. Punch in your second Outcode, and make note of the generated Incode.
IncodeApp.png


Enter your codes into the Mazda IDS software, and hit the checkmark in the bottom right.
IDS_PATS_04.png

IDS_PATS_05.png


Hell yeah brother!! Fuck you Mazda service center!

You will now be warned about needing two keys. Heed this warning and have two ready.

If you, like me, only have one functioning cut key and one key that is either uncut or does not turn in the cylinder, do not fear. Your best pal tinfoil is here. During the programming process you will be asked to put the first key into the ignition, turn it over and wait 5 seconds. Then you will be asked to plug the second key in and do the same thing. Instead what you are going to do is wrap the end of your good key in a couple layers of tinfoil, so that you are blocking the RFID signal. Put the key in the ignition, and hold the plastic end of your other nonfunctional key up to where your tinfoil covered key now sits, nice and close to the RFID receiver in your ignition cylinder. Turn the key over keeping the other key close and presto! You programmed the HEC with the RFID module in the second non-cut/non-functional key. Now that you have IDS and a VCM you can get as many keys as you want later!

IDS_PATS_06.png


I unfortunately do not have a screenshot of the key procedure, as I programmed my ECU before I made this tutorial, but I assure you as long as you read the instructions in the IDS software, the process is very simple to program both keys. This next screen after you have reset things, make sure to select that you have replaced the PCM, and hit the checkbox.
IDS_PATS_07.png

Here is where things get fuzzy for me in my recollection of events, I was about in shock that this was all actually working hahaha. If you have not already been asked to perform the key programming procedure, or your car will still not start, you need to select "Ignition Key Code Erase and Program' from this same menu screen.
IDS_PATS04.png


You will be asked to perform the Outcode/Incode procedure each time you go through this process. So far my numbers have been different each time so keep the Incode by Outcode app handy!

Really, this is the bulk of the procedure that was needed for me to replace the ECU in my car. Once PATS is satisfied again and you can turn the motor over, re-install your AccessPort and flash your tune back to the vehicle before you go ripping around again!

If anyone ever needs to go through this process and gets to a step I haven't covered here or you need help with anything, let me know and I'm happy to try and assist you with what I can! Good luck out there dudes and gentleladies and don't blow your car up!

There is a lot more you can do in the way of diagnostics with your fancy new VCM-II device, including autonomous logging to the onboard SD card just like we do with our AccessPorts. You should definitely poke around the menu's now that you've gotten this all connected and working. You deserve it! Also beer, you deserve beer.
thanks for the info it was much needed. I have a gen 2 and I just ordered the vcm 2 because I have to replace my pcm .. but the only thing I've been trying to figure out is what pcm part number would have the same compatibility just like my original pcm for example L3EC-18-881E is from my 2013 i currently have a used pcm from an 07 gen one ... Any suggestions would be great
 
Does anyone know of other trusted retailers for the VCM II? It appears that the shop referenced in the video you provided is out of stock. Also, I am blown away by this write-up. I didn't know pairing the ECU and HEC was in the scope of an end-user!
 
Back
Top