Overview
The F3v2 is a simple chip for EEC-based Ford ECUs (~86-04) allowing the stock program to be replaced with a tune of your choice. This unit was introduced in 2016 and replaces the prior F3 chip, which was discontinued due to parts needed to manufacture it no longer being available.
Chips are supplied blank and must be programmed prior to installation. To install, simply clean contacts of the EEC connector with carb cleaner and a mild abrasive such as scotchbrite or 220+ grit sandpaper, and slide the module on.
It is critical that the vehicle is fully off before installing or removing anything on the J3 port. Failure to power-off the ECM correctly can result in frying our hardware, your ECM or both!!! If you have any doubts at all, remove the keys from the ignition 100% or disconnect the battery. WARNING WARNING WARNING!
Tunes can be loaded through the via the Jaybird or Burn1 /2 and FA (F2A) adapter. Flash n Burn, TunerPro RT, Binary Editor, EEC Editor (and other?) software can be used to program these chips.
*IMPORTANT* Firmware 5.15 (or higher) is required on Jaybird / BURN1 / BURN2 to program these chips! You can visit the firmware update page if necessary.
Switching Setup
The F3v2 supports up to 8 programs. The normal way to use this functionality is to buy the Rotary Switch which plugs into the black 4 pin connector on the module. Simply turn the dial to change position on the chip – this works to select a program for the vehicle to run off of and also to select a slot to program with the Jaybird/BURN2.
Things to remember:
- Turn the dial to the spot you want to program before programming.
- “Erase chip” will only erase the current active slot, not all positions.
- You can verify each slot with the tune you desire after programming. This is a very good idea before actually installing the chip.
- Changing tunes while the engine is running is safe IF you do not change code!
- No code patches! BAD
- No strategy changes! BAD
- Same strategy, different calibration, A-OK.
- Remember: change calibration not code!
Manual Switching
Like its F3 predecessor, it is possible to manually switch between programs with the F3v2.
Couple things to remember:
- At our sole discretion, custom wiring for switching may void your warranty.
- The connector is a Molex latching 4 pin 0.1″ header with male pins, very common. You can buy a latching 4 pin female header from the usual sources or buy short cables from us to cut up.
- Do NOT feed voltage into the F3v2!!! GROUND ONLY!
- The 4 pin header consists of GND, A2, A1, A0. Whenever possible, use the GND provided on the header NOT a chassis ground!
- “1” (high, floating, open, unconnected) is the default state. “0” (GND) on a pin changes that address bit
- Tunes are binary format, i.e. 000, 001, 010, 011, 100, 101, 110, 111. “0” on the switch is generally “111” and “8” on the switch is generally “000”
- If you use a switch or otherwise to ground pins automatically (nitrous?) to switch tunes while the vehicle is running, you must also remember to ground the same pin(s) during programming.
Data Masking and Manual Selections
In addition to supporting 8 independent tunes, the F3v2 adds manual masking control. It is very unlikely that you will ever need to use this, but we’re documenting it anyway. This is an advanced feature and you should only use it if you know what you are doing. Incorrect use of this feature can make an otherwise correctly programmed chip cause fault mode operation as would happen if an invalid tune is loaded or worse. You have been warned.
While you use 256k bin files (0x00000 -> 0x3FFFF) to program the F3v2, the whole memory area isn’t visible to the ECM. The memory area has other things in it like RAM, I/O and stuff other than code and calibration. If the F3v2 were to “answer” over the entire address range called out by the ECM, it would effectively crash the system because the brain of the ECM wouldn’t be able to communicate with other necessary peripherals. By default, the F3v2 doesn’t respond in certain memory areas in order to let other devices answer on those addresses. This allows the tune to be changed (addresses it answers to) and other peripherals to communicate in the same memory space (addresses it doesn’t answer to). These areas aren’t the same for EECIV-32k, EECIV-56k, EECV 2 bank and EECV 4 bank (the 3 possible memory layouts) so it can’t just run a hard-coded set of addresses and work on 86-04 vehicles. The F3v2 chip has logic to try and automatically detect which memory addresses it should answer on and which ones it shouldn’t. We’d like to think it gets things right most of the time but you can manually control some aspects of the masking behavior if you think it is necessary.
One important piece of information regarding this: if you PROGRAM a F3v2, all masking will be disabled until you power cycle (i.e. unplug from programmer) the chip. After a write operation, you will always be able to read the entire 256k address space, regardless of jumper settings! This is done to ensure that any program written to the chip can be verified in its entirety. In order to see how masking affects the data presented, you MUST power cycle the chip. Doing a read after power cycling a chip may present different data and fail a “verify” operation depending on the original contents programmed to the chip. After power cycling the chip, any data in masked regions will be read as “FF” instead of the data originally programmed in order to be compatible with the Ford EEC memory bus.
There are two jumpers on the underside of the F3v2:
For sake of discussion, we’re going to call these “inner” and “outer” as they are not labelled on the circuit board. In this picture, the “Outer” jumper has been soldered to bridge it and the “Inner” jumper is still open. (Open = factory setting)
Each of these jumpers controls masking a specific region of memory. When they are soldered, the F3v2 will always present the data you are programming. When they are not soldered, the F3v2 autodetection logic is active.
The “Inner” jumper controls presenting the region from 0x01E000 -> 0x01FFFF.
- Not 100% sure on use case for this but it’s there. I’m thinking manual EECV-2bank selection perhaps?
The “Outer” jumper controls presenting the region from 0x03FF00 -> 0x03FFFF.
- This is the “top” of the single bank used in EECIV and is known to be used by the CBAZA strategy, in which case it would need to be passed through for all settings in the tune to work on the chip. F3 (first gen) chip adapters had a “bug” when used on CBAZA applications where some settings wouldn’t work – this is why. Autodetection logic *should* catch the EECIV use case and pass this memory region through but this jumper allows manual control should it be necessary.
- In EECV 4 bank applications(and maybe EECV2 bank – I’m not sure), this memory area has a special name – the VID block. The VID block is used to store vehicle-specific settings such as but not limited to VIN, PATS security keys, rear end ratio, tire size and more. The default behavior of the F3v2 chip is to “pass through” the information programmed in the factory VID block regardless of the data programmed in the chip. This has been the “standard” behavior for most Ford chips on the market. If you wished to override the contents of the factory VID block with a F3v2 chip, you would need to solder the outer jumper. Make sure that you have programmed the chip with a valid VID block from 0x03FF00 -> 0x03FFFF if you solder this jumper! Failure to do so will cause PATS-equipped vehicles to not start due to invalid anti-theft system data.
- The picture above shows this jumper soldered to override masking in the 0x03FF00 -> 0x03FFFF region.