Diagnostic Report Template — E46 Service Documentation
Why it matters
The E46 is now 20–28 years old. Its wiring harnesses are cracking, its DME connectors are corroding, and its DISA valves, cooling systems, and vanos units are failing in predictable patterns. Without a structured diagnostic record, a technician — amateur or professional — is guessing. A completed diagnostic report tells you exactly what the car's computer saw, what the sensors measured, what you found with your eyes, and what you did to fix it. It also protects you legally if you sell the car and the next owner has a problem. On the E46 specifically, misdiagnosis is expensive: a misread oxygen sensor code can lead to an unnecessary catalytic converter replacement (€400+) when the real cause is a €12 intake boot crack. The template prevents that waste.
If you delay
- Green — 0 to 5,000 km after fault first appears
No diagnostic record exists but the fault is minor and not yet causing secondary damage. The car may still drive normally. This is the ideal window to scan, document, and resolve cheaply.
- Amber — 5,000 to 15,000 km of continued fault
Without a documented baseline, you cannot tell if the fault is worsening, stable, or has spawned secondary codes. An undocumented misfire, for example, may now be washing cylinder walls with unburnt fuel, accelerating bore wear. Repair cost begins to climb.
- Red — 15,000 to 30,000 km of undocumented faults
Secondary damage is likely underway. A cooling fault that was never logged may have caused repeated overheating events that have now warped the cylinder head. Without historical records, you cannot prove to an insurer or buyer what was known and when. Repair costs escalate significantly.
- Black — 30,000 km+ with no diagnostic history
The car's fault history is now a mystery. Multiple overlapping faults make root-cause analysis very difficult. What might have been a €60 sensor replacement is now a €2,000+ engine investigation. This scenario is extremely common on high-mileage E46s bought secondhand without service records.
What you'll encounter
- Your scan tool will almost certainly pull multiple stored fault codes from an E46 that has never been properly serviced — even if the car seems to run fine. This is normal. The E46 DME stores codes persistently, and previous owners or workshops often clear them without fixing the root cause. You will see codes that are months or years old sitting alongside fresh active faults. Your job at this stage is documentation, not panic. Write every code down before clearing anything.
- The E46's OBD-II port (under the dashboard, driver's side, near the steering column) is often dirty, bent-pin, or has a broken retaining clip from years of cheap scan tool abuse. Budget scan tools sometimes fail to maintain connection and will report 'no communication' or drop out mid-read. If this happens, it is almost never the DME — it is the port or the cable. Clean the port with contact cleaner spray and try again before assuming an ECU fault.
- Live data from an ageing E46 will often show readings that look alarming but are actually normal for the age of the sensors. Fuel trims of +10% to +15% on a 200,000 km M54 are common and do not automatically mean a fault — they reflect an ageing MAF sensor operating within its correction limits. A first-timer who does not document a baseline will have no reference point on the next scan. Write down every live data value even if you do not understand it yet — future-you will thank present-you.
- The diagnostic report template feels bureaucratic until you need it. The most common mistake on this exact task is writing codes on a phone note or scrap of paper and never transferring them to a structured document. When the fault returns three months later, the notes are gone, the context is lost, and you start from zero. Use the template every single time, even for a quick scan.
- On E46s with over 150,000 km, you will frequently encounter a mismatch between the fault code description and the actual failed component. The code is a starting point for investigation, not a parts-ordering instruction. A diagnostic report that captures live data values alongside the fault code is what separates a correct diagnosis from an expensive guess.
Known engine weaknesses
- E46 DME/ECU connector corrosion (all engines): The 134-pin DME connector on the M52, M54, M43, and S54 is prone to internal pin corrosion and micro-fretting from vibration. This produces intermittent fault codes — particularly throttle position, camshaft sensor, and misfire codes — that appear and disappear with no apparent cause. A diagnostic report that logs whether codes are 'active' vs 'stored/intermittent' is the only reliable way to track these events over time.
- E46 M54 engine (320i, 325i, 330i) DISA valve failure: The DISA (Differentiated Air Intake System) valve flap breaks at the plastic rivet and ingests into the intake manifold. A scan tool will show intake-related codes and rough idle, but the root cause is mechanical, not electronic. A diagnostic report that captures live idle RPM data and intake manifold pressure values will clearly show the characteristic pattern — without documentation, this is commonly misdiagnosed as a lambda or MAF fault.
- E46 M43 engine (316i, 318i) crankshaft position sensor failure: The single-VANOS M43 is highly sensitive to crankshaft position sensor degradation. It produces no-start or intermittent stall faults that are heat-soak dependent — the car starts cold, dies when warm, then restarts once cooled. Only a diagnostic report that captures ambient temperature, engine coolant temperature at fault time, and RPM dropout data will reveal the thermal pattern.
- E46 cooling system cascade failure (all engines): The plastic thermostat housing, expansion tank, and water pump impeller all degrade simultaneously on high-mileage examples. A scan will show coolant temperature faults or out-of-range thermostat codes. Documenting the exact coolant temp sensor voltage reading — not just the code — allows you to distinguish a failing sensor from a genuinely stuck-open thermostat, saving the cost of replacing both unnecessarily.
Parts verification
This task requires no physical replacement parts — it is a documentation and methodology procedure. However, if your scan tool came with a print cable, thermal paper roll, or software, verify these before starting: confirm the paper roll is loaded and feeds correctly, the software version supports E46 OBD-II / BMW-specific protocols (EDIABAS/NCS Expert compatible tools should identify themselves as such), and the OBD-II cable is the correct Type A 16-pin connector — not a Type B (used on heavy vehicles). If using a Bluetooth adapter (e.g., INPA-compatible ELM327 clone), verify it is a genuine FTDI-chip adapter, not a counterfeit — counterfeit units drop connection mid-scan on the E46 and produce false 'no fault' readings. You can verify chip type on Windows Device Manager under the COM port properties. If purchasing a printed template pad for workshop use, confirm it is blank/generic — E46-specific pre-printed templates are not widely available, and a generic automotive diagnostic form is perfectly correct for this task.
Tools required
- OBD-II Scan Tool (BMW-specific protocol support)Must support BMW-specific fault codes beyond generic OBD-II SAE codes. Recommended: Carly for BMW app + adapter, INPA/EDIABAS on laptop with K+DCAN cable, or Autel MX808 / Launch CRP129E as standalone units. A generic ELM327-only tool will miss BMW-specific subcodes.Insert the OBD-II connector with the ignition OFF first, then turn ignition to position 2 (all dash lights on, engine not started). Allow the tool 30 seconds to establish communication with the DME before requesting fault codes. Rushing this step causes incomplete reads on the E46's slower K-line communication protocol.
- Diagnostic Report Template (printed or digital)A4 paper form or digital equivalent with fields for: VIN, date, mileage, fault codes (×10 minimum rows), live data table, visual inspection checklist, root cause field, repair recommendations, parts replaced, post-repair scan results, next inspection date.Print at least two copies — one to write on during the job (it will get dirty), one clean copy for records. If working digitally, use a locked PDF form or a spreadsheet so historical records cannot be accidentally edited.
- Smartphone or digital cameraAny modern smartphone. Used for photographic documentation of fault code screens, visual inspection findings, and component condition before and after repair.Photograph the scan tool screen directly — do not rely on memory or transcription alone. Code numbers that look similar (e.g., P0171 vs P0174) are easy to transpose when copying by hand.
- Pen (waterproof ink preferred)Standard ballpoint or permanent marker. Biro ink smears when wet with oil or coolant — a Staedtler permanent pen ensures records remain legible in workshop conditions.Write VIN digits slowly — the E46 17-digit VIN is under the bonnet on a plate riveted to the passenger-side strut tower and also visible through the windscreen on the dashboard. Cross-reference both to avoid transcription errors.
- Workshop light / torchLED inspection lamp or headtorch for visual inspection phase. The E46 engine bay is relatively accessible but the rear of the engine — where the PCV system, vacuum lines, and coolant hoses run — is dim and requires direct illumination.Angle the light along (not directly at) hose and wiring surfaces to reveal cracks, chafing, and oil seepage through shadowing — the same technique a photographer uses for texture. Direct overhead light obscures surface defects.
Parts required
- Diagnostic Report Template (printed A4 form or digital PDF)
- Free/DIY — Download a generic automotive diagnostic report template and adapt it with the 11 fields listed in this guide. Entirely sufficient for personal use.
- Professional — Pre-printed carbonless duplicate pads used by independent workshops. Available from automotive trade suppliers in NL/DE for approximately €15–25 per 50-sheet pad. The duplicate copy remains in the pad as a permanent workshop record even after the top copy is filed with the car.
- OBD-II Scan Tool (BMW-compatible)
- Budget (€20–50) — Generic ELM327 Bluetooth adapter with Carly app or similar. Reads BMW-specific codes on most E46 variants. Sufficient for this task. Does not support coding or adaptations.
- Mid-range (€80–200) — Autel MX808, Launch CRP129E, or similar standalone unit. Reads and clears all BMW-specific fault codes, displays live data graphs, prints reports. Recommended for anyone doing more than one scan per year.
- Professional (€350+) — Genuine BMW ISTA via a K+DCAN USB cable with a laptop running EDIABAS. Accesses all control units including ABS, DSC, EWS, instrument cluster, and airbag modules — not just the DME. Overkill for a single diagnostic session but the correct tool for a full pre-purchase inspection.
Procedure
- Locate the vehicle VIN. On the E46, the primary VIN is stamped on a metal plate on the passenger-side (right-hand, kerbside) inner wing / strut tower in the engine bay. A secondary VIN is visible through the windscreen on the top of the dashboard trim on the driver's side. Write the full 17-character VIN onto your diagnostic report form in the 'Vehicle Identification' section.WhyThe VIN is the anchor for all parts ordering, recall checks, and warranty history. On a secondhand E46, the body VIN and the VIN stored in the DME should match — a mismatch is a red flag for a repaired write-off or engine swap that must be documented. Without the VIN on the report, the document is worthless for any future reference.Look forThe engine-bay VIN plate is a small pressed-aluminium rectangle approximately 80mm × 25mm, riveted to the right-hand inner wing (when standing in front of the car looking at the engine). It is typically near the base of the strut tower, below the coolant expansion tank on most E46 variants. It can be obscured by dirt or a poorly fitted engine cover — wipe it clean before reading.Stop ifIf the engine-bay VIN is missing, damaged, or does not match the windscreen VIN, note this explicitly on the report as 'VIN discrepancy — further investigation required.' Do not clear any fault codes until the vehicle's identity is confirmed — this is relevant for insurance and legal purposes.
- Record the odometer reading, current date, and your name or workshop identifier on the report form.WhyMileage at the time of diagnosis is essential for tracking fault recurrence intervals. On the E46, many failure patterns are mileage-dependent (e.g., DISA failure typically occurs at 100,000–180,000 km on the M54). Without a mileage reference, you cannot tell if a returning fault appeared after 500 km or 50,000 km.
- Check the fuel level gauge and record it. Note whether the engine was started today, and if so, how long it has been running.WhySeveral live data parameters — particularly fuel trim values — behave differently on a cold start versus a warm engine. An engine that has just completed a motorway run will show very different short-term fuel trim activity than one that has been sitting overnight. Documenting engine state at scan time is the context that makes live data interpretable later.Feels likeThe fuel gauge needle position is sufficient — exact litres are not needed. Note 'cold/not started today', 'warm/started within 2 hours', or 'fully warm/driven within 30 minutes' as three usable categories.
- With the ignition OFF, plug the OBD-II scan tool into the diagnostic port under the driver's-side dashboard.WhyInserting with ignition off prevents a voltage spike to the scan tool's internal circuitry when the DME powers up. The E46 DME draws a brief high-current surge on key-on; some cheaper adapters are damaged by this if already in mid-boot cycle.Feels likeCorrect insertion feels like a firm, positive click as the connector seats. If you feel resistance or the connector rocks side-to-side after insertion, a pin may be bent — do not force it. Withdraw, inspect pins visually, and straighten any bent pins with a fine pick before reinserting.Look forThe OBD-II port on the E46 is a 16-pin trapezoid female connector located under the dashboard on the driver's side, typically 200–300mm to the right of the steering column, facing downward at roughly 45°. It is usually uncovered (no flap) on most E46 variants. On some right-hand-drive examples, a small plastic trim cover may need to be pressed to release. It is black, approximately 40mm wide, and has the characteristic asymmetric trapezoid shape of all OBD-II connectors.
Verification protocol
- CheckPost-repair fault code count vs initial fault code countExpectedThe post-repair scan shows zero active fault codes related to the diagnosed fault. Stored/historical codes may still appear until the DME completes its drive cycle self-tests (typically 1–3 warm-up cycles). Any new codes not present on the initial scan should read zero.If wrongIf the same active fault code returns immediately after clearing and warming up the engine, the root cause was not resolved. Return to Phase 3 visual inspection with specific focus on the area implicated by the code. Do not simply re-clear and drive.
- CheckFuel trim live data comparison (if the diagnosed fault involved mixture/lean/rich codes)ExpectedShort-term fuel trim at idle should be between -5% and +5% on a correctly functioning M54 or M43 with no vacuum leaks and a clean MAF sensor. Long-term fuel trim between -8% and +8% is the acceptable range for an engine with normal age-related wear.If wrongIf fuel trims remain above +10% after a vacuum leak repair, there is a second unresolved air leak or the MAF sensor is degraded. If trims are below -10%, a rich condition exists — suspect a leaking injector, failed lambda sensor, or EVAP system fault. Document findings and extend the investigation.
- CheckCoolant temperature live data at operating temperatureExpectedOn the M54 engine (320i, 325i, 330i), coolant temperature should stabilise between 85°C and 95°C after a 10-minute warm-up at idle. On the M43 (316i, 318i), expect 80°C–90°C. The temperature should hold steady, not fluctuate more than ±5°C at steady idle.If wrongIf coolant temperature never exceeds 75°C, the thermostat is stuck open — a very common E46 failure that causes increased fuel consumption, white deposits in the oil (in cold climates), and DME fuel trim errors. If temperature climbs above 100°C, stop the engine immediately — overheating is in progress.
- CheckCompleted diagnostic report — all 11 sections filledExpectedEvery field on the template has an entry. Blank fields should contain 'N/A — not applicable' or 'Not tested this visit — reason: [reason]'. A partially completed report is not a completed report.If wrongIdentify which sections are blank and complete them before filing. If a section could not be completed (e.g., component testing was not possible without a specific tool), document what was not tested and why, and add it to the next inspection recommendations.
- CheckPhotograph archiveExpectedAt minimum, one photograph of the fault code screen, one of the live data summary, and one of any visual finding noted in the inspection. Photos are labelled with VIN and date.If wrongReturn to the car and photograph any missing items before the session is closed. Once the car leaves the driveway, the opportunity to photograph the pre-repair state is gone permanently.