BMW I-BUS Seat Memory (SM) Module Reference

Explore the BMW I-BUS protocol's Seat Memory Module, covering its role, physical layer, communication parameters, packet structure, and more.

By OpenBMW Team · 2026-05-24 · 13 views

Introduction

The I-BUS is a communication protocol used in BMW vehicles to manage and control various electronic components. This protocol is particularly prevalent in models that require integration of multimedia and comfort features, such as seat memory and mirror adjustments. The I-BUS facilitates communication between modules like the General Module (GM), Instrument Cluster (IKE), and Seat Memory (SM) module, allowing for seamless operation of these components.

The I-BUS is crucial for controlling comfort features in BMW vehicles. It handles the adjustments of seats and mirrors based on driver profiles associated with specific keys. This automation enhances the driving experience by allowing personalized settings to be recalled automatically. The protocol is also used for other functions such as radio, navigation, and climate control, making it an integral part of the vehicle's electronic architecture.

Physical Layer

The I-BUS operates as a single-wire bus system, utilizing a white/red/yellow wire for data transmission. The physical layer of the I-BUS is based on an open collector topology. This setup involves a bus that is normally pulled high to +12V (battery voltage) and is pulled low by the talker to transmit a bit. This is the inverse of many digital signal systems where the default state is low.

This open collector topology allows multiple devices to connect to the bus without the risk of signal contention, as each device can pull the bus low without affecting others. The I-BUS's physical layer is robust, supporting communication across various modules in the vehicle, ensuring reliable data transmission for the control of comfort and multimedia systems.

Communication Parameters

The I-BUS communication is structured around specific parameters to ensure reliable data exchange between modules. It operates at a baud rate of 9600 bps, which is sufficient for the data rates required by automotive applications. The communication uses 8 data bits, even parity, and 1 stop bit, forming a standard serial communication configuration.

These parameters are crucial for maintaining data integrity and ensuring that messages are correctly interpreted by the receiving modules. The use of even parity adds an additional layer of error checking, helping to detect any transmission errors that may occur, thereby maintaining the reliability of the I-BUS system.

Packet Structure

The packet structure of the I-BUS is designed to be simple yet effective for automotive communication. Each packet consists of a Source Device ID, Length, Destination Device ID, Data, and an XOR Checksum. The Source Device ID identifies the sender, while the Destination Device ID specifies the intended recipient.

The Length field indicates the packet size excluding the Source ID and the length field itself. The Data field contains the actual message payload, and the XOR Checksum is used for error detection. The checksum is calculated by performing a bitwise XOR operation on all bytes in the packet, ensuring data integrity during transmission.

Device ID Table

The I-BUS utilizes an 8-bit addressing scheme, allowing for 256 unique addresses. These addresses are preallocated and remain fixed across different BMW models. For instance, the Seat Memory (SM) module is identified by the address `0xED`, while the General Module (GM) is addressed as `0x00`.

DeviceBusDescription
`0x00`KGeneral Module (GM)
`0xED`KVideo Module
`0x51`KMirror Memory: Passenger (ZKE5)
`0x72`KSeat Memory: Driver (ZKE5)
`0xDA`KSeat Memory: Passenger (ZKE5)

This fixed addressing scheme ensures compatibility and ease of integration across different models and modules, allowing for a standardized communication protocol within the vehicle's electronic systems.

Collision Detection & Arbitration

Collision detection and arbitration on the I-BUS are managed through a contention detection interface. This system uses a combination of logical gates and a MAX232A chip to manage bus access. The MAX232A converts RS232 levels to TTL levels, facilitating communication between the PC and the I-BUS.

When a device wants to transmit, it asserts the RTS (Request to Send) line and waits for the CTS (Clear to Send) line. If the CTS line is low, it indicates that there is traffic on the bus, and the device must wait. This method ensures that only one device transmits at a time, preventing data collisions and ensuring smooth communication across the bus.

Hardware Interfacing

Interfacing with the I-BUS requires specific hardware components to read and write data. The basic interface consists of a simple circuit that connects to the I-BUS wire, allowing for data monitoring. More advanced setups include contention detection circuits that use logical gates and RS latch configurations for managing bus access.

The use of a MAX232A chip is common for converting signal levels between the I-BUS and standard RS232 interfaces. This hardware setup is essential for developers and engineers who need to analyze I-BUS communications or develop custom integrations for additional vehicle features.

Software Tools

Several software tools are available for analyzing I-BUS communications. The I-Bus Analyser software, for example, allows users to display I-BUS messages in clear text, providing a user-friendly interface for monitoring and analyzing bus traffic. This tool supports real-time scanning of the COM port and can load binary or hex files for offline analysis.

These tools are invaluable for developers working on custom integrations or diagnostics, as they provide detailed insights into the data being transmitted across the I-BUS, allowing for precise troubleshooting and development of new features.

Practical Example

Consider a practical example where the Seat Memory (SM) module communicates with the General Module (GM) to adjust the driver's seat position based on the key used. A typical I-BUS packet for this operation might look like:

ED 05 00 72 01 02 03 04 8E

In this packet, `ED` is the Source Device ID for the Seat Memory module, `05` is the length of the packet excluding the Source ID and length itself, `00` is the Destination Device ID for the General Module, and `72 01 02 03 04` is the data payload indicating the seat adjustment settings. The `8E` is the XOR checksum, ensuring the packet's integrity during transmission.

This example illustrates how the I-BUS facilitates personalized vehicle settings, enhancing user comfort and convenience by automating seat adjustments based on driver profiles.

#I-BUS #SM #seat memory #mirrors #comfort
Frequently Asked Questions
What is the purpose of the XOR checksum in I-BUS packets?
The XOR checksum ensures data integrity by allowing the receiver to verify the packet's contents against transmission errors.
How does the I-BUS handle collision detection?
Collision detection is managed using a contention detection interface, which controls bus access through RTS and CTS signals.
What role does the MAX232A chip play in I-BUS interfacing?
The MAX232A chip converts RS232 signal levels to TTL levels, enabling communication between a PC and the I-BUS.
Can the I-BUS protocol be used for security equipment?
No, the I-BUS is primarily used for multimedia and comfort features, not for security equipment like airbags.
What tools can be used to analyze I-BUS communications?
Tools like the I-Bus Analyser software can be used to monitor and analyze I-BUS messages in real-time or from saved files.