BMW footwell module frm reset, coding, programming (E90)
BMW Foot Well Module (FRM) controls electrical functions. Here are optional solutions of BMW FRM repair, incl. bmw frm3 repair, bmw frm module reset, bmw footwell module coding, how to code footwell module, footwell module programming, bmw e90 footwell module repair
This is the module that sits on the drivers side foot well, behind the hood release (in US cars).
BMW Coding & Reprogramming Guide What is BMW Coding? BMW Coding is used to customize settings so a vehicle operates more as the individual desires.It is a really great way to customise your car, and enable features that the car didn’t have from factory, but it’s also very easy to screw things up! What Tools you need for BMW Coding? A BMW software update will optimise and expand the electronic functionality of your BMW. Example: If you have a 2005 car, the software will be old,most of the modules will probably have old software which can be not operating correctly to its full potential, when updated your BMW will function even better and more efficiently. What is BMW iDrive coding and programming? In short, BMW iDrive coding involves making small software changes to your car, unlocking new features or changing how existing ones work. In most cases, those features are already baked into your iDrive by BMW, and coding is only required to make them available.
Everything about BMW Coding. If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. Thanks Terry, I tried Autoenginuity software to attemp to bump the pump and open the valves, but those options were not available for the 2007 328, so I filled all lines and the ABS unit with brake fluid, and power bled the entire system.
E90 Series BMW 3 Series Cars
E70 X5 Series
E81,E82,E87,E88 1 Series
What Faults are covered?
Various faults including
Reversing Lights Not Working
Number Plate Lights Not Working
1 or more sidelight,headlight,brake or tail lights not working
What causes these problems?
The FRM Footwell Module monitors & detects short circuit’s either in the wiring (common in the
E90 boot area) or a short circuit bulb. If you do not get the fault repaired quickly then the module
will eventually permanently switch off that particular output. Once it’s switched off it doesn’t make
any difference if you have repaired the fault the light will stay off.
BMW mechanic replace the complete FRM module at a cost of several hundred pounds including coding the module to your car. Here is the procedure in action on a reset we did to a E90 recently.
Load/re-write the original eeprom dump (parts requires coding as well)
Vehicle model example:
2011 BMW 3-series E90
PROGRAMMERS confirmed to support this MCU:
UPA USB Programmer
My collection of FRM3 dumps – p-flash and EEPROM.
1. Erase EEPROM (4096bytes)
2. Write good dump
3. Verify obd working and change vin / VO as if retrofitting used FRM3.
4. Flash with correct zusb number for your vehicle using winkfp.
To connect to the MCU there are 3 methods I’m aware of:
1. In socket – desolder chip
2. In circuit – BDM points – reverse of PCB – see image attached.
3. Direct – test clips onto pins like Pamona Micro Grabbers or cheaper alternative.
Read FRM module CPU data with VVDI Prog, Xprog or CG100 ecu programmer. Follow the wiring diagram and read eeprom data.
CPU type 9S12XEQ384
You can see all data shows F, blank data, CPU data may has been lost
Load the original eeprom dump and re-write to CPU.
There are many variants of FRM (Footwell Module) FRM1, FRM2, and FRM3 which all have different controls and functions such as lights, windows and doors. If the eeprom data is exactly the same as your car original data, you do not need coding. If fog light or aperture still flashes after load original data, you need to do coding.
What is BMW Coding?
It is a process utilized by BMW, which groups system specific operating requirements (Data) together and then assigns a label/code to each of these groups of data. The various groups of data are all pre-loaded into system specific “codable” control modules,along with a basic set of operating instructions (Program).
BMW Coding Software
Types of operating requirements:
- Nominal values of device input signals (0.25V to 2.5V, 5W – 25W, …)
- Type of device input signal (PWM, square wave, analog …)
- Operational parameters (device activation/deactivation time, …)
- Market specific operations (O2 Sensors, Fuel Type, Emission Control, …)
- Country Specific Regulations (U.S., Canada, Japan, UK, ECE, …)
- Powertrain Configurations (Manual, Auto, TLEV, ULEV, SULEV, Diesel, …)
The procedure of assigning one specifically labeled group of data to the operating program of a specific control module/component is referred to as “coding”.
A “codable” control module has a basic operating program already installed along with several specific variations of operating data. The coding process allows a specific set of operating data to be assigned to the basic operating program of that module/component,with respect to its specific application.
Coding can be performed for some systems/components:
- By installing a specific plug (coding plug) into a device/component
- By entering a 4 digit alpha-numeric code (variant code) via the programming selection on DISplus/GT1/SSS
- Selecting customer specific system operational settings from a list of available features (VKM)
- Automatically by selecting a specific coding process available via ZCS Coding or CIP using the DISplus/GT1/SSS
Note: Codable control modules/components are system specific, which means that not all control modules are codable.
What is Programming?
It is a process utilized by BMW to load application/system specific operating instructions
(Program) into a module/component which already has the systems operating requirements (Data) installed, plus it can be used as a means of updating data and operating instructions previously installed in a control module.
Basic programmable control modules have a pre-defined set of operating data already installed which allows the module to be fairly generic until a specific operational program is installed.
Programming of system control modules is performed using a DISplus/GT1/SSS.
Note: Programmable control modules are system specific and not all control modules are programmable using workshop equipment like the DISplus,GT1 or SSS. The ability to program a module is limited to the number of times it has already been programmed and the hardware version of the control module itself.
What is the Purpose of Coding and Programming?
As a global manufacturer, BMW must design a large variety of control modules to meet numerous vehicle requirements pertaining to issues such as:
- Country Specific Regulations (U.S., Canada, Japan, UK, ECE, …)
- Vehicle Equipment Level (Phone, Navigation, HiFi, IHKA, IHKR, …)
- Vehicle Powertrain Configurations (Manual, Auto, TLEV, ULEV, SULEV, Diesel, …)
- System Specific Operating Requirements (Nominal values, type of input signal, …)
By using Coding and/or Programming, the large variety of control modules needed can be reduced to a smaller number of model specific hardware variations.
Codable control modules contain:
- A common operating program
- A large number/variety of specific operating data groups
In order to use this type of control module it must first be CODED to ensure that the operating data specific to that vehicle/model application is used by the operating program of the control module.
Programmable control modules contain:
- The required/specific operational data
- No operating program
In order to use this type of control module it must first be PROGRAMMED to ensure that the operating program specific to the vehicle/model application is used.
Prior to the availability of Coding and Programming in the workshop this task could only be performed at the factory.
Initially the factory installed Control Module(s) with a common operating program or data into vehicles and as theses vehicles reached various points in the assembly process the control modules were updated with the required operating data or program specific to the application for that particular vehicle. Since replacement parts always need to be available, parts inventory needed to contain all variations of preprogrammed control modules installed in all varieties of vehicles that were manufactured. This was not a big problem in the early years, when the variety/quantity of models was smaller.
Bmw Computer Programming
As the number of control modules and the complexity of the various systems installed into vehicles increased, the number of modules that needed to be stored in parts inventory began to increase as well. Eventually this led to the stocking of hundreds of different control modules that were either pre-programmed or pre-coded for a specific application and model, but only differed slightly in the way they were coded or programmed.
Pre-programmed and pre-coded control modules always needed to be available in the event a control module failed once the vehicle left the factory floor, since this was the only place programming & coding procedures could be performed. In order for repairs to be made quickly, dealers were required to maintain a stock of several varieties of control modules, since technicians could only remove the failed module and installed a new preprogrammed or pre-coded module into the vehicle.
As a result of having to maintain a very large inventory of pre-programmed and pre-coded control modules in parts inventory, it was decided to make coding and eventually programming available in BMW workshops.
The following advantages have occurred since programming and coding can be performed in the workshop:
- Fewer control module hardware versions are needed (only need basic control modules)
- Lower parts and inventory costs
- Able to update software in a control module without having to replace the module (Re-Code/ Re-Program to address service Measures)
- Ability to add special equipment features to existing control modules (DWA, Day Time Running Lights, …)
- Customization of vehicle operation (Conversions, VKM, A/C, …)
The means by which coding or programming information is provided to a control module varies and is determined by the vehicle, model year and type of module(s) installed.
BMW currently uses the following methods to perform Coding or Programming:
- Coding Plug
- DME variant Coding
- Coding Code
- Central Coding Key (ZCS) or Vehicle Order (VO)
- EPROM Programming
- Flash Programming
- Vehicle and Key Memory (VKM)
Where is Data Stored in a Control Module?
Bmw General Module Programming
The control modules used in our vehicles store data/information on one of the following:
- EPROM (Electrically Programmable Read Only Memory)
- EEPROM (Electrically Erasable Programmable Read Only Memory)
In essence these devices are similar to the harddrive of the PC (Personal Computer) that many of us use daily to store the images and documents/files of information.
EPROM (Electrically Programmable Read Only Memory)
An EPROM is a computer memory chip that can be electrically programmed, however in order to erase data that is stored on the chip it must be removed from the device and exposed to UV lighting for a specific time period. An EPROM has what is commonly called a “window” on the top portion of the chip usually located underneath a protective label, it is this area that must be exposed to UV light of a certain intensity for a specific time period in order to erase the information stored on it. Early engine control modules (DME 3.X) and transmission control modules were the first devices which allowed technicians to first remove the chip from the module, install a new “blank” EPROM and then program the module.
EEPROM (Electrically Programmable Read Only Memory)
An EEPROM is a computer memory chip that can be electrically programmed and electrically erased, thereby not requiring the chip to be removed from the module or exposed to light. In general this chip is not easily removable from the device it is installed into.
Since the entire process of programming and erasing is done electronically this device is commonly referred to as “Flash Programmable”.
During the programming process the following type of information may be loaded into the control module depending on the specific application or update that needs to be installed:
- Characteristic Maps (Ex. Ignition, Injection, Purge Control, DSC Regulation, …)
- Control Constants/ Operational Data
- Operational Program
- Control Module Identification Information (Ex. Hardware Number, Program Number, Date of Modification, …)
What is needed to Code and Program?
In order to code or program a vehicle or control in the workshop, specific equipment and special software is required such as a DISplus, GT1 and an SSS which must all be connected to a network and have the must current version of CIP (Coding, Individualization & Programming) installed. CIP is the software program that contains all the latest data and program information to allow control modules to be updated to the latest level to address customer concerns and implement service solutions.
With the release of CIP 15.0 and the implementation of Progman (see Progman section for additional information) the DISplus and GT1 will only be capable of performing vehicle diagnosis and activation/initiation of a Coding, Individualization or Programming task through the SSS. A special program management tool (Progman) will only allow the DISplus and GT1 to act as remote terminals to the SSS (regarding Coding,Individualization & Programming), which means that the SSS will be the single supplier of Coding, Individualization and Programming information to a vehicle and its respective control modules.