Key programming into FEM / BDC is divided into several stages
1 Preparation of FEM / BDC thru OBD
2 Preparation of FEM / BDC using programmer (Reading BACKUP)
3 Programming FEM / BDC with BMW-Explorer via OBD
4 Write back BACKUP with the programmer
5 Key programming thru OBD

Paragraph 1:
It is necessary to perform a quick test , go to the FEM / BDC and click the “Key learning” button,
The program will check for a supported version of the unit, prepare the unit for the next procedure, and will display the message “Read Eeprom and upload in calc“.

Paragraph 2:
Remove the FEM / BDC unit as described HERE. Disassemble the FEM / BDC unit as described in THIS SECTION.
Read 95128/95256 Eeprom (pictured in the upper right corner) using programmer
(Orange Xprog or others that supports Eeprom 95128/95256).
Download Eeprom into BMW-Explorer, and save EEprom and write it back into the FEM / BDC.

Paragraph 3:
Install the unit on the car in the reverse order of removal, and connect BMW-Explorer via OBD.
The car probably will not respond to the key, do not get scared!
Connect to FEM, press “Reset mileage”, Explorer will propose to program the FEM / BDC, agree and wait for the programming to finish.
After successful programming, the program will write to you “Return the saved original Eeprom”, then remove FEM again and using programmer, return the previously read contents of EEprom 95128/95256. Then you can install the unit back to the car.

Sometimes it is possible that after the last manipulation the FEM / BDC will stop responding to the diagnostics, then you need to flash this EEprom into the unit and program the unit with Esys or ISTA-P and start the unit preparation from step 1.
P.S: Follow the instructions and save your time.

Paragraph 4:
Connect to the FEM / BDC control unit using the BMW-explorer, press “Extra options” then “Key learning”. Key programming window will open and will read the key data we need for programming.
If you have a working key, then you need to bring it to the emergency coil as pictured below and press the “Read crypto key” button.
About successful reading of the “Crypto” BMW-Explorer show “Crypto Ok” message.
If you do not have a working key, then you need to read the ISN from the DME and enter it into the “ISN from DME” window.
You can also enter 8 bytes of the “crypto” manually.
Now you can start to learn keys. To do this we must select a free track for the key and press “Learn key”, bring a new key to the emergency coil on the steering column.