We're going to explore ways to sharpen our diagnostic skills, find learning resources, and hear from
experts in the automotive field.
This show is brought to you by Auto Rescue Tools and Isaac Rodel.
If you've been looking for a programming laptop, you're not sure which one to buy or how to
set it up, especially if you want to program multiple brands.
You've got some domestic vehicles, you've got European vehicles, can the same software
go on the same laptop?
What size hard drive do I need?
All those questions.
Isaac's your guy.
He can custom set up programming laptops that are ready to tackle any make or model.
I got one of these laptops myself and I can say that it is outstanding and it really streamlines
the process by having everything you need in one device.
So if you're looking for something like that, I highly recommend checking out autorescuetools.com.
You'll also find scan tools, diagnostic equipment, key cutting equipment, and much more.
Check out the link in the show notes.
I highly recommend it.
Hey, what's going on?
Automotive World, welcome to another episode of the Automotive Diagnostic Podcast.
My name is Sean Tipping, I'll be your host once again for this week's episode.
Thank you so much for joining me.
Just being on the show this week, I'm going to stop talking about AI for a little bit.
Can't promise it's forever.
But we're going to talk about some four programming challenges that we have run
into and you might have as well.
If not, maybe you will in the future.
Some important information that you're going to want to know going into doing Ford programming
for replacement modules.
So if you are familiar with programming modules on Ford, Lincoln, Mercury vehicles,
not too many of the Mercury's left out there, but they are out there.
If you program modules on these vehicles, you'll be familiar with a lot of the things
that I'm talking about here.
I am going to do just a real quick clarification on some of the terminology and acronyms that
I'll be using throughout this.
So again, if you're familiar with Ford stuff, you can probably skip a few minutes here
rather than listen to this.
But if you're not, if you've never programmed a Ford before, and I'm going to throw
a bunch of acronyms out there as we go and be like, what am I, what is he talking
about?
And this is not a class on how to program a Ford.
There's plenty of material out there.
I'll go take one of Keith Perkins classes on his website and there's other stuff out
there too.
But I am going to use those terms while I'm talking about the challenge that we're
dealing with on these vehicles.
But anyways, let's just go through them real quick.
So when I talk about IDS, that's Integrated Diagnostic System, that is the program
programming and diagnostic platform that Ford has used from 1996 to roughly 2018.
Now there was a transition starting in 18 on some models where they went to FDRS, which
is Ford Diagnostic and Repair System.
And that is the, it's like legacy versus the current platform.
Like everything made in 2025 is going to be FDRS.
But then starting in 18, there was a transition period.
I think up to 21, if I remember correctly, I should have that in front of me because
I'm talking about this, but again, this isn't a Ford programming class.
But what I'm going with here is there are some vehicles in 2018, like Expedition,
that is going to be FDRS.
But there are some vehicles in 2018, like an F-150 that is still going to be IDS.
So they phased in the vehicle platforms to the new diagnostic and programming platform.
Now the nice part is, besides the interactions that you'll have with the software itself,
the way these modules are programmed, like the basic format of what you're doing, it
doesn't change that much.
It's just the screens look different and you find the things different places in
the software.
That's really about it.
We're still going to be doing the same thing and we run into the same challenge regardless
of its IDS or FDRS.
Now just for clarification on the terms, there is an FJDS, which is for J2534 diagnostic
system.
And this was pre-FDRS and this was the J2534 platform.
You could do powertrain modules and security related features when it came to those powertrain
related modules.
If you replace a PCM, it houses the keys or you have to do a parameter reset, it gives
you those functions and that's pretty much it.
Somebody can correct me if I'm wrong, I haven't used it personally since probably 2018.
But it was the short-term version.
If you want to use a Jbox and you don't want to buy the long-term IDS for the
whole year but because of the reasonable price of Ford, I just went with the full year.
Now I should also note they recently changed their subscription model just within the last
month.
It used to be a license key that you bought and then you had to use that for the laptop
that you were going to program with.
Now it is a login style.
Now it is a login style where you use your username and password and according to
what they say you can use up to three laptops concurrently so you don't need that license
key anymore.
Our license key extends out past like right now in October of 25 so I haven't actually
transitioned to this new method yet.
We will eventually and we'll see, I'm sure there'll be some challenges with that.
I did read somewhere on Facebook that they're watching the logins to make sure that it's
not happening in different states, right?
So if you live and work and buy the subscription in Minnesota and then they see that login being
used in Florida, they can, I mean, pretty safely assume that you're sharing your login
with somebody which they're obviously going to try to avoid.
So be aware of that, again, not the scope of this class because I haven't even transitioned
to the new method yet but that is what they're doing with the login for the full
on FDRS IDS package.
Now you buy that year package and you do get both.
You get IDS for the older platform vehicles and you get FDRS access with the same
subscription.
So it's not like some manufacturers where you would potentially have to buy two
separate subscriptions or the one I can think of is Nissan.
I think the more expensive subscription for Nissan, you get console four and three
but then you can buy one with just three.
Anyways, I'm getting off into the weeds there like I usually do.
But anyways, back to Ford, just a couple more terms and then we'll get into this
year, what I'm actually talking about today.
I'll talk about PMI that's programmable module installation that is essentially
the process you go through to program a replacement control module.
And that's going to do programming and it's going to do coding.
Now the coding portion of it through Ford is traditionally listed as as built data
or as built coding and you'll see this listed as configuration during the PMI
process and even in FDRS software listed as configuration rather than as built
data, but in the IDS platform, that's what you'll see it listed as as built.
So what do we mean by as built?
The as built data is again, the coding for that module.
What is coding?
Coding is the options that that vehicle has.
And you're telling the module, hey, it has LED taillights.
It has adaptive cruise control.
It has duly rear wheels, right?
There's hundreds, probably thousands of different options.
It all depends on the module.
And when they make a vehicle, right, especially like a pickup truck, for
instance, there are a ton of different build options for that vehicle, but they're
going to make the same control module on a lot of cases, like an instrument cluster,
for instance, that's going to be used across the platform, regardless of the
specific options that were built onto that vehicle.
And so the coding is stuff that that module is capable of across the board,
right?
Every single Ford F-150 that they put that cluster into each one had a
hundred different options, and each cluster is set up to potentially operate any
of those 100 different options.
But you have to tell it which one it's equipped with to either turn on or off or
configure those options correctly for that vehicle.
That's what as built data or coding is, and coding is used in other modules on
other makes, but for Ford, that's what it's called.
Now, we can get into the problem that myself and many others have run into.
Wouldn't even say recently, this has been going on for quite some time, just about
as long as I've been programming, I can remember instances like this where the
as built data for a particular vehicle on Ford's server, and we'll talk about
that is incorrect, meaning it's either missing or it's wrong for the given
vehicle that we are trying to pull that as built data from.
Okay.
So let me give you an instance here.
We replace an ABS control module on a vehicle.
Okay.
So we get a call, say, Hey, we put an ABS control module in this car.
We go to the car and we either decide to run a PMI, which is the usual
process because a PMI programmable module installation is generally going
to run the programming if the module requires it.
And not all of them do some of them just need the as build data.
But if it needs programming, it's going to put the software into the
module that it requires, and then it's going to run the configuration.
And again, you'll see that on the screen.
That's what it's doing.
The configuration is the coding, setting up the options.
And it's using the data on the server for that VIN number.
Okay.
And so it pulls it from Ford's server.
It looks up the VIN says, okay, this is the coding that's supposed
to go into this module.
But what can happen and what does happen is that data, again, is
wrong or missing on the Ford server.
So then when the tool goes to pull it and is putting in or trying to
put in the data, it's either you're going to have faults after the fact
or it's just going to air out in general depends on the situation.
That's definitely why you want to check for codes before the
vehicle sent out.
But even then we've had issues where, you know, it doesn't
code until the vehicle is driven.
Um, so it can be a hassle here, which is kind of why I'm
talking about it.
It's been a frustrating thing for us to anticipate and deal with as it
pops up.
But the fact of the matter is the data that is pulling from Ford
server is incorrect for that vehicle.
Now, ideally when you do a PMI or even just doing as built coding,
you're supposed to start with the original module plugged into the
vehicle and Ford software, if you haven't entered the secret
password, we'll pull the data out of the module, save it, and then
we'll push it into the new module.
So in that case, it may not necessarily be pulling information
from Ford server if you have pulled it out of the original module.
And there's all kinds of different module programming on
Ford's some vehicles, some modules.
It makes a lot of sense to start with the original.
Uh, if we're doing a PCM, for instance, you can save yourself
a ton of time, like you don't have to find the solid night
strategy for a transmission if you start with the original because
it pulls it out of there and puts it into the new one.
If you and for it does ask you in the software of like, Hey,
are you starting with the original or not?
Or is the original plugged in?
You can say yes or no.
And there's various ways of programming programming use
control modules here, but anyways, you could pull it off of
the original and you can rely on the Ford software to put
it into the new one.
But what if you don't have the original?
What if the originals and no communication?
These things happen and we run under this and we run into this
quite often going into shops where they'll call us up for a
control module programming.
And, you know, we've tried to train some of our more
regular customers, like save the original module.
That's always our default.
Doesn't matter what it is, even if I need it or not.
There have been so many situations over the years of just
like, save the old module, please for the love of God, save
the old module.
It makes our lives so much easier if there's something
that goes wrong.
If the factory software doesn't work that day, if Ford is
missing data on their server, having that original makes
things way easier, but often it is not available.
They've already sent it back.
They don't know what happened to it.
The part store can't get it back because it's already been
sent back on the truck to the remanufacturer.
Or, I mean, the module just might be an OCOM, right?
Physically damaged, whatever.
And so you can't get data out of it.
And so you then you have to rely on what is on Ford's
server in order to finish that programming slash coding.
Now you can rely on the tool to pull that information
from the server.
If you have a current account, it's going to do that.
Or you can go right to the website yourself and see the
coding.
Now, this is helpful, but it's not much different than the
tool doing yet because when you do this, and here's how
you do this, you go to motorcraftservice.com and then
you go to quick guides and then module as built data.
You don't even have to log in for this.
You do have to put a VIN number and fill out a
capture, but you don't even have to log in.
This is all free.
No account necessary.
And you can get the coding that is for that VIN.
But here's why this is helpful because you can prove to
yourself and I'll explain where you would use this
information to help get the data changed, but you could
prove to yourself that like, Hey, the data in this
module does not match what it's trying to put in.
And what I mean by that is the amount of blocks of
coding, which is just a section of either four or
two numbers that are going to be in hex hexadecimal
code, they don't match the, the amount of data that
we're trying to put in to the module or sometimes it
is just the data itself, but usually where I see
issues is the amount of codes.
Like, and I realize you're listening to this audio
only.
So just think of if a module had eight digits of
code that I was supposed to be putting into it,
but the coding that is stored on Ford server is
only four digits long.
That's not going to work.
Right.
We're only pulling four digits.
What about the other four?
What is the IDS software or FDRS software going to
use if it's not complete on the server side?
And again, you can go to the website and you
can see, okay, this is what it's trying to put
in.
Now, the next part is, well, how do I know
what's in the module itself?
Now there is a way you can manually enter the
coding through IDS, but my preferred method, and
this is the way that I would suggest going to is
using a tool called for scan, the most hilarious,
or it's up there on the most hilarious scan tool name.
I think there's a Volkswagen one that's up there
too, but anyways, this is it's Russian made.
So you got to go out and find out how to get
a license.
There's been some issues with the sanctions
and stuff.
You can figure it out if you're persistent enough.
And for scan has been a really useful tool.
It's more user friendly for doing this type of work.
And it's been really helpful for us to identify
that like, hey, that's what's in this particular
module, but it needs to be this.
All right, or this is what's in this particular
module, but Ford is trying to put this in based
off of what the server's data says.
Okay, now what for scan allows you to do it?
Hey, have you ever been faced with the challenge of
sourcing, installing and programming a used
control module in a vehicle?
I know a lot of us have.
It seems to be happening more and more often
today with the volume of control modules on
vehicles, the cost of some new ones, or even
the availability of new control modules.
In some cases used may be the only option.
So what do you do here?
I strongly recommend checking out SJ auto solutions
and Tommy Oliva.
Tommy offers a cloning service for used control
modules to make these things plug and play for
the vehicle that you're working on.
In a lot of cases, he is also able to source
the control modules if you're unable to
locate one for the vehicle that you're
working on.
But once you get connected with Tommy, he's
going to offer fantastic support from start
to finish to make sure that that control
module is going to work in your application.
He's also got tech support that he offers
through his website, along with some free
resources there as well on information
about used control module programming.
So make sure to check out SJ auto solutions.
I can't recommend that enough.
Gives you an easier path towards clearly
seeing not only what the as build data is,
but the configuration, the amount of blocks,
right?
Is it four digits or is it eight digits?
And on some modules, like a body control module,
like we're talking of hundreds and hundreds
of lines of code that are going into this
thing.
I just we just went through this on a 20
something forward ranger where it was just
pages and pages of code.
But you could see all of it like you're
connecting to the module on the car and it's
spitting it out for you.
Now, not only can you see it, you can edit it
if you want.
That gets fun.
If you don't exactly know what you're doing,
you can definitely mess some stuff up.
But here's the thing.
You can you can save that and I recommend
you save it before you start changing
anything if this is your first time going
through, but you can save that data.
Why is this important?
Well, number one, if you're changing stuff,
you can always go back, but you could save
that out of the original module and then
put it into the new one.
You could save whatever coding comes in that
module from wherever it came from before
you change it with what's on forward server.
And what you can do is you can load that
server data right from forward server
onto forescan and then it you can write
it right through the software there.
And it's going to pull it from the server
just like Ford did.
So the data is wrong.
It's going to put the wrong data in and
it'll actually give you a warning.
You'll say the amount of blocks does not match.
And that's a good sign.
I have it a couple instances where it works anyways.
I don't have the exact explanation as to why,
but usually when it says that, that means
the data on forward server is wrong or
potentially you have the wrong part and
you should consider that.
That's a challenge that we're going
through on a vehicle right now.
It's like, is this the wrong part or
is forward server data wrong?
We don't have the original.
So it gets kind of tough to tell.
We're trying to do a parts number thing here
to prove it out.
But anyways, I shouldn't say it's besides
the point because it's all part of this.
The fact that Ford's server data can be
wrong makes us question what we're doing.
Right.
Us as the programmers coming in trying
to shove in wrong data to their new
power steering module that they put in.
Like that's that's on us to be able
to identify and then take the proper
methods to correct if we can.
But it could also just be a wrong part.
And if it wasn't for for being wrong
on a regular basis with what they have
saved on their server, I wouldn't even
consider it.
I just be like, yes, this is the wrong part.
But then also please for the love of God,
save the old module I need it.
And this job would have been done a
long time ago, or at least we could
have said one way or another.
Like, yep, this is the wrong part
because here's the data in the sun.
Here's the data in that one.
Anyways, four scan is allowing you to see
this in a lot more clarity, manipulated
if you need to in different ways, save it.
And then again, you can pull right from
the forward server.
You can type it in manually.
Four scan has some other stuff too.
Where number one, there's forums where
people have decoded this and they've
made spreadsheets.
So if you want to do certain things
like turn on a remote start, it'll
tell you what block to change to what
to activate remote start in that F 150.
There's also within the software
configuration built in where it
translates that coding data for you.
So you don't even have to worry about the
coding. You just say, yeah, enable
remote start or disable remote start
with a clip, click of a button and
writing it to the module.
Again, we're just turning on and off
different options that that one was
equipped with.
All right. So to the heart of this
issue, what do you do if you have
confirmed that the data on
forward server is wrong and you don't
have the original module to pull from
because that would be the easy fix.
Is well, let's just pull it from there
and put it into that one and we're
done. We don't have to worry about
forward server.
The path to fix this is filing
an S I R with NASDAF,
which is done through Diag.net.
So you have to have an account
there. And at least I think you
haven't have to have an account
there. I have an account. So I guess
I'm not 100 percent sure whether
you do or not. But you go
to Diag.net and you
search the NASDAF
S I R's and then you fill
out a lack of
information request, right?
You're actually posting, but within a
specific section on Diag.net.
Now this does require
number one that you fill out the
correct amount of information, like
get get some screenshots, get some
data. Here's what's on the server.
Here's what's in mind. Here's the
VIN number. Here's what we tried.
We were using this tool.
You're also supposed to reach out
to Ford before you
take this path.
I'll tell you reaching out to Ford
is usually pointless in my personal
experience. Hey, if you're out there
and you work for Ford, get a hold
of me. My emails and the show notes
you can find me on Facebook. I'm
sure that you find me some other way
to. I would love to have a chat.
I'd love to have you on the show.
Let's talk about it. Why is all
of the data on this server
wrong? Now I shouldn't say all.
But it's frequent enough where
I'm suspect when I'm going out to
program before like, Hey,
is this data going to be wrong?
Boy, I sure hope we have the
original module in case this data
is incorrect.
Well, even when you do have
the original, we ran
into a BCM on a
ranger, not that long ago,
where we were just doing
the configuration on the BCM for
another reason.
And this was just the existing
BCM.
Well, it turns out the data on
the server is completely
wrong. And this vehicle was
disabled after we ran this
configuration.
No going back because we did it
with FDRS
and we did not save any
coding beforehand.
That just that wasn't part of
our process on that particular
vehicle, which sure is now.
But it took a week for Ford to
fix it, which they did
by following that path by
filing the SIR with NASDAF
and then they get a hold of
the people at Ford say like,
hey, here's the problem.
Here's this VIN number.
Here's what we're trying to do.
Here's what's in the car.
Here's what's on the server.
And then they correct it.
You go back once they give the
thumbs up and it works fine,
which it did. So I mean,
thumbs up to them that they
can actually get in there and
they can correct it per VIN.
Do they go beyond that and fix
other VINs of similar makes
and models? I have no idea.
That'd be nice if they did.
But I don't know
what actually happens on the
back end there. Again, be
real curious if you work at
Ford and you can fill me in on
that. But I wanted
to just share this with
everybody because Fords are
very common. The programming on
them is very common. You may
have run into this before.
If you've got another work
around, I mean, let me know.
One of the things that we're
trying to do now, just
we've just recently started
this is trying to save
that as built coding on
modules through four scans
so that we have some built
up files. Now, is this
forward edge going to work on
another forward edge?
Again, that's tough to
say. But in some cases,
like a power steering control
module for a Ford Explorer,
it's the same number across a
number of years.
So if you had a saved file,
you might be able to use that
on a next one, even if
the server data is incorrect.
Now you've got a stored file.
You know, that's that's not
fixing the problem.
It's just maybe creating a
stop gap at certain points
if you're lucky.
It would just be nice if the data
was correct. But, you know, I
get it. It's it's a lot
and things are going to happen
and there's going to be mistakes.
But being aware of it is
the first thing, which is why
I'm doing this so you can be
aware if you're going into
Fords and you get
some configuration errors, you
get some failures, get some
weird stuff after you've
programmed and configured or
wrote the as built data module.
That data might be
incorrect. But do your legwork
to make sure that, again, you
have the correct part in there.
You've used the correct tooling.
You can go to that Ford website
MotorcraftService.com.
Check that data yourself.
Look at the data that's in the
module. If you have that
capability, again, forescans
great for that. There is a
manual way that you can enter
coding with IDS.
But verify the best you can
that, OK, hey, yes, this
data is incorrect.
It's a little bit of process
and, you know, the cars, if
it's a critical module, the car
is going to be down for that
period of time while you're
waiting for Ford to fix it.
But that's the known path
right now. So I want to share
that with everybody. If anybody
has got any better solutions,
quicker solutions, you got
any ideas or thoughts on that,
don't hesitate to reach out
and be happy to talk about it
with you. So that's all I got
for today. Thank you so much
for listening. I really
appreciate it.
Let's all get out there.
Start fixing the world one
car at a time.
About this episode
Dive into the challenges of programming Ford replacement modules, focusing on issues with incorrect or missing as-built data from Ford's server. The discussion covers Ford's diagnostic platforms (IDS, FDRS, FJDS), the importance of saving original modules, and how faulty server data can cause programming failures. Tools like FORScan are highlighted for inspecting and editing module coding. The episode also explains the process of filing SIRs with NASDAF to correct server data and shares practical tips for navigating these frustrating but common problems.
This week on the show I share some struggles with Ford module programming, specifically with the as-built data from Ford's server being incorrect and what you can do to overcome it!