Announcement

Collapse
No announcement yet.

Getting Started with NCS Expert

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Getting Started with NCS Expert

    Getting Started with NCS Expert

    This is a basic guide on how to use NCS Expert. I won’t cover the complete list of codable options, because frankly there’s far too many. In the next post I’ve attached a copy of Obioban’s coding thread from the original m3forum. This guide will be focused on the E46. Coding other cars is similar, but some modules will be different etc.

    Requirements:
    • A working Ediabas installation and appropriate interface (see Intro to BMW Coding / Diagnosis and setting Ediabas)
    • An NCS Expert Profile with manipulation enabled – I’ve attached the one I personally use to this post (requires NCS Expert V4 – included with the BMW Standard Tools 2.12 mentioned in the setup thread). Copy the profile to C:\NCSEXPER\PFL
    • NCS Dummy (not technically required for coding, but this guide will assume you have it and are using it).

    Starting NCS Expert and Reading the Vehicle Order / ZCS
    • Open NCS Expert, click File -> Load Profile and choose “Expert Mode w/ Manipulation”
    • Click on ZCS/FA f. ECU and select the appropriate chassis
    • In the E46 you’ll see 4 different options: AKMB, ALSZ, EWS, and KMB
      • If your car is built in 09/2001 or later, you’ll want to pick AKMB or ALSZ (both should have the same options stored unless your car has been messed with in the past).
      • If your car was built earlier, pick EWS or KMB
    • You’ll now see your VIN by FG (It might just be the last 7 digits that are correct, that is OK).
    • If your car is built 09/2002 or later you’ll see a field labeled “FA” with a long string. You will sometimes see the “FA” referred to as a “VO” or “Vehicle Order” – these are interchangeable terms. If your car was built earlier, you’ll see 3 different entries (GM, SA, VN) with hexadecimal strings afterwards. The GM, SA, and VN together are collectively known as a ZCS.
      • The VO and ZCS are basically a list of options and official retrofits your car has. These are stored in 2 separate modules on the car. These strings tell the coding software how to code your car. They do not directly impact the code itself (i.e. changing the VO/ZCS without also coding modules will not actually change how your car functions).
      • We will discuss VO/ZCS changes later.


    Simple Coding:

    Let’s start with simple coding. Let us say for example you want to be able to close your windows via remote.
    • First hit “back” on NCS Expert and now you will see a button labeled “Process ECU”, click that.
    • You’ll now see the list of modules your car should have. In this case, the option we’re interested in is stored in the GM5 module, so select that.
    • Now click on the “Reading ECU” button. NCS Expert will now read the configuration from your GM5 module. You may see a notepad window open up with a bunch of parameters – close that.
    • AFTER reading the module, make note of the version of the GM5 module. In the example below, you’ll note mine says GM5.C06. Your car’s module version will vary depending on the age of the car, whether the module was ever replaced, etc.
    • Now open NCS Dummy. Select E46 as your chassis. Under module select the appropriate module (in my case, GM5.C06 as discussed above). Now by “FSW/PSW or Netttodat trace” click Browse. This should automatically point to NCS Expert’s WORK folder. You should see a file labeled “FSW_PSW.TRC”, select that
    • So in the case of this option, I know the parameter we’re looking for is called “KOMFORTSCHLIESSUNG_FB” – so use the search function in NCS Dummy and search for that parameter.
    • You will find that it defaults to “nicht_aktiv”. Click on the checkbox for “aktiv”, and then click “Export FSW_PSW” and within that menu select “Export FSW_PSW.MAN”
    • Now go back to NCS Expert. Click on “Change Job” and select “SG_CODIEREN”.
    • Now click Execute Job. Wait a few seconds, and it should say “Coding Ended”.
    Congratulations, if all went well, you’ve successfully coded your car.

    Enabling/disabling other features follows the same basic process. The module you have to edit, the name of the parameters, the number of parameters, etc will vary, but if you can follow the above steps, you can probably figure out how to follow other DIYs that mention what options to change.

    One caveat to note is you should never use someone else’s FSW_PSW file. Every BMW comes equipped slightly differently, and some default options for someone’s car will not match the options for your car. Only make changes to your own FSW_PSW.




    VO / FA Changes:

    Occasionally when looking up a DIY, you might see mentions of adding an option code to your VO. This will discuss how you go about that. (ZCS Changes will be discussed later).
    • Go back to the FG/ZCS/FA screen mentioned earlier.
    • If you haven’t already done so, read out the VO from your car.
    • Now click “Enter VO/FA”. You might be prompted to select the chassis again, in which case choose the right one.
    • You’ll now get a window to enter the VIN. It should be pre-populated, hit okay here.
    • Now you’ll get a window labeled Enter VO/FA like below. This is where you can make changes. To add a VO code, type it in the box, and click the “Add” button. To remove a VO code, select it from the list, and hit the “delete” button on your keyboard (or if you’re on a mac, Fn + Delete).
    • For the purposes of this guide, let’s say you want to retrofit LED Taillights. What you’ll do is type in “+LEDH” in the box, and click add. Now hit “OK”.
    • From this point, NCS Expert will be basing its coding decisions based on the VO you entered, not what the car has stored in its modules.
    • Now there are a few things we need to do. We want to store this modified VO in your car’s modules, and then we want to actually code the module(s) of interest with your new VO. So let’s start with storing the new VO.
    • Click “Process ECU” choose the AKMB module
    • Click “Change Job” and select “FA_WRITE”. Execute that job.
    • Now click “Change SG/SGET” and select your “ALSZ” module. The FA_WRITE job should still be selected, but if it’s not, change the job to that. Hit “FA_WRITE” again.
    • Now we have to code your car for the new VO. In this case where we’re doing an LED retrofit, I know the only module impacted is the ALSZ module. So we don’t have to select a new module this time.
    • Open up your FSW_PSW.MAN module, and delete everything inside of it. Now save that file. Alternatively you can open and then close NCS Dummy. It will prompt you to blank out the FSW_PSW.MAN file if it isn’t already.
    • Change the job type to SG_CODIEREN, and hit execute job.
      • Since your FSW_PSW.MAN file is blank, NCS Expert will determine how to set every option in your ALSZ module by your VO. After that’s done, your car will now be coded for LEDs.
      • If you had previously customized your ALSZ module, you’ll lose the customizations you’ve made, so you’ll have to add those back by hand.

    Coding other options via VO changes is basically the same idea. Just the option code will vary, and you might have to code different modules. You can also hit the “Process Car” button instead of the “Process ECU” button, and NCS Expert will attempt to recode every module in the car. I generally don’t recommend this since it can be buggy and you’ll lose all customizations you’ve ever made.



    ZCS Changes:

    ZCS Changes are somewhat similar, but instead of selecting an option code directly, you’ll be making changes to your ZCS strings. Unfortunately there are generally fewer ZCS cars out there and many guides will omit the ZCS changes you have to make, so you might have to do some research to figure out what you want to do.

    Let’s use the same example of retrofitting LED tails (though do note on ZCS cars, you will also have to retrofit a newer LCM – that process will not be covered here).
    • Go back to the FG/ZCS/FA screen and read the ZCS from your car.
    • Click Enter ZCS, select the correct chassis, and click OK at your VIN. Now you’ll 3 fields labeled GM, SA, and VN
    • Remove the last character from all 3 fields
    • Lookup the ZCS changes you need to make. In the case of LED tails, the GM and SA strings are unchanged, and ‘0001000000’ is added to your VN string. Do so and click the “Calculate Checksum” Box and hit okay.
    • Now you need to store the new ZCS to your car. Load the EWS module, change the job type to “ZCS_SCHRIEBEN” and hit Execute job. Now click Change SG/SGET, select the KMB module, and do the same. Now select the LSZ module
    • Open up your FSW_PSW.MAN file, and delete everything inside of it. Now save that file. Alternatively you can open and then close NCS Dummy. It will prompt you to blank out the FSW_PSW.MAN file if it isn’t already.
    • Change the job type to SG_CODIEREN, and hit execute job. Since your FSW_PSW.MAN file is blank, NCS Expert will determine how to set every option in your LSZ module by your ZCS. After that’s done, your car will now be coded for LEDs. If you had previously customized your LSZ module, you’ll lose the customizations you’ve made, so you’ll have to add those back by hand.

    That should cover the basics of what most of you will be doing. I know that's a lot of text. Right now I wanted to get these guides up. In time, I'll take screenshots and mess with formatting.

    #2
    The below is a reproduction of Obioban's Coding/Tuning thread from M3f (circa 2013 since that's what archive.org had). His NCS Expert tutorial covers much of non-VO/ZCS information from above, and has pictures, so might be nice to reference


    NCS Expert tutorial here: http://lindvigs.com/obioban/NCSExpert_Tutorial.pdf

    If you're having trouble with the information below, there's an excellent and free program called "NCS dummy" that could make your life a lot easier. It translates the more commonly altered values from BMW speak to english. NCS dummy info here.

    Fairly complete coding options: http://www.lindvigs.com/obioban/FSW_PSW.pdf


    Especially interesting options:

    Airbag Control Module:
    -Useful if airbags are to be removed or for aftermarket seats to disable seat sensors. I'd say best use for people that are stripping the car down...

    Instrument Cluster:
    -Acoustic warnings for belts, key in ignition, frost warning - these are nice to quiet the car down a bit. If these beeps annoy you, they can be removed.
    -Cluster offset. The instrument cluster reads high by about 7-8%, this can be adjusted, so it's closer to actual speed.
    -Service interval. This has actually made the service interval feature useful to me. By default it's set to 25,000km or close to 15,000 miles, I've changed mine to 11,000km or close to 7,000 miles, now I can use this as my oil change interval instead of trying to remember halves.
    -enable M track mode indicator (2003 or later)
    -oil level display on OBD: link to thread
    pic of CSL manual discussing functionality: here

    Light Control Module:
    -halogen highs on with xenon highs

    Quote:
    Module Field Value Purpose
    ALSZ PWM_WERT2_FL_BIXENON wert_01 Halogen High Beams
    -fogs stay on with highs

    Quote:
    Module Field Value Purpose
    ALSZ FL_UND_NSW_NICHT_GLEICHZ nicht_aktiv Allows fogs with highbeams
    -Check control and warm testing lights are useful for LED tail lights retrofit. If these are disabled, you won't get a dash light or blinking anymore.
    -Daytime running lights. These can be changed, activated or removed, quite a few items in this topic.

    Quote:
    Module Field Value Purpose
    ALSZ GED_FL_ALS_DRL nicht_aktiv Disable DRL
    -Home shine - you can pick which lights you want for your home shine or "follow me home" lights.

    Quote:
    Module Field Value Purpose
    ALSZ HEIMLEUCHTEN wert_01-wert_05 changes how long the lights stay on (short to long)
    ALSZ HEIMLEUCHTEN_* aktiv/nicht_aktiv enable/disable pathway lighting for specified lights
    -Euro sidemarkers - this disables the orange corner lights as running lights, they'll only work as turn signals, so no orange corners with the headlights on.

    Quote:
    Module Field Value Purpose
    ALSZ SIDEMARKER_US nicht_aktiv disables US-style parking lights
    -triple blink turn signals
    Mid 2005 and later:

    Quote:
    Module Field Value Purpose
    ALSZ CYCL_TI_BLK dreimal enables triple-flash blinkers
    -alternate 4 way flasher flash patterns

    Quote:
    Module Field Value Purpose
    ALSZ BLINKIMPULS_WARNBLK wert_04 Euro Hazards
    Rearview mirror module:
    -Tilt mirror memory can be programmed, so you can adjust the mirror after it tilts down for reverse.

    Quote:
    Module Field Value Purpose
    BTM MEMORY_SPIEGELABKLAPPEN aktiv User-Definable Reverse
    Convertible top module:
    This module does not take coding and several people said they've burned theirs while trying to code. Shame...

    General Module:
    -Alarm can be enabled (it's built into the car, so even if you don't have the siren, it'll start blinking the headlights).

    Quote:
    Module Field Value Purpose
    GM5 DWA aktiv enables visual lock/unlock confirmation without alarm installed
    -One touch close for coupe rear windows (with hardware mod)

    Quote:
    Module Field Value Purpose
    GM5 KOMFORTSCHLIE_FB_O_FH_HI nicht_aktiv Remote Close Rear Windows
    GM5 MAUT_N_ABBRECH_N_TUER_AUF aktiv Rear Window One Touch Close (GM5.C04+)
    GM5 MAUT_ZU_STOP_N_TUER_AUF nicht_aktiv Rear Window One Touch Close (GM5.C02)
    GM5 FH_TUEREN_HINTEN_TIPP_ZU aktiv Rear Window One Touch Close
    GM5 FH_ZTR_SCHALTER_TIPP_ZU aktiv Rear Window One Touch Close
    -One click unlock for both doors.

    Quote:
    Module Field Value Purpose
    GM5 FERNBEDIENUNG_* nicht_aktv One Click Unlock (* represents key #)
    -Open and close windows/sunroof/convertible top with remote. This can be customized.

    Quote:
    Module Field Value Purpose
    GM5 KOMFORTSCHLIESSUNG_FB aktiv Remote Close Windows/Sunroof/Convert Top
    GM5 KOMFORTOEFFNUNG_FB aktiv Remote Open Windows/Sunroof/Convert Top
    -Automatic locking based on time or speed. Speed can be customized.

    Quote:
    Module Field Value Purpose
    GM5 VERRIEGELN_AUT_AB_X_KM/H aktiv Auto locking door at specified speed
    GM5 VERRIEGELUNGSSCHWELLE *See Below* Sets speed at which doors lock.
    klemme_r
    4_km/h
    8_km/h
    12_km/h
    16_km/h
    20_km/h
    24_km/h
    28_km/h
    -roll up windows remotely with key

    Quote:
    KOMFORTSCHLIE_FB_OHNE_SHD
    -Disable the boot open button on the key when the car is locked

    Quote:
    HKL_SPERREN_BEI_ZS aktiv
    -Automatically relock the car if a door is not opened within two minutes

    Quote:
    VERRIEGELN_AUT_NACH_2_MIN aktiv
    -Keep car alarm enabled when car is unlocked using door key cylinder (most common way to break into an e46)

    Quote:
    SCHAERFEN/ENTSCHAERFEN
    schloss_und_fernbedienung ; key will disarm alarm by manual turn in door lock cylinder (default)
    nur_mit_fernbedienung ; key will not disarm alarm even if door lock cylinder is turned
    AC/Heater system:
    -Automatic rear defroster. I love this, I haven't touched the button since I got my car.
    -alter interior temp sensor to taste-- so you can make a displayed 70º (on the CC screen) maintain 68º. Good if you have a PITA significant other that likes to keep it warm!

    Radio:
    -Station key memory can be enabled, so you have different presets for different keys.

    Seat Memory:
    -Automatic seat adjustment based on which key unlocked the car can be enabled. I can be set to change seat position as soon as you unlock the car with the remote. I see this being useful if you're a big guy and move the seat every time you get in. I don't use it.

    Quote:
    Module Field Value Purpose
    SM AUT_SITZVERSTELLUNG nach_fb_entriegeln Seats Revert Memory Position When Unlocked
    SM AUT_SITZVERSTELLUNG nach_entr_u_tuer_oeffnen Seats Revert when Doors Opened
    DSC module (full thread here, this is a bit of a work in progress):
    -M track mode (2003 or later)
    -program car for ZCP brakes (2003 or later)

    Quote:
    Add option code 7MA to the vehicle order
    Recode the DSC module (MK60)
    Modify the parameters for the steering angle sensor and rear caliper if you didn't retrofit the corresponding ZCP bits.
    Recode the instrument cluster (AKMB)
    The bits that are important to enabling M-track mode seem to be
    TRAKTIONDIFFERENZREGELUNG
    DTC_LAMPE
    and possibly PRE_MSR (Not really sure what this one does)
    DRUCKMODELL_HINTERACHSE is for the larger piston in the ZCP/CSL calipers
    LENKWINKELKENNLINIE_2 is for the quicker steering rack in the ZCP/CSL
    Also you must recode the cluster for the M-track symbol to light up. The line you want to set is "ANZEGIE_HOCHLADEN" (set it to aktiv)
    -it may be possible to alter the DSC intervention points. This is still under investigation
    -BAUART_MK60 seems to control when ABS intervenes (some people buy ZCP modules because apparently ABS doesn't kick in as early)

    SMG module-- CSL programming
    -give you REAL launch control and faster shifts
    -thread here

    AKMB module:

    Quote:
    GURTWARNUNG
    mit_gurtschlosskontakt* - enable visible seatbelt warning lamp
    ohne_gurtschlosskontakt - disable visible seatbelt warning lamp
    AKUSTIK_GURT_WARN
    aktiv* - enable acoustic seatbelt warning
    nicht_aktiv - disable acoustic seatbelt warning
    WARNUNG_GESCHW_LIMIT
    nicht_aktiv* - disable speed limit warning
    120_km/h - enable audible/visual speed limit warning for 120 km/h (~74 mph) (other speeds not available, unfortunately).

    Comment


      #3
      Thank you Terra! The way the text is formatted after the quote makes it look like it pertains to the quote above, when it really pertains to the quote below, correct?
      DD: /// 2011.5 Jerez/bamboo E90 M3 · DCT · Slicktop · Instagram
      /// 2004 Silvergrey M3 · Coupe · 6spd · Slicktop · zero options
      More info: https://nam3forum.com/forums/forum/m...os-supersprint

      Comment


        #4
        first i'll start off saying my car production date is a 09/02, i press "Enter ZCS", after clicking that, i choose E46, instantly after, it asks me for my vin, my vin is JR16613, i put it in and it works, then it asks me for the "Gm" "SA" "VN", because of that i can't proceed, i don't know what to put, help is appreciated.

        Comment


          #5
          Originally posted by Tbonem3 View Post
          Thank you Terra! The way the text is formatted after the quote makes it look like it pertains to the quote above, when it really pertains to the quote below, correct?
          Yeah, I just copied that from the old M3Forum sticky.

          Originally posted by E46 Adam View Post
          first i'll start off saying my car production date is a 09/02, i press "Enter ZCS", after clicking that, i choose E46, instantly after, it asks me for my vin, my vin is JR16613, i put it in and it works, then it asks me for the "Gm" "SA" "VN", because of that i can't proceed, i don't know what to put, help is appreciated.
          Typo, my bad - it's 09/2001 and later that use VO/FAs.

          Comment


            #6
            Originally posted by terra View Post

            Yeah, I just copied that from the old M3Forum sticky.



            Typo, my bad - it's 09/2001 and later that use VO/FAs.
            Even when i would choose AKMB, ALSZ it would still give me errors, what am i doing wrong?

            Comment


              #7
              Originally posted by E46 Adam View Post

              Even when i would choose AKMB, ALSZ it would still give me errors, what am i doing wrong?
              Does your cable work with INPA for anything other than the engine / transmission?

              Comment


                #8
                Originally posted by terra View Post

                Does your cable work with INPA for anything other than the engine / transmission?
                It does not, i just get errors.

                Comment


                  #9
                  Originally posted by E46 Adam View Post

                  It does not, i just get errors.
                  But engine and transmission do work? If so, you need to bridge pins 7 and 8 on your cable

                  Comment


                    #10
                    Or buy this cable Adam

                    https://www.ebay.com/itm/INPA-K-CAN-...53.m1438.l2649
                    DD: /// 2011.5 Jerez/bamboo E90 M3 · DCT · Slicktop · Instagram
                    /// 2004 Silvergrey M3 · Coupe · 6spd · Slicktop · zero options
                    More info: https://nam3forum.com/forums/forum/m...os-supersprint

                    Comment


                      #11
                      Originally posted by terra View Post

                      But engine and transmission do work? If so, you need to bridge pins 7 and 8 on your cable
                      It works with Engine and trans but nothing else.

                      Comment


                        #12
                        Originally posted by Tbonem3 View Post
                        i have the same

                        Comment


                          #13
                          Did you flip the switch?
                          DD: /// 2011.5 Jerez/bamboo E90 M3 · DCT · Slicktop · Instagram
                          /// 2004 Silvergrey M3 · Coupe · 6spd · Slicktop · zero options
                          More info: https://nam3forum.com/forums/forum/m...os-supersprint

                          Comment


                            #14
                            Originally posted by Tbonem3 View Post
                            Did you flip the switch?
                            I did, ended up going through all 4 and it worked, don’t know why but months ago when I tried it wouldn’t work but I think it was the software.

                            Comment


                              #15
                              Awesome!

                              Can you confirm which position is which? There are no markings on the switch. I'm guessing left is off and right is bridged?
                              DD: /// 2011.5 Jerez/bamboo E90 M3 · DCT · Slicktop · Instagram
                              /// 2004 Silvergrey M3 · Coupe · 6spd · Slicktop · zero options
                              More info: https://nam3forum.com/forums/forum/m...os-supersprint

                              Comment

                              Working...
                              X