This is for those are researching what he should buy for his BMW.
The option is narrowed on BMW ICOM cable + Rheingold and Carly Pro for BMW + Carly gen2 adapter.
Carly can run diagnostics and code.
It can be installed only on tablets and phones. For what it does wireless connection is sufficient.
Inpa from BMW standard tools can only run diagnostics.
It can’t code functions. I personally prefer ista-d.
Ncsexpert from BMW standard tools can only code functions.
It can’t run diagnostics. With Ncs dummy companion is very easy tool and error proof.
Ista-d aka rheingold can only run diagnostics and is full repair manual for all bmw group vehicles.
It requires connection only for diagnostics. You can look up the manual without connecting to the car.
Ista-p is THE Programming Tool.
It requires icom connection to run properly. Also requires battery maintainer. It can render the car inoperable if things with power go wrong. Never tried it personally.
For a code reader, it really depends on the what your looking for.
Carly is a great tool for diagnostics and coding.
Some of the cons of Carly are: takes a while to complete diagnostics on car, at least on the android system I use. Carly cannot do extensive coding, for instance it cannot code out tpms, edc, adaptive headlights etc.
If you want an extensive coding program and diagnostics tool get NCS Expert and Inpa. You can find the software free online.