Skip to content

The Ultimate Guide to Coding FG Module VIN numbers with Forscan

Jack Leighton edited this page Nov 9, 2024 · 9 revisions

image

A Tester Present Specialist Automotive Solutions Guide

https://testerPresent.com.au

Requirements

Hardware Required:

Software Required:

Warning

Following this procedure can potentially brick(read: completely f***) the module that is having its As Built Data modified. This procedure has yet to be reviewed by a third party, and therefore - is not verified as working. Use at your own risk.


Connecting to Forscan

Connect your laptop to your ELM327 adapter, and connect to the vehicle in Forscan. Most ELM327 labelled OBDII dongles are not equipped with a setup to connect to Ford's Ms-CAN network. If this is you, click here to learn how to connect. A J2534 Interface will not have this problem, as long as it is compatible with Fords vehicle network. Once connected, the first thing to do is take a back up of the As Built Data Files.


As Built Data Back Up

It is always a good idea to take a backup of your vehicles data before modifying any configurations. Even if modifying only one module, save all of the modules data as .abt file, as it can't hurt and may come in handy. This can be done in Forscan via the Module Configuration section.


1. Select the Module to be Backed Up, ie Instrument Cluster(AS BUILT)
2. Select Save & Save the .abt file
3. Select the Stop Icon to exit the configuration

Module Specific Breakdown

Each Module in the Interior Command Centre is coded with the VIN number of the car it is from. This is a security feature from Ford. The PCM cannot have it's VIN number changed via this procedure, that is another topic all in itself. This document is really aimed at the MS-Can and the Entertainment System - The ICC. The Interior Command Centre Consists of the Audio Control Module(ACM, located at the CD Player), the Front Display Interface Module(FDIM, the display screen), the Audio Interface Module(AIM, ipod in the centre console) and the Bluetooth Phone Module (BPM). A fault code will be thrown if any module is in the system and is coded with a different VIN number to that which is coded to the Audio Control Module - but that does not necessarily stop a module from functioning. For example the FDIM will not be unlocked by forscan, so you will find it difficult to change the vin of the FDIM, however it will still function in the car with an ACM with a different VIN. To Unlock the ACM prior to changing the programmed VIN - Run the module calibration in the service tools section.

The ACM broadcasts the Vehicle Identification Number over the CAN. The other modules see it, and check their stored VIN against it. If a mismatch is detected, a fault code is thrown, sometimes. This is where the security code error comes from on the ICC. (Fact checked, proven false). It's not the PCM or PATS either. Likely just happens when battery is disconnected or the unit is "stolen", ie removed from one car put to into another.

Some example CAN data:

(1611284292.480645) can0 30B#583A1073B203F858 R <-- Audio
(1611284292.481682) can0 30D#0000001540B60000 R <-- Audio
(1611284292.482731) can0 30F#0A0A0A0A0A060000 R <-- Audio
(1611284292.483746) can0 311#1F8A1F0A1F1F5331 R <-- ICC settings
(1611284292.484736) can0 317#5739453836313031 R <-- VIN number Broadcast by ACM
(1611284292.485826) can0 6FC#0000000000000000 R <-- 0x6FC = 1788 in decimal....hmm
(1611284292.492122) can0 330#0000000200000000 R <-- Speed & RPM & Current Gear
(1611284292.494488) can0 50C#1102EE0000000000 R <-- Module Keep Alive Signal
(1611284292.502058) can0 353#029C01011BB46780 R <-- HVAC Data
(1611284292.529021) can0 409#2480524440914921 R <-- Body Settings

In order to "program" a module to the vehicle, you have to change the VIN number it has stored. This is different to changing the configuration options of a module, like activating the Reverse Camera or Police Mode. But the data is stored in the same place - the As Built Data.

1. Starting with the VIN Number you wish to code to the Module

6FPAAAJGS12345678

2. Convert it from plain text ascii into hexadecimal. Use a ASCII to hexadecimal converter. See footer for an explanation of hexadecimal.

3646504141414a47533132333435363738
Which is the same as:
36 46 50 41 41 41 4a 47 53 31 32 33 34 35 36 37 38

3. Open the module configuration AS BUILT section on Forscan

Starting at the first position, fill in the VIN number, 4 digits for the first 2 positions, and 2 digits for the third position. After filling out the first 10 digits of a line, a check sum should be auto-generated by Forscan fill in the checksum location with 00's.


Module ID 1st 2nd 3rd + Checksum
ABC-01-01 3646 5041 4100
ABC-01-02 414A 4753 3100
ABC-01-03 3233 3435 3600
ABC-01-04 3738 00

00 = checksum location - at the end of each line

is the same as:

Module ID 1st 2nd 3rd + Checksum
ABC-01-01 6 F P A A 00
ABC-01-02 A J G S 1 00
ABC-01-03 2 3 4 5 6 00
ABC-01-04 7 8 00

* Edited 27/11/2021 to fix error, using 'XX' as the dummy checksum will not work, VIN will revert to previous setting. Use '00' as a dummy checksum. Whoops! Thanks Bighalf [Link](https://forscan.org/forum/viewtopic.php?f=16&t=17755&p=73059&hilit=osb302#p73059)


The checksum locations can be filled in with 00.



4. Enter the VIN number in hexadecimal into the tables and click write





5. An error will appear. Click ok









Double Check everything, have you entered the hexadecimal of your vin correctly?  

6. The checksums will now be filled out for the new VIN. Click write






Location in As Built Data

0x27 Security Access

Is not covered in this document, but is around if you look. Some modules such as the FDIM require something called Security Access in order to modify the VIN in the as built data.

Further Reading & Links

Australian FORScan users group
Modifying As Built Data Guide
What is ascii?
What is a hexadecimal?
What is a checksum?
Linux can recode your Falcon ICC
Professional & Deeper Level Module Programming
Ford Forums Aus
The Post that inspired this post

image image

Clone this wiki locally