NavCoder Readme File Read this! This is the documentation and help file. 3.0.18 24 April 2024 See ChangeHistory.txt for full details of all changes ABOUT THIS APP (NAVCODER) This app was designed initially to recode BMW nav units to suit your car. It has grown to include scanning capability of all I-Bus devices, and to code the TV tuner for TV-in-motion, and to code other devices like the telephone It has so many features that from v2.2.0 I have made it shareware for a small fee of 20 Euros, which changed to 25 euros from v2.9.0. This is to reflect the effort involved in hundreds of hours of software coding and I-Bus research by myself over more than 10 years. This app requires a physical connection between your PC/laptop and the I-Bus data bus in the car. The connection is done with the I-Bus physical interface. NavCoder has been tested and works on Mk2, Mk3 and Mk4 nav units. The Mk1 does not have an iBus connection, so cannot be coded with NavCoder. NavCoder runs happily on Win95, WinXP, Vista, Win7, Win8, Win10 and Win11 (but read the Vista note under the I-BUS PHYSICAL INTERFACE further on in this file). NavCoder also works on the BMW New Mini, and the BMW-based Range Rovers and Land Rovers. REGISTRATION AND PAYMENT To register NavCoder, send the Serial Number generated in the Help > Register screen, and your payment of 25 Euros (or 26.50 if using PayPal) to sales@navcoder.com If using PayPal, then the fee is 25 EUR + 1.50 EUR PayPal fees = 16.50 EUR To avoid PayPal fees, you can also pay using bank transfer to one of my Wise accounts. Once I receive your payment and the registration code, I will send you an Activation Key. SUPPORTED PLATFORMS NavCoder runs on the following platforms: Windows 11 Windows 10 Windows 8 Windows 7 Windows Vista Windows XP Windows 2000 (limited support) Windows 1998 (limited support) Windows 95 (limited support) INSTALLATION Run the NavCoderSetup.exe installation program to install NavCoder on your PC. STARTUP SWITCHES NavCoder.exe supports a number of switches, append a switch to NavCoder.exe to use the switch. Multiple switches can be used at the same time, in any order, separated by spaces. -d Release: Enables DebugMode. Beta: Disables DebugMode. Ignored if -dd is used, [Debug Mode] appears in the NavCoder title bar as confirmation when in DebugMode. -dd Turn on verbose debugging. Forces DebugMode and VerboseDebugMode both to On for more logging. [Verbose Debug Mode] appears in the NavCoder title bar as confirmation when in VerboseDebugMode. -e31 Puts NavCoder into special E31 mode, used when connecting to E31 models. [E31] appears in the NavCoder title bar as confirmation when in E31 mode.. -m Allow multiple instances of NavCoder to run (not recommended) -max Causes NavCoder to start up with main window maximised. Ignored if -min is used. -min Causes NavCoder to start up with the window minimised. -ob Enables ODB mode -sd Startup debugging. Writes a _StartupLog.log file to the NavCoder log folder USING NAVCODER Before you connect to your car, run NavCoder on your PC and look at it. Explore the options. Try them out. NavCoder is designed to be easy to use. If you get a Fatal Error saying an OCX or LNG file is missing, read the section on installing OCX and LNG files at the end of this file. Select your language in Tools - options. If your language is not listed, contact the author and offer to help by translating NavCoder! If you see any language errors, please also contact the author! To connect to your car, you'll need an I-Bus interface, and a connection to the I-Bus somewhere. Most people found the CD changer or video module are the easiest devices to get access to the I-Bus wire. I have an E39, and I connect using crocodile clips to the navigation wiring loom connector, which in my car is located above the left rear wheel arch, accessible behind the CD changer trim panel. After you have made the connection, switch on the ignition to Pos1 and observe. You'll see the many I-Bus messages being received on NavCoder. If you don't see I-Bus messages, check your connections and your interface. When you are ready try an "Audio / nav system" scan. This will show you what you have in your car. It does this by asking for the status of each device, and then requesting device identity information (if available). Not all I-Bus devices provide their identity, you will see this as it occurs. And not all I-Bus devices have their identify correctly programmed! You can then select the Code Navigation or Code TV commands, and read your current nav and TV settings. Then, when ready, you can code the nav and TV and other devices as you desire. WINDOWS VISTA AND THE RESLER INTERFACE Note: The Resler ibus interface needs drivers loaded under Vista, you need to install some drivers You can get them from http://www.ftdichip.com/Drivers/VCP.htm NO REPSONSE FROM DEVICE (TIMEOUT) You will receive timeout messages if you try and scan or code devices before they are ready to communicate. As a rule of thumb, wait for the nav system to boot and stabilise before you use NavCoder, or switch ignition to Pos1 and wait at least 15 seconds. LOGGING OF CODING SESSIONS NavCoder can record all I-Bus traffic and hence coding sessions to a NavCoder.log file. Prior to NavCoder v3.0.13, log files were stored inthe same folder as NavCoder.exe and required you to run NavCoder as administrator on Win10/Win11 PCs to create log files. From NavCoder v3.0.13, log files are stored in a NavCoder folder in the Local AppData folder. Type in "%localappdata% into the folder bar in Windows File Explorer, then locate the NavCoder folder. %localappdata% folders are located as follows: WinCP / Win 2000: C:\Documents and Settings\User\Application Data Windows Vista and later: On Windows 10 & 11, the NavCoder folder is located at C:\Users\username\AppData\Local\NavCoder The logging is switched on under Tools > Log Databus Messages Initially, when switching logging on, you will be asked if you wish to overwrite or append to the log file, if the file exists. If logging is on when the NavCoder is started, then the log data will be appended to the existing file. This ensures that if you make a coding mistake, you can open the log and look back through your sessions to see what happened. Each time you start NavCoder, a new log file is created. NOTE ON LCM CODING There are many different LCM modules, I will endeavour to support them all If some functions don't make sense please get in touch - maybe an option changed from one LKM version to the next. DAYTIME RUNNING LIGHTS DRL-ECE on = same as having light switch in the low-beam position. Low-beam, plus side and tail lights are active. DRL-Lowbeam = only Low-beam headlights, no side or taillights DRL-Dimmed-Highbeam = only dimmed high-beam headlights, no side or taillights. Dimming value can be set 0%...50% NOTE ON TV CODING TV-in-Motion works on most every video module except for first generation (pre 1998). It has been confirmed to work on the hybrid (digital & analogue) video modules. NOTE ON NAV CODING USA and Australian users can eliminate the annoying "Accept" screen by setting the region to any other region apart from USA or Australia. I use the Europe region. CODING MONO TO COLOUR Code Ouput Mode for the navigation issues an instruction to set the boot mode of the nav. This command is used in conjunction with an OS disc, because when the boot mode is changed, the nav loads new OS software. This command allows you to recode a Mono unit to Colour. This command is for BMW nav units only! NOTE: When recoding a Mk3 from Mono to Colour, the Mk3 must be installed in the Mono vehicle for the coding sequence to commence. Once changed to Colour, fit to the Colour vehicle. And the same applies when coding from Colour to Mono: do it in the Colour vehicle. (This restrictions does NOT apply to Mk4). ESTORING RADIO SPLITSCREEN MODE To get the radio splitscreen mode working, set the Widescreen mode to 'Radio splitscreen enabled'. To stop radio splitscreen, choose 'Radio always fullscreen'. A BM24 'Professional RDS' radio with a 4:3 small-screen display will work with split-screen when you set the Widescreen mode to 'Radio splitscreen enabled'. ARRIVAL TIME DISPLAY Normally, Show Arrival Time is not needed. However, some vehicles such as the X5 require this option to be ticked. It is a case of try and see - first code with this option not ticked and see if the nav shows arrival time. If it doesn't, tick the box and try again. RESTORING INFO AND SELECT BUTTONS To restore the info and select buttons after loading new software (from BMW information): Recognition of country-specific functions: To enable the country-specific functions of the softkeys to be correctly activated by the navigation software (valid from operating software version V16), the following routine should also be performed: 1. After loading the operating software and encoding the navigation computer, the radio must be switched on once. Only then can the graphics component of the navigation system record the status of the radio. 2. After disconnecting and reconnecting the battery in vehicles with the current on-board monitor radio versions and the new on-board monitor, the radio must likewise be switched on once to enable the navigation system software to recognise the operating status of the radio and to activate the appropriate softkeys. I-BUS PHYSICAL INTERFACE A physical connection from your PC/laptop to the vehicle's I-Bus is required. The author built the SimpleInterface2 - see the enclosed "SimpleInterface2.jpg" file for a circuit diagram. This has worked fine for me and is all I normally use. Another source of interfaces is http://www.reslers.de/; NavCoder works happily with the Resler USB or serial interface. Note that the Resler interface requires drivers loaded under Vista. Get the drivers here: http://www.ftdichip.com/Drivers/VCP.htm Note that I do not use the OBDII or BMW diagnostic connector on the car as the connection for NavCoder. The I-Bus interface is simpler and cheaper than either an ODBII-to-RS232 interface, or a BMW-Diagnostic-Plug-to-RS232 interface. I-Bus TRAFFIC COLLISION DETECTION AND AVOIDANCE NavCoder uses a collision detection and avoidance algorithm, with multiple transmission attempts if desired, to ensure , the I-Bus commands are properly transmitted. I have found that timeout values of 500ms or higher often mean no retries are necessary. Set these in Tools Options. For faster NavCoder operation, try setting the timeout to 100ms and then allowing up to 4 retries. RELEASE HISTORY See the separate ChangeHistory.txt file BATTERY VOLTAGE BMW recommend that you only recode units when the battery voltage is above 12.4V. Connect a battery charger if necessary. LNG Files LNG files are language files. You must have at least one LNG file in a /lng/ folder under the installation folder of NavCoder.exe for NavCoder to run. LNG files are constantly being produced in different languages - check the NavCoder Website regularly if you need other languages Issues / Suggestions / Bugs: Report them to the author Jochen Siegenthaler info@navcoder.com Happy Coding!