When you replace the engine control module (ECM) or the digital motor electronics (DME) in a 2006 BMW E90 with a used unit, it is necessary to program and code it to match your vehicle. The reason is that the ECM/DME contains specific information about your car, such as the vehicle identification number (VIN), immobilizer data, and other configuration settings. Simply swapping in a used ECM/DME from another car without programming could cause a variety of issues, such as a non-start condition, incorrect functionality, or error codes. It is essential to have the used ECM/DME programmed to your car's specific settings to ensure proper operation. To program and code the used ECM/DME, you will need specialized software and equipment, such as BMW's ISTA software or an equivalent aftermarket solution. If you're not comfortable doing this yourself, you can take your vehicle to a qualified BMW specialist or a dealership to have the process completed.