For BMW, the best value is getting the cable/DIS/INPA/TIS bundle off eBay. There are a couple of Romanian sellers with sizable following. $35 or so. Reads and codes everything if you do your homework. Works on MINI's, but not useful for other makes outside the BMW group.
This is one:
BMW USB OBD Diagnostic Cable Inpa Ediabas Ncsexpert Dis V57 SSS V32 Progman GT1 | eBay