Hi!
As part of the project I am working on I am dealing with a few different car modules - mostly kombi/instrument cluster and iDrive systems - but never the whole car. Problem is that those modules are currently coded as they were and that doesn't necessarily work for my use case or I just want to enable/disable some feature.

So I currently have the following things that I want to code:
E60 instrument cluster, idrive
E65 instrument cluster, idrive, phone module, ...
F10 instrument cluster
F30 iDrive

So, what is the minimum that I need in order to code these? I know that for VAG modules you pretty much need just a gateway module from any similar platform car to serve as a diagnostic bridge and then a cheap VCDS clone from aliexpress.

So, what do I need in order to code stuff on the BMW side? What module is required for that (and does it need to match the car from where modules that I am trying to code came from)? And what cable/interface do I need for my computer?