BMW Data Link Interface Project


The Basics
Hardware Theory
Hardware Practice
DS2 Protocol
ECU Addresses
DS2 Commands
ECU Responses
Fault Codes
BMW Scan-O-Matic
With the hardware connection complete, a software layer needs to be provided so the correct commands can be sent to the ECU, and the ECU's responses interpreted correctly.
This is where things get a little tricky.  The protocol for OBD-II is relatively well-understood in cyberspace, but my car was produced (one month) before BMW computers became OBD-II compliant.  Furthermore, the BMW protocol ("DS2") allows communication all of the on-board computers, and does more than OBD-II can.
Commercial programs like Carsoft can "speak" DS2.  However, these are prohibitively expensive. 
Several freeware programs are available on the opendiag Yahoo group.  The problem here is that many of the codes given do not work with the computers in my car.  Therefore, I'm reverse-engineering it myself, using all of these sources.

This site is not affiliated with BMW in any way.  As if you couldn't tell.