Jailbreak: How to Unlock Hidden Features in Your BMW's Onboard System
In case you haven’t heard it before, the term “jailbreak” is a reference to unlocking your iPhone to allow unauthorized apps to run and unleash the full potential of the device. The same can be done to the onboard systems on most newer BMWs now, releasing all the “goodies” that BMW has disabled for various reasons.
Like your iPhone, this isn't something for the technically challenged, but if you’re tech savvy, this modification's well worth it.
List of Settings You Can Change
Wondering what you can do if you code your BMW? Here’s a short list of options that can be accessed and changed by coding:
Restraints and Airbags
- Disable Seatbelt chime
- Disable airbags (aftermarket seats)
iDrive and Information Display
- Enable Video/DVD – Play Movies/Videos in motion
- Turn off Navigation disclaimers
Car Access and Convenience
- Enable auto roll down/roll up via keyfob
- Enable one touch roll down
- Fold mirrors
Lighting
- Customize welcome lights
- Disable Amber cornering lights
- Customize Daytime running lights
Instrument Panel/Cluster
- Enable digital Speedometer
- Enable HUD options, turn signals etc.
- Enable Sports displays
Performance and Misc.
- Read and clear error codes
- Disable Auto/Start and Stop last known position
- Software upgrades
List of Parts You’ll Need to Code
- Windows Laptop, or a Windows Emulator if you're using a Mac
- BMW Ethernet to OBD-II Cable (BMW ENET Cable)
- ESYS Software
- PSdZDATA Files for ESYS and matching token
DISCLAIMER: Driving Line and its staff are not responsible for any issues that may occur with your car if you attempt to jailbreak your BMW. Please do so at your own risk.
My test subject was a 2015 BMW i8, with the basic process pretty straightforward:
Plug OBD Cable to vehicle, power laptop on, turn car on to accessory, launch program, enable code changes, upload, turn car off, then turn back on.
Seems easy enough right? As long as you have the correct guide to match your vehicle and know the changes you want to make ahead of time, it actually is.
What I Opted to Change
As a general rule of thumb, you don’t want to make all changes at once. This way, if something goes awry, you’re not struggling to remember the last value changed. Each module within the program breaks up the car into “sections.” For example: all of the navigation changes are in one folder, while the lighting and camera options are in another. We changed all “Navigation” related items first, then saved before moving onto other parts of the car, such as:
- Play Movies/Videos
- Video in motion - allows for Movies and Video while driving
- Camera in motion – allows you to access any cameras at speed (normally only during parking speeds)
- Window roll up/down via remote
- Customize Menus
- Addition of Tire temp to TPS monitor screen
- ///M logo on startup
- HUD Display configuration
- Change Navigation voice to British Accent
- Disable legal disclaimers
Once your changes have been made, it’s a simple “upload” back to the car's computer (this process can take some time depending upon how much has been changed). Unplug the laptop, start the car up and you’re good to go!
Examples of the Features I added to the i8
MP4 video format with title info:
Weezy MP4 video splitscreen with Weather app:
Fullscreen for MPEG/BluRay(MKV) format:
Addition of tire temperature to TPMS section:
Front camera enabled at speed:
These are only a handful of features available to code. There are tons more changes you can try to modify your BMW to your liking.