OBDLink MX+: Android vs iOS performance

Help on issues you run into with LapTimer; in case you have a question on how to use LapTimer, use the forum "Using LapTimer" instead
Post Reply
Yannyy
Fewer than 10 Posts
Fewer than 10 Posts
Posts: 2
Joined: Tue Mar 01, 2022 4:44 pm

OBDLink MX+: Android vs iOS performance

Post by Yannyy »

Hey there,

After using Harry's over the last 6 months, I started getting more interested in exporting OBD data from my car ('21 M2 Comp). I've been primarily using Harry's GP on iOS (iPhone 13) with XGPS160 and OBDLink MX+. After a few track sessions I've noticed OBD data going to 0 (when looking at the CSV's), not showing or barely refreshing.

I wanted to share some investigation as well as see if anyone else has encountered this issue with a possible fix for iOS. I've performed my testing using 3 devices:

1. Iphone 13 using Harry's GP realtime Engine analytics
2. iPhone XR using Harry's GP realtime Engine analytics
3. Android Samsung Galaxy A10e using Harry's OBD Buddy (Engine)

All devices have latest updates (iOS 15.3.1 and Android 11). All tests have been performed after resetting the OBDLink entirely (15s button press).

Results:
1. iPhone 13
With CarPlay enabled, this is almost unusable. 0-1hz at most. This is known reading the forums, but I had it enabled in the background on some track sessions by accident.
Without CarPlay, I get about 2hz consistently spiking at 5hz. Updates seem very "batched", i.e. all of the 2-5 data points that may come in second, seem to come all at once.

Note that this device has an Apple Watch also connected via bluetooth.

2. iPhone XR
Using this device to rule out phone, it's pretty vanilla without any Bluetooth devices connected other than the OBDLink.
Performance is a bit better, on average I'd guess ~4hz with 2hz lows and 6-7hz peaks.

3. Android
Now this is why I'm surprised. This device is also pretty vanilla, no other bluetooth devices. I'm getting consistent 11hz with OBD buddy.


I'm definitely considered buying the full version of Harry's on Android now, but I'd still be interested to understand how Android can get 2-3 times more datapoints compared to iOS devices.

Small side note, I've done the same test with the XGPS160 and all devices are a solid 10hz no matter the circumstances. So what could it be? Bluetooth RF power, knowing the OBD dongle isn't in clear sight under the steering wheel? Software/bluetooth stack?

Thank you for reading and keen to hear from others.

PS: The OBD disconnects were resolved after resetting OBDLink the first time. I've been testing them by driving around ~30mins+ and it seems to be good for all devices.
User avatar
Harry
Site Admin
Site Admin
Posts: 10516
Joined: Sun Sep 12, 2010 10:32 am
Location: Siegum, Germany
Contact:

Re: OBDLink MX+: Android vs iOS performance

Post by Harry »

Hello,

Actually there is a big difference in LapTimer ‣ MX+ communication when using iOS and Android. OBDLink has certified the MX+ with Apple's Mfi program. This is an invest most current OBD adapter manufacturers work around nowadays. While the overall convenience and security should be better with Mfi devices, it comes at an investment cost for the manufacturer, and an important technical difference:

When connecting an Mfi BT SPP device to an iPhone, communication is handles by Apple's EAAccessory framework. LapTimer accesses the MX+ using this framework. While BT SPP has far more bandwidth than any current sensor requires, it seems it is crippled by EAAccessories a lot. We have seen a similar effect for Garmin's GLO GPS. It delivers 10 Hz in general, but falls to 4 Hz when connected to iOS using Mfi.

Opposed to that, LapTimer access BT SPP directly on Android. In this configuration, the car's bus is becoming the bottle neck, the LapTimer / adapter communication is far faster. For Mfi, the LapTimer / Mfi / adapter communication is becoming the bottle neck.

Our tests of the MX+ have shown rates around 6 Hz (which means roughly 24 parameters per second) using an iPhone. This is about the same, or slightly worse than current BT Low Energy adapters.

You may have seen that OBDLink has released an adapter named CX now. It is a BT LE adapter and doesn't need Mfi any more. LapTimer supports it too.

To get the best possible performance for your MX+, please do not use any other BT device in parallel. Disable at least CarPlay and your watch.

As a direct access to BT SPP devices is not possible for LapTimer on iOS, we can't change this.

- Harry
Image Image Image Image
Yannyy
Fewer than 10 Posts
Fewer than 10 Posts
Posts: 2
Joined: Tue Mar 01, 2022 4:44 pm

Re: OBDLink MX+: Android vs iOS performance

Post by Yannyy »

No worries, thank you very much for the detailed response!

I wasn't aware iOS's framework limitation regarding this. Off I go get the Android version then :)
Post Reply