BMW E46 Coding / Options and Flashing.
Make sure you watch these first: Installing INPA: Coding Vehicle Order: How to get NCSDummy: https.
- 32 Key 4 Switch code is defective. 3F Control unit faulty. 40 Key 5 Identification faulty. 41 Key 5 Password wrong. 42 Key 5 Switch code is defective. 50 Key 6 Identification faulty. 51 Key 6 Password wrong. 52 Key 6 Switch code is defective. 60 Key 7 Identification faulty. 61 Key 7 Password wrong. 62 Key 7 Switch code is defective.
- BMW M GmbH were also slow to adopt newer code logic. S engine codes roughly use the format of the M engine key all the way up to the S63 engine in 2009. After the S63 the S engines more closely follow the corporate code key from the N engines. PHEV (Partial Hybrid Electric Vehicle) use an additional powertrain code for the engine + electric motor.
BMW’s are literally pumped full of useful features, various functions are deactivated at factory level when the vehicle is produced. These functions can be activated, added, removed, converted or flashed to the vehicle using specialised diagnostic equipment. Hopefully our basic outline below will give you a good understanding of what can be performed and the costs involved.
Option/key coding…
The following features can be coded into your vehicle and activated for a cost of £83.00 + VAT, this service carries it’s own fee, this is not included in any of our other coding services. There is no limit on how many you can select from the list below but please make our staff aware of which items are coded before any coding work is started.
- Visuals and acoustics can be activated so when the vehicle is locked / unlocked the indicators will flash and an audible chirp is heard (single chirp for lock, double chirp for unlock).
- High beam headlamps flash with indicators if the vehicle’s alarm is activated to attract further attention.
- Panic mode – if the trunk release button is held on the key remote for 5 seconds, the vehicle alarm will be activated attracting attention.
- Power windows can be made to remain active when the drivers door has been opened (without key in ignition).
- All power windows can be made one-touch (if not set from the factory).
- Selective locking can be activated (much like a late VW). A single press of the key unlock button will unlock the drivers door, a double press will unlock the entire vehicle.
- Comfort window lowering (Coupe and Convertible only) – A double press of the unlock button on the key remote will lower the drivers window upon opening the door, the window will automatically close as soon as the door is shut. This feature is especially helpful when attempting to enter the vehicle in tight spaces.
- Automatically re-lock vehicle after 2 minutes if unlock button was pressed but doors have not been opened. A partially useful feature if the vehicle has been unlocked by accident – the re-lock feature will be deactivated if any doors are opened within the 2 minutes.
- Step down wipers at stationary – Front windscreen wipers will switch down to a lower speed when vehicle is stationary (at traffic lights etc).
- Full closure on locking – Pressing and holding the lock button on the key remote will automatically close all windows. Convertible models can also have the addition of the roof closing automatically via the key remote.
- Convenient unlocking – Pressing and holding the unlock button on the key remote will automatically open all windows. Convertible models can also have the addition of the roof opening automatically via the key remote.
- Electric folding wing mirrors can be folded in automatically by pressing and holding lock button on key remote.
- Automatic locking when vehicle reaches 10mph – This feature automatically locks all doors / trunk when first reaching 16kph, this prevents any unwanted intruders whilst driving.
- TV in motion can be digitally activated allowing TV screens on whatever vehicle speed (a disclaimer must be signed for safety reasons).
- Seat belt reminders can be activated / deactivated.
- Automatic heated rear window activation at 3°c – (this automatically switches on without having to press the heated rear window button).
- Home lights activation time can be adjusted for a longer duration.
- Home lights can have additional lights added to program – ie. Fog lamps, high beam headlights.
- Activation of daytime running lights.
- Volume of PDC sensors can be adjusted.
- Seat memory can be set to activate from individual keys (different keys can be used to activate different memory seat functions without touching seat memory button every time a different driver enters the vehicle).
Additional retrofits…
Various retrofit options can also be coded to the vehicle, all may/will require additional hardware, the following features can be coded into your vehicle and activated for a cost of £66.50 + VAT (individually), this service carries it’s own fee, this is not included in any of our other coding services.
- Genuine BMW facelift LED rear lights (coupe and convertible).
- On board computer can be coded (base models never received this function).
- Cruise control and multi-function steering wheel retrofit.
- Xenon light coding retrofit – also required if fitted HID headlights due to the lower power draw 35w (causing warning lights on dash) – manual headlamp level control will be lost as a result of this retrofit.
- M-Track Mode – This is a factory option on the M3 CSL – This can only be retrofitted to an E46 M3 (this cannot be retrofitted to any other variant) – Only some vehicles have the required M-Track Mode LED on the dashboard. This is a semi DSC off option that is activated by pressing the standard DSC button once, pressing and holding the button for 5 seconds will switch it off slightly further to the factory ‘single press’.
Removal coding…
The following features can be removed from your vehicle by way of specialised coding at a cost of £83.00 + VAT (individually), this service carries it’s own fee, this is not included in any of our other coding services.
- Various bulb checks can be deactivated – allowing the use of aftermarket LED bulbs (without showing a warning light on the dashboard).
- Airbag equipment removal (disclaimers will need to be signed) – we can remove single components of the airbag system whilst allowing the rest of the system to operate correctly and deploy in the event of an accident. Faulty seat belt tensioners, or faulty seat occupancy sensors can be disconnected and coded out.
- Deletion of AUC sensor.
- Deletion of various alarm sensors – Various areas of the factory alarm system can be deactivated to cut the cost of expensive alarm repairs (tilt sensors, interior sensors etc can be switched off to avoid false alarm triggers).
- Replacing seats in a vehicle for Recaro’s? Obviously Recaro’s do not have side airbags built into seats, seat occupancy sensors, seat belt tensioners etc. We can recode the vehicle to disable the removed channels, this will allow the rest of the system to operate correctly and deploy in the event of an accident and extinguish the airbag light.
E46 M3 DME flash options…
The options listed below are only applicable to the E46 M3 – they cannot be programmed into any other variant.
Both or just one of these options can be activated on all E46 M3’s for a flat rate of £83.00 + VAT (this is a separate DME flashing fee and is not included with any of our other services/remaps).
- 6-Speed Manual Shift Lights.
All BMW E46 M3’s equipped with the SMG gearbox are produced with shift lights activated as standard. This Gran Turismo style shift indicator often leaves manual transmission owners in envy. At Grosvenor we can reflash the DME (ECU) control unit to activate these very same shift lights in the 6-Speed manual transmission model… Giving a manual car full Gran Turismo shift lights. - Sports Button Memory.
We can reflash the DME to activate ‘sports button memory’. The sports button is fitted standard to all E46 M3s and changes throttle mapping when activated. By default ‘sports mode’ switches off when the ignition is cycled. ‘Sports button memory’ is exactly that. Whatever position the sport mode was previously set to, will be automatically restored upon start up of the vehicle.
E46 M3 EWS Removal…
We physically remove the EWS control unit from the vehicle, rewire the starter exciter and reprogram the DME control unit to eliminate the EWS function totally. Nothing requires aligning etc. This service totally removes the factory immobiliser function.
The cost of this EWS removal service is £299.00 inc VAT.
These options may not be available on every vehicle. Different model years, body variants and specification will dictate the options presently available for your vehicle
This is, hopefully, the most complete how-to guide for using NCS Expert to code a BMW. I am by no means an expert, but I have recently got the software & a cable to code on my E46, and I struggled for quite some time on finding a really in depth & detailed how-to guide. After repeating this process with success several times, I am now confident enough to write this article to hopefully help others.

I’m not going to go into how to install NCS, or what parameters to code in this article. This is purely how to physically use NCS Expert, and how to read & write to the FSW_PSW file in order to change settings & functions on the car.
I bought my cable & software from Cable-Shack. It was delivered next day, and the installation instructors provided with the software was very good, there is no need for me to repeat them here. However, there were no instructions on how to use or code with NCS Expert, hence this article. With that said, here’s my guide
1, Get into car, ignition off, plug in lead. It should light up blue once connected, even if ignition is off. Ignore the fact my plug is hanging out my car, I had to remove some of my interior panels for another job, and I haven’t put them back yet! The plug is usually found under the dash, above the accelerator pedal
2, Plug lead into laptop
3, Turn ignition of the car on (the position before actually running the engine)
4, Load up INPA to make sure its connected. If it is connected, you’ll see Battery & Ignition dots are both black at the top
5, Close INPA, then open NCS Expert. Goto File > Load Profile
6, Select the profile. I’m using Expert 4.0.1
7, Once loaded, click bottom left button (or press F1 key)
8, Then click 3rd button from left (or press F3 key)
9, Clicking that button will enable you to choose your chassis. Choose E46!
10, Another box pops up straight after, choose your ECU. Choose whichever one works for you, it doesn’t matter which one you select, this has nothing to do with which module you are programming, its just to get NCS to talk to your car. Mine seems to work with either of the top two, I choose ALSZ as that one has always worked for me
12, Hopefully it worked, NCS has now read your car chassis number & some other things (I have blanked mine out)
12, Click the Back button
13, Click Process ECU button (or press F4 key)
14, Another box pops up, time to choose the module you want to code. In my case, I wanted to modify something in my GM5 module
15, IMPORTANT, make absolutely sure that the JOBNAME = CODIERDATEN_LESEN. This is to *read* the ECU, not to *write* to it. If it doesn’t show up as CODIERDATEN_LESEN by default, like mine does, then see Step 24 on how to “Change job”, then select CODIERDATEN_LESEN from the list. Then continue to Step 16.
16, Then click Execute job button (or press F3 key)
17, Hopefully it has read the ECU & NCS has written a new file. NCS should report “Coding ended” above JOBNAME
18, A file named FSW_PSW.TRC should have been written to the /NCSEXPERT/WORK folder, navigate to it, and Copy the file
19, Paste the file somewhere safe, as a backup. This is my backup’s folder (you can see I have a number of files here). Annoyingly the module of which this file was read from doesn’t change its name, so every time I make a backup, I prefix it with the module name, so I know which one is which. You will notice different module’s have different sized file sizes
20, Navigate back to the WORK folder, and Copy/Paste the FSW_PSW.TRC file again, and Paste, making a copy of the file. Then rename the copy to FSW_PSW.MAN (same file name, different extension)
21, Open the .MAN file you’ve just made, use Notepad. This is where the fun begins. This is where you can change stuff!
22, I find it best to search in Notepad for what I want to change. Use the Find to find what you are looking for in this file. In this example, I am making a change whereby my windows will still work up to 1-minute after ignition is off. I know the parameter name begins with “FH_ABS”, so I’ve searched for that
23, Make the changes you need to in the .MAN file, then Save it. Navigate back to NCS Expert, and click Change job (or press F2)
24, Change the job to SG_CODIEREN, this now changes the function of NCS to *writing* to the ECU, not reading it. So you want to be absolutely 100% sure that you have saved the .MAN file correctly, and the changes you have done you are happy with
E46 M3 Convertible
25, Take a deep breath, make 100% sure that it says JOBNAME = SG_CODIEREN, make sure your laptop battery isn’t going to die, make sure the lead isn’t going to fall out! Then click Execute job button (or press F3)
26, Hopefully nothing scary happened. It should read “Coding ended” again, just like it did when you read the file in step 17. This means NCS has looked at your .MAN file, and has uploaded it to the car’s ECU
27, Click the Back to main button (or press F6)
28, Turn the ignition off on the car. Put the ignition back on if what you have coded requires ignition on. If not, you’re done
Bmw E46 M3 Coding Options
29, Unplug the lead from the laptop
E46 M3 Cost
You’re done! Nothing else is needed. The car should now respond correctly to what you have coded!