BMW cars from factory are built with features some of which can be changed with coding software, e.g warning chimes, disable legal disclaimer, AM radio etc. Here is a little work through on coding BMW i3 electronic car with cheap ENET E-sys cable.
Disclaimer:
The document is made for i3. It should work on other electronic cars as well. You are on your own risk.
This is a BMW i3 Electronic car
Tools needed:
1. An ENET (Ethernet to OBD II) cable (mine cheap US$11.99 from obd365, free shipping, no duty tax.
2. A laptop. Make sure laptop is full of power supply and will not fail during the coding procedure. And the machine should not have wireless or Bluetooth enabled it. Better to disable anti-virus software before running software. All these will help the coding session go well. I am using a Dell D630 laptop.
3. My cable comes with software CDs (old version E-sys and PSdZData with password). You can download newer version from search engines as well.
***E-SYS 3.22.5 Software – this is the main program where you manipulate the codes
***PSdZData 50.3 – this is the data needed to power the E-SYS program
The PSdZData is a database of all BMW F-series vehicles and their respective settings for the latest version of the software. It’s a big file and it comes zipped up as a .RAR file. There are loads of .RAR extraction tools out there if you don’t have one on your computer. Search google instead.
When you extract the database from the .RAR file, make sure the target is C:\data or the E-SYS software will not be able to locate the database.
You need the database PSdZDATA v.50.3_PSdZData_Lite for general coding. For flashing the ECU the “full” version of the database is required, and it is several times larger than the “Lite” version. The full version is discussed briefly in the appendix, but it isn’t required for what most people will want to accomplish and is beyond the scope of this tutorial. In addition, the “lite” version is smaller to download and install on your computer.
4. A software token. My cable comes with ETOKEN and PIN. No extra cost. The token comes as a .zip file. You will need to modify a batch file (.BAT) using a text editor and ensure that the unzipped token file is placed in the correct directory. There are clear instructions on how to do this that come with the token, but if these concepts sound unfamiliar or daunting to you, then coding your car is probably not within your comfort range.
Start coding:
Well setup E-sys software on computer. I am not writing detail installation guide here.
Back up important file please
Connect ENET cable with computer and car (locate the i3 OBD socket first)
NOTE: BMW electronic car i3 Onboard Diagnosis connector location
It is best to do this with the car plugged into a charger, but if that is not possible just make sure you have enough battery.
Turn ignition ON but not start the engine!!!
Reading & writing codes:
Note: Any code that resets the iDrive display seems to blow away the 1-8 shortcuts you have created. So you might want to save your iDrive settings to USB (see the manual) so they can be reloaded after.
AM Radio
To enable AM radio
HU_ENTRYNAV -> 3002 AUDIO_TUNER_TRAFFIC, 96 -> RADIO_BAND_KW
Werte=01 – Enable AM Radio
Werte=00 – Default (AM Radio disabled)
Disable Legal Disclaimer
To disable or change the time of the safety disclaimer upon start
HU_ENTRYNAV -> 3001 EXBOX -> LEGAL_DISCLAIMERTIME
Werte=00 – Totally disable Safety Disclaimer (0 seconds)
Werte=0A – Default time of Safety Disclaimer
Note: can do between 00 and 0A if you just want a shorter time
“Hold Mode” for the Range Extender (REx)
To get the REx option (allow turn on REx anytime below 75%)
HU_ENTRYNAV -> 3000 HMI, 98 -> EV_MENU_AVAILABLE
Werte=01 – Enable REx Hold option – Default in non-US cars
Werte=00 – Disable Rex Hold option – Default in US cars
Once enabled, in your iDrive go to Settings -> Auto eDRIVE to enable Rex manually (once battery is under 75%)
Change when the Rex comes on
BKOMBI -> 3000 Anzeige_Konfiguration, 4E -> SOC_HOLD_POSITION
Werte=0C – Default of 6%
Units are in 0.5%, default is 0C (12 Dec) = 6%. Change to 18 (which is 24 Dec in Hex) to get 12%.
Reprogram 3rd and 4th Buttons on Remote (open frunk, trunk, panic)
BDC_BODY -> 30D0 RemoteControl, 1B ->
RC_DEFAULT_IDG_[3RD/4TH]_BUTTON_[SHORT/MID/LONG]
The 3rd button is the button with the car with the opened frunk icon
The 4th button is the red ‘Alarm’ icon
Each button can be programmed for independent operation for a short, mid or long press. Options include:
Werte=00 – No action
Werte=02 – Open trunk (rear boot)
Werte=03 – Panic alarm
Werte=05 – Open frunk (front boot)
Default value for 3rd button is open frunk for mid and long press (no action for short so you do not accidentallyaccidently open the frunk with a quick press)
Default value for the 4th button is panic for long press only (no action for short or mid, so you have to press for a bit)
The trunk is not enabled at all by default
Coding is not completed. Will add more in the feature.