While a BMW 3-Series' engine problems can be investigated by sight and sound, the car's second generation On-Board Diagnostic system can save you a lot of time. The BMW 3-Series features an internal computer called a Powertrain Control Module. The PCM runs a series of diagnostic checks and procedures, and every instance of a malfunction is coded and recorded. By accessing the PCM, you can get a list of things that have gone wrong in your BMW's engine. To do this, however, you will need an OBD-II diagnostic scanner.
Open the BMW's driver's door. Crouch down, and look into the leg space. On the left-hand side, near the left-side kick panel, you will find a computer outlet. In older 3-Series vehicles, this outlet will be concealed behind a panel, which will be easy to remove.
Connect your OBD-II scanner to this computer outlet. Scanners will either come with a diagnostic cable that will fit the outlet, or the scanner itself will directly fit into this outlet.
Climb into the driver's seat and set the OBD-II scanner onto your lap. Place your ignition key into the BMW and switch to the "On" position. Some OBD-II devices may also need you to crank and run the engine.
Wait a few seconds for your device to retrieve codes from the BMW's PCM. You may be using a scanner that is not set for automatic code retrieval. In that case, consult your device's manual for the precise procedure and key in the command yourself. Button layout differs by brand of OBD-II scanner, and so the instructions will not be the same for all devices.
Read through the alphanumeric codes on your device's display. Ignore everything do not start with "P," since you are looking for potential engine issues. The "P" stands for "power train," and those codes cover malfunctions in the engine and the fuelling system. Copy the codes onto a separate piece of paper, if your OBD-II scanner was not manufactured with USB-to-PC connectivity.
Find the meaning for each P-code you have written down. Your scanner's manual should have definitions for all the generic universal to OBD-II compliant vehicles. If you own a lower end, generalised code reader, your manual may only cover general device operations. OBD-II coding definitions are easily found online. Also, you will need to locate BMW's special set of diagnostic codes online. Your BMW's manual will neither have these codes nor the generic ones. Make a list of all the potential problems that will need to be investigated.
Make a decision, based on the definitions you found in Step 6. You can either drive the car to a mechanic for repairs or attempt a DIY fix yourself. If you decide to continue to troubleshoot the problems yourself, open the BMW's bonnet. Investigate not only the problem central to each specific OBD-II trouble code, but the system surrounding it. For example, P0400 deals with "flow malfunctions" withing Exhaust Gas Recirculation system. Troubleshoot not only the EGR valve, but the EGR system as a whole.