Existen varias opciones. La más sencilla de utilizar para bmw es para móvil. Carly for bmw.
Es una app muy completa que además de diagnóstico puede realizar coding para personalizar tu coche.
Si lo que quieres es algo más profesional, ya tendrías que ir a por un programa de pc, con el que tendrás todo lo bueno de lo profesional pero tendrás que aprender a manejar con paciencia. Suelen ser bastante complejos aunque mucho más específicos.
Desde Xiaomi

MI4 LTE •• Código. *FKNDCF*
Carly for bmw -5€ en adaptador.