https://f48.bimmerpost.com/forums/sh....php?t=1425538 << Bimmercode thread (you don't need a cable but an OBD wifi adapter and connect via iPhone)
https://f48.bimmerpost.com/forums/sh....php?t=1222484 << E-sys coding thread. I recommend reading through it all, it'll tell you everything you need to know.
I ended up getting bimmercode and the wifi adapter so can't really advise on the best cable, but check the esys thread and post there - the guys are super helpful if you get stuck