Anyone working with BMW ISTA, E-Sys, or PSdZData will sooner or later encounter terms like I-Level, I-Step, Shipment, Last, and Current. These specifications describe the software version or integration level of a BMW vehicle.
In this guide, we explain BMW I-Level and I-Step in an easy-to-understand way and show why this information is important for diagnostics, coding, PSdZData, and supported programming tasks.
What is the BMW I-Level?
The term I-Level stands for Integration Level. In simple terms, it describes a defined software version of a BMW vehicle platform.
BMW uses Integration Levels to determine which software versions of the various control units in a vehicle platform are compatible with one another.
This makes it possible to track the vehicle's software version and which data version may be relevant for diagnostic or programming work.
What does I-Step mean?
In ISTA and E-Sys, the Integration Level is often displayed as I-Step. Multiple values can be shown here.
- I-Step (Shipment)
- I-Step (Last)
- I-Step (Current)
These values help to classify the original and subsequent software versions of the vehicle.
I-Step Shipment – Software version at delivery
I-Step Shipment refers to the integration level with which the vehicle was originally produced or delivered.
This value is particularly useful for identifying:
- the vehicle's original software version
- which software generation the vehicle belongs to
- whether software updates were performed later
- what initial state was originally recorded
For a vehicle that has never been fully updated since delivery, Shipment and Current can be identical or very similar.
I-Step Current – current software version
I-Step Current shows the integration level currently stored in the vehicle.
This value is especially important for:
- E-Sys coding
- PSdZData selection
- Control unit identification
- Software updates
- Programming preparation
- Troubleshooting missing CAFD or data versions
If the vehicle has already been updated, the Current value is normally at a newer data version than the original Shipment value.
I-Step Last – previous software version
I-Step Last typically refers to the integration level previously stored before the current software version.
If a vehicle has never been updated, Last and Shipment can be identical. However, after later software updates, Last may show an older version than Current.
This value can therefore provide clues as to whether and in which generation the vehicle was previously updated.
Shipment, Last, and Current compared
| I-Step | Meaning | Example |
|---|---|---|
| Shipment | Software version at production / delivery | F020-16-07-502 |
| Last | Previously stored integration level | F020-22-03-552 |
| Current | Currently stored software version | F020-24-11-520 |
How do you read a BMW I-Step?
An I-Step can, for example, look like this:
F020-24-11-520
The value can be simplified into several parts:
- F020 – Vehicle/series group
- 24 – Year 2024
- 11 – Software generation or release period in the year
- 520 – Version/revision status within this generation
Depending on the vehicle platform, other prefixes such as S15A, S18A, or other series groups may be used.
Why are there different series groups?
Not all BMW vehicles use the same software platform. Therefore, different I-Step families or series groups exist.
Depending on the generation, various identifiers may appear, for example:
- F020
- F001
- S15A
- S18A
- other platform-specific identifiers
The identifier should therefore not simply be compared between different vehicle platforms.
Why is the I-Level important for PSdZData?
PSdZData contains coding, control unit, and, depending on the package, firmware data for various BMW software versions.
If the software version in the vehicle is newer than the PSdZData set being used, certain necessary files might be missing.
This can manifest as, for example:
- missing CAFD data
- unknown control unit software versions
- problems calculating specific target levels
- limited coding or programming options
Therefore, for coding and especially for programming, care should be taken to ensure the data version used is suitable for the vehicle.
Does PSdZData need to be newer than the vehicle I-Step?
For work requiring vehicle software and control unit data, the data set used should contain the vehicle's required software versions.
A significantly older PSdZData set can therefore be problematic if the vehicle has already been updated with a newer software generation.
Why is the I-Step important for E-Sys?
E-Sys uses vehicle and PSdZData information to identify control units and their associated data versions.
Before performing coding or programming work, it is therefore useful to read the current I-Step and compare it with the data version being used.
Where can I read the I-Step?
Depending on the software used, the integration level can be viewed via BMW ISTA or E-Sys, for example.
Typically, the following values are displayed there:
- I-Step Shipment
- I-Step Last
- I-Step Current
For most checks, the current "Current" value is particularly relevant.
Does normal coding change the I-Level?
Normal coding and full control unit programming are different processes.
Changing vehicle configurations or supported coding values does not automatically mean the entire vehicle software is updated to a new integration level. A new I-Level is primarily associated with corresponding software and programming measures.
What happens during a software update?
During a supported vehicle software update, control units can be upgraded to a newer software version.
After such a process, the Current I-Step may show a newer integration level than before. The original Shipment value remains relevant as a record of the delivery state.
Can you determine the year of manufacture from the I-Step?
Not reliably. While the I-Step contains information about the software generation, this does not automatically correspond to the actual production date of the vehicle.
Especially for vehicles that have been updated later, the Current I-Step can be many years newer than the vehicle itself.
Example: Vehicle has been updated multiple times
A vehicle could, for instance, display the following values:
- Shipment: F020-16-07-502
- Last: F020-22-03-552
- Current: F020-24-11-520
The vehicle was originally delivered with the 2016 integration level and later updated to newer software versions.
The Current value shows the currently stored integration level, while Shipment continues to document the original initial state.
Frequently asked questions about BMW I-Level and I-Step
What is more important – Shipment or Current?
For the currently installed software version, "Current" is generally the most relevant. "Shipment," by contrast, shows the vehicle's original integration level.
Why are Shipment and Current different?
The vehicle has likely been updated to a newer software version since it was produced.
What does "Last" mean?
"Last" typically shows a previously stored integration level prior to the current "Current" state.
Why do I need the I-Step for E-Sys?
It helps to classify the vehicle's software version and verify whether the PSdZData version being used is suitable for the planned work.
Can an older vehicle have a very new Current I-Step?
Yes. If the vehicle has been updated over the years, the current software version can be significantly newer than the production year.
Conclusion – BMW I-Level & I-Step
The BMW I-Level or I-Step helps to classify a vehicle's software version and is particularly important for E-Sys, PSdZData, and programming work.
- Shipment: original integration level at delivery
- Last: previously stored software version
- Current: currently stored integration level
Anyone checking the I-Step before coding or programming work can better assess which PSdZData version is required and whether the vehicle and the data being used are compatible.
