Adapter speed and filters

There are 2 main categories of Bluetooth OBD adapters that work with scan my tesla:

  • ELM327-based adapters

  • STN1110-based adapters

ELM327 are your standard cheap adapters. They do a great job on older ICE cars, but in the Tesla they can't swallow all the data the car gives. They mostly work acceptably well with scan my tesla, but my biggest problem with them is that the more rare packets from the car drown in faster packets, and the app will never recieve them. One such packet is the Battery Odometer packet, which I need for the Trips functions to work. I have done some workarounds for the Trips to work with ELM327-adapters, the compromize is that the AC/DC charge packets in trip tabs will not update 'live', but only once when you switch tabs. You can paste other packets into a Trip tab, but the result will most likely be that the Trip distance value will stop updating (except when you switch tabs).

STN1110 are more expensive, the only ones I know are the OBDLink® MX Bluetooth and OBDLink LX Bluetooth - and it's a highly reccommended adapter, especially if you want fast and detailed logs, or wide logs (for instance logging ALL items). I also notice that the OBDLink MX never gives any corrupted values, which the ELM327 adapters sometimes do - although I have greatly reduced those errors with aggressive 'spam' filters in the app, that have matured over the later versions.

As for on-screen responsiveness, there is a huge difference between these two. OBDLink MX makes the app look as smooth as the Tesla instrument panel, while an ELM327 adapter looks a bit more jagged.

With a OBDLink MX you don't need to worry about how many packets you log, it will log all packets that scan my tesla can decode, recording all packets as fast as the car sends them, until your phone is full (or stutters). STN1110 filters work so that the app tells the adapter which packets it wants, and all others are filtered out in the adapter hardware, never bothering the app.

With an ELM327 adapter, the filters are bitmask based. This means that with one or a few packets it will be able to filter out most unwanted packets, but when you start getting into a page full of different packets, the filters are no longer working and the adapter is overwhelmed with the entire Tesla canbus, and the app does the job of skipping the ones it doesn't know or want. The ELM327 adapters starts missing packets, and the app never recieves some of them.

With an ELM327 you need to pick which packets you need to log, if you want a speedy log. When you click a value twice in a tab, it will select all the values in that same packet. If you delete all those, that means you freed up a bit of the filter, because they all come from the same canbus packet id. If you delete only one of them, that doesn't help you at all, because the other values from the same packet id will still take up the bit in the filter, and your speed will not improve.

See the video below from youtube channel Dyno Mode to see visually the difference between an OBDLINK (STN1110 chip on the left) and a regular ELM327 (on the right):