Every OBD2 scanner can read a P0420. That’s the easy part — it’s a standardized code, and every scan tool on the market handles it. The harder problem is the code your dealer reads that you can’t: the BMW-specific fault that shows up as U111300 in Rheingold, or the Toyota-specific code Toyota’s TECHSTREAM pulls that a $25 ELM327 adapter reports as “no faults found.” Manufacturer-specific codes live in a separate address space that most generic tools don’t even attempt to query.
Key takeaways
- Generic OBD2 covers mode $01-$09 (emissions-related systems only) — manufacturer codes live in enhanced PIDs and proprietary address ranges
- ELM327 clones vary wildly in quality; budget chips often miss manufacturer-specific frames entirely due to timing issues
- FORScan is the closest thing to Ford/Lincoln dealer-level access available to consumers — it’s free and genuinely excellent
- BimmerLink and Carly offer BMW-specific coverage but with meaningfully different feature sets and price models
- Car Scanner ELM OBD2 has the most practical enhanced PID database for multi-brand households
Why generic scanners stop short
The OBD2 standard — SAE J1979, ISO 15031, EOBD — specifies a set of “modes” that every compliant vehicle must support. Mode $01 gives you live sensor data. Mode $03 retrieves stored DTCs. Mode $09 returns VIN. These cover the emissions-critical systems because that’s what the standard was designed to enforce.
What it doesn’t mandate is anything outside those systems. Transmission health, ABS module faults, individual HVAC actuator positions, lane-keep assist calibration status — all of that lives in proprietary memory addresses that manufacturers expose (or don’t) at their own discretion. A generic scanner sends a request to the standard emissions management address. The car responds. Everything else is invisible.
The better apps close this gap using three methods: hard-coded manufacturer PID databases, CAN bus frame sniffing with brand-specific protocol implementations, and (for a few brands) community-contributed enhanced PID libraries. The hardware matters too, because some of this requires tighter timing tolerances than cheap ELM327 chips can meet.
Hardware first: ELM327 vs OBDLink vs brand-specific adapters
Not all OBD2 adapters are equal, and the gap is wider for manufacturer-specific access than for generic codes.
Cheap ELM327 clones (under $15): These work fine for Mode $01-$09. For manufacturer-specific access, it’s hit or miss. The ATST (timing) and ATJE (CAN extended address) commands that some apps use to reach enhanced modules often fail silently on clone chips. Version numbers are frequently spoofed — a “v2.1” clone may actually run firmware from a decade ago with known bugs.
OBDLink MX+ and LX: Scantool.net’s hardware is what I’d actually recommend if you want reliable manufacturer-specific access. The MX+ supports both Bluetooth Classic and BLE, implements ST1 proprietary commands that Car Scanner and OBD Fusion use for enhanced mode, and handles J1850 PWM (older Fords) correctly. The LX is the wired USB version — useful if you’re running FORScan on a laptop.
Brand-specific adapters: For BMW work, Bimmercode/BimmerLink sells their own adapter. For Ford via FORScan, any OBDLink or the official FORScan adapter works. Carly sells their own hardware too, bundled with their subscription. None of these are strictly required, but the official hardware removes variables from the troubleshooting chain.
FORScan: the Ford exception
FORScan deserves its own section because it’s genuinely in a different category from everything else on this list. It’s free (Windows desktop + iOS/Android with a subscription for advanced features), it covers Ford, Lincoln, and Mazda vehicles, and it accesses the same modules and performs many of the same configuration operations that dealer-level IDS does.
You can read codes from ABS, BCM, APIM (the SYNC module), HVAC, PSCM (power steering), transmission — all of it. You can clear codes from individual modules, run actuator tests on cooling fans and injectors, and do PATS (passive anti-theft) programming without paying dealer rates. The Mazda coverage is a bonus that most people don’t know about.
The limitation is platform: the full-featured version runs on Windows. The mobile apps cover code reading and some live data but not the full service function set. If you own a Ford from roughly 2010 onward, FORScan on a used laptop with an OBDLink LX is the most cost-effective diagnostic setup available outside of a professional shop.
BimmerLink and Carly for BMW
BMW’s diagnostic ecosystem is more fragmented because the platform is more complex. F-series and G-series BMWs use ENET/DOIP (Ethernet-based diagnostics) alongside OBD2, which means actual dealer-level access (via ISTA+/Rheingold) requires either a proper ENET cable to the OBD port or a pass-through adapter. But for code reading and live data, BimmerLink gets you further than anything generic.
BimmerLink reads faults from all BMW modules — engine, transmission, ABS, DSC, EMF, airbag, chassis electronics — and supports live PID monitoring with meaningful decoded values rather than raw hex. It also does guided tests for components like the DSC module. One-time purchase, no subscription. The companion app Bimmercode handles coding (module parameter changes) for a separate fee.
Carly overlaps with BimmerLink on diagnostics but adds a “Used Car Check” feature that audits for manipulated mileage and hidden faults — which is either a compelling used car inspection tool or marketing fluff depending on your expectations. Carly runs on a subscription model, which makes it expensive if you only need it occasionally. The feature set is wide but the depth on any individual function tends to be shallower than a dedicated tool.
For occasional BMW code checking, BimmerLink is the cleaner choice. For someone who flips BMWs or inspects used ones regularly, Carly’s broader scanning scope might justify the cost.
Car Scanner ELM OBD2: the multi-brand workhorse
If your household has a Toyota, a VW, and something American, Car Scanner is the most practical general-purpose option. It ships with a community-contributed database of manufacturer-specific PIDs that covers Toyota, Honda, VAG (VW/Audi/Seat/Skoda), Hyundai/Kia, GM, and more. You select your car profile, it loads the appropriate extended PID set, and you get module-specific fault codes and live parameters that a generic app would miss entirely.
Toyota-specific codes (prefixed C, B, U for chassis/body/network) show up correctly. VAG extended codes accessible via the manufacturer address appear in the list. For most non-exotic use cases — understanding a fault that a generic scanner can’t identify — Car Scanner closes the gap without requiring brand-specific hardware or software.
It’s free on Android, with a one-time purchase for additional features on iOS. Works best with OBDLink hardware but functional with better-quality ELM327 adapters.
OBD Fusion: the data nerd’s choice
OBD Fusion doesn’t have the brand-specific module depth of FORScan or BimmerLink, but it has excellent live data logging, export capabilities, and the cleanest implementation of extended PID profiles of any cross-platform app. If your goal is capturing sensor data over time — monitoring a Toyota V6 for VVT irregularities, logging boost pressure on a turbocharged VW — OBD Fusion is worth the $10.
It also supports the OBDLink ST commands for enhanced manufacturer access on compatible hardware, which means it reads further into the system than it appears to on paper.
Bottom line
For most people, the answer is layered: start with Car Scanner and an OBDLink MX+ for general multi-brand coverage. If you have a Ford, add FORScan on Windows for serious module access. If you have a BMW, BimmerLink is the tool. None of this replaces dealer access for complex cases — ISTA+, Techstream, and ODIS are still doing things these apps can’t — but for understanding what the car is actually telling you before or instead of a dealer visit, these tools have gotten remarkably good.
The hardware investment in a quality adapter is the move that pays off. A $12 Aliexpress ELM327 clone will frustrate you. An OBDLink adapter won’t.