BMWeb Photos

BMWeb in pictures

Vehicles and modules

Pick the car, pick a module, and the module's own menu comes up. On a desktop the default is the classic text layout, with the F-keys along the bottom; Settings switches to a modern layout with the same keys and the same screens.

The vehicle list: F1 to F8 pick a chassis from E46 to E70, F9 opens other models, F10 opens the apps.
Vehicle list. The first screen. Each key is a chassis; the cable and the battery and ignition state show at the top.classic
The script selection popup for an E46: systems on the left, the engine modules on the right.
Module picker. Systems on the left, the modules in that system on the right, plus Coding and Identity entries and the whole-car jobs.classic
The E46 module list in the modern layout: a system rail and module cards with the module code, name and file.
Module list. The same list as cards: each shows the module's code, its name and the definition file it talks with.modern
The MS45 engine module's main menu as a text screen: F1 info, F2 identification, F4 fault memory, F5 status, F6 activations and more.
Module main menu. The engine module's own menu, drawn by the module's script exactly as the dealer tool draws it. The F-keys below are live.classic
The same MS45 main menu as tiles: one tile per key, each with its legend line.
Module main menu. The same script, one tile per key, described by the menu's own legend.modern

Fault memory

Read the stored faults of any module, with the module's own wording and status flags, and look at the conditions the module recorded when each fault was set.

The MS45 fault list: three faults with their number, name, type, readiness, present or stored and MIL status.
Fault list. Three stored faults on the engine module, each with its type, readiness, whether it is present now, and whether it lit the warning lamp.classic
The same three faults in the modern layout, each as a card of labelled rows.
Fault list. The same read, laid out as labelled rows.modern
The freeze frame view: for each fault, how often it was seen, the mileage, and the engine conditions at the time.
Freeze frame. What the module recorded when the fault was set: how often, at what mileage, and the coolant temperature, load, lambda and engine speed at that moment.classic

Live values

Switch positions, sensor readings and measurement blocks, refreshed continuously while the screen is open. Bars carry the module's own scale and its good and bad bands.

Switch position lamps: terminal 15 on, engine stopped off, clutch, brake light and brake test switches off, A/C request on.
Switch positions. A lamp per input: ignition on, engine running, clutch and brake switches, the air-conditioning request.classic
The same switch positions as a list of labelled rows with a lamp beside each.
Switch positions. The same inputs as rows.modern
An OBD-II measurement block: coolant and intake temperatures, load, ignition timing, throttle, air mass, lambda, fuel trims, battery voltage, each as a bar.
Measurement block. The standard emissions values in one screen: temperatures, load, timing, throttle, air mass, lambda and fuel trims.classic
The same measurement block in the modern layout: one row per value, its label on the left and its bar and reading on the right.
Measurement block. The same values, one row each: the label on the left, its bar and reading beside it.modern
Six cylinder rough-running bars and two oxygen sensor voltages, plus the segment adaptation lamp.
Rough running. One bar per cylinder for misfire detection, the two oxygen sensor voltages, and whether the crank sensor adaptation has finished. A weak cylinder stands out at a glance.classic
Data logging for an E46: the module tree with two oxygen sensor keys ticked under STATUS_L_SONDE, two chart cards beside it, and a summary of two readings on one job.
Data logging. Tick any readings from any modules and each gets its own chart, sampled while you drive and exported as CSV. Only read-only jobs are offered.

Activations

Drive a component from the keyboard: injectors, the fan, the fuel pump, valves. Anything that changes the car asks first and names exactly what it is about to send.

The injector activation menu: F1 to F6 pick a cylinder, shifted keys set engine speed and pulse width.
Injector test. F1 to F6 fire one injector each; the shifted keys set the speed and pulse width the test runs at.classic
A confirmation dialog: Send STEUERN_EV_1 on MS45.1 for M54? with Cancel and Send buttons.
Confirm before sending. The exact job and argument the screen wants to send, and a Cancel key. Reads never prompt; writes and activations always do.

Identity and scans

Ask the car what it is, and ask every module at once whether it has anything stored.

The vehicle identity screen: VIN, odometer, build date, paint and upholstery per module, and the option list decoded from the build record.
Vehicle identity. The build record as each module stores it, side by side: VIN, stored odometer, order date, paint, upholstery and the option codes decoded into words. Copies that disagree are a finding.
The printed fault report: each faulty module with its codes, count, state and the conditions at code entry.
Fault report. The whole-car read as a clean sheet for printing or saving as PDF: codes, how often, present or stored, and the conditions when each was set.

Garage

Save a car once and every scan of it is kept beside it, so two reads of the same car can be laid side by side.

A saved car in the Garage: its VIN, body, engine and build date, a notes box, a Run a scan row, and two stored fault scans with a Compare button.
Garage. Save a car once and every scan of it is kept beside it, with a notes box and a scan you can start right from the row.
The What Changed page: two scans picked in dropdowns, a count of new, cleared and still present, and the one new DSC fault listed underneath.
What changed. Two reads of the same car side by side: what is new, what you cleared, and what is still there.

ISTA

The workshop tool's own layout, tab for tab: Operations, Vehicle information, Vehicle management, Service plan and Workshop, drawn over the app's own reads and BMW's own service data. It comes on with the INPA layout setting; the modern layout keeps the app's own look.

The control unit tree: every module of the chassis drawn on its bus, coloured from the newest scan, with the hover panel for one box and the Call up ECU functions button below.
Control unit tree. Every module on its bus, coloured by the newest scan. Hovering a box shows its address, group, name, variant and part numbers; picking one enables Call up ECU functions.
The ECU functions window for the engine module: Identification, Diagnosis scan, Component triggering and Software information tabs, the identification rows filled from the scan.
ECU functions. One window per module: its identification from the scan, its read screens under Diagnosis scan, its activations under Component triggering.
The control unit list: one row per installed control unit with a state square, abbreviation and name, and the four-colour legend.
Control unit list. One row per control unit the car carries, named by the variant the scan identified, with its fault memory state.
The fault detail window: Description, Details and System context tabs over a two-column table of the fault text, conditions and service notes.
Fault detail. Description, Details and System context for one stored fault, from the module's own read and BMW's fault document where one exists.
The fault pattern tree: nine numbered groups from Powertrain to Voltage supply on the left, the linked documents as Type and Title on the right.
Fault pattern. BMW's symptom tree for the car, nine groups deep, each leaf listing the functional descriptions and repair documents that diagnose it.
The repair manual browser: the product structure tree of main groups and subgroups on the left, the repair instructions and torque tables for the picked group on the right.
Repair/maintenance. The repair manual by product structure: pick a group, open an instruction with its steps, pictures and tightening torques.
The text search page: a search string box with four checkboxes for structures, document titles, document bodies and document numbers.
Text search. Search the structures, document titles, document bodies and document numbers of the service data for this car.

Reference apps

Everything past this point works without a cable and without a car: the reference material from the dealer software, in the browser.

The Apps hub as a grid of square tiles: diagnostic plans, job search, wiring, parts, ECU backup, Tool32, tuning, data logging and the script runner.
Apps hub. Every reference app as one tile: fault codes and service data, job search, wiring and repair documents, the parts catalogue, a read-only firmware backup, a raw job runner, a firmware editor, data logging and the script runner.

Fault lookup

Search fault codes and descriptions across every chassis and module, then open one for its service data and, where the dealer software has one, the step-by-step diagnostic procedure.

A search for the code 9DF7: the matching fault on an E60 trailer module, with its code and English name.
Search. Type a code or a few words; results are grouped by chassis and module, with the original wording beside the English. Rows with a chevron have more behind them.
An opened fault: its code and name, then the service document: set condition, monitoring, time condition, service measures and the effect on the car.
Service document. What sets the fault, how it is monitored, and the service measures to take, followed by the diagnostic procedure where the dealer software has one. Printable.

Wiring

The factory wiring diagrams, component locations, pin assignments and repair documents for each chassis. Diagrams are vector: scroll to zoom, drag to pan, and open several as tabs.

An engine management wiring diagram in the classic grey diagram-system frame: a tree of systems on the left, the schematic on the right.
Wiring diagram. With the classic skin on, the diagram viewer takes on the grey frame of the original: series, print, search and pane buttons where they always were.classic skin
The same engine management wiring diagram in the default dark skin, with a toolbar for diagrams, components, repair documents and search.
Wiring diagram. The same schematic in the default skin. The toolbar switches between diagrams, component information and repair instructions.default skin

Parts

The parts catalogue by chassis: main groups, exploded diagrams, and the part numbers behind each callout.

The E46 parts catalogue main groups: engine, fuel, exhaust, clutch, transmission, axles, brakes, body and more, each with a picture.
Main groups. Pick a variant to filter, then a group.
A cylinder head exploded diagram with numbered callouts, the group tree on the left.
Diagram. Numbered callouts with the part table underneath; the tree on the left walks the rest of the group.
The E46 parts catalogue with the vehicle dropdown open on 297 variants, each with its model, body, engine, steering and build date.
Pick your variant. All 297 E46 builds in one searchable list, so the groups and part numbers are the ones for your car.
A short engine parts drawing opened full size with a round magnifier following the pointer over the cylinder head.
Drawing up close. Click a diagram for the full-size scan, then move over it and a loupe magnifies whatever is under the pointer.
The VIN decoder with a Garage panel on the right holding the saved E46 325i M54 and its VIN.
VIN decoder. Decode a VIN, or work down from series, body and model. Cars already in the Garage sit beside it, one click from their parts.

Tuning

Open a firmware image, add a definition file, and edit named constants and tables in engineering units, with the raw hex beside them. Saving writes a file on your computer, never the car.

The firmware editor: a definition tree on the left with a scalar opened in its editor, the hex view on the right with the bytes of that parameter highlighted.
Constants and hex. Filter the definition tree, open a value, and the bytes it lives in light up in the hex view with a data inspector.
A one by eight ignition efficiency table opened in the table editor, heat coloured, with set, interpolate, smooth, undo and revert tools.
Table editor. Heat-coloured cells with the axis in real units; set, scale, interpolate and smooth, with undo and a diff against the original.

Job runner

For when you know the job name: pick a definition file and a job, give it an argument, and read the raw result registers. Jobs that write are marked.

Tool32: a filterable list of definition files, the jobs of the selected one with write jobs marked, and the result of STATUS_MOTORDREHZAHL: 752 rpm, setpoint 720.
Tool32. The engine speed job run against the engine module: three result values, a repeat timer, and a wire trace underneath.

Script runner

Your own INPA script, run through the same runtime and the same write gates as the shipped ones.

The script runner with a loaded IHKA46.IPO: its includes, 44 procedures, menus, 20 screens, DLL imports and entry point, and a Run this script button.
Script runner. Drop in your own compiled .IPO, or an .IPS or .SRC source to compile here, and the runner reads what is inside it before running it against the car.

Remote sessions

Share your cabled car with someone who knows the diagnostics better, or connect to theirs. The car stays on its own machine; only jobs cross, and every write is approved at the car.

The Share my car panel: read and write or read only access, and a checkbox to confirm each of the helper's actions.
Share my car. Choose read-only or read-and-write, and whether every write needs your approval first. Then get a short code to pass on.
The helper's view: connected to the shared car, waiting for the owner to admit them.
Waiting to be admitted. The helper enters the code and waits; nothing reaches the car until the owner lets them in.
The owner is asked to approve the exact action the helper wants to run.
Approve a write. The owner sees the exact job before it goes to the car and can refuse it.
A live remote session: a red REMOTE badge and an orange frame while the helper drives the car.
Live session. A red badge and an orange frame the whole time someone else is driving the screens.

Skins

Six looks for the same screens, picked in Settings. The skin changes colours and chrome only; the layout switch is separate.

The Settings screen: the skin picker with six cards, function labels, layout, actuator confirmation, tutorial and remote session rows.
Settings. The skin picker, English or original job names, the layout switch, whether activations ask first, and the remote session entry.
The engine module main menu in the INPA skin: black text on white with a green RUNNING marker over the key bar.
INPA skin. White screen, black text, the green marker above the keys.
The fault list in the INPA skin.
INPA skin. The fault list in the same look.
The engine module main menu in the Frutiger skin: a translucent blue gradient with pill-shaped keys.
Frutiger skin. Blue glass and pill keys.
The engine module main menu in the Brushed Metal skin: grey brushed panels and bevelled keys.
Brushed Metal skin. Grey panels and bevelled keys.
The engine module main menu in the GT1 skin: a yellow header bar over a light grey screen.
GT1 skin. Yellow bar, light grey screen.
The engine module main menu in the Brackets skin: a flat dark grey with muted keys.
Brackets skin. Flat dark grey, quiet keys.