This article provides some general guidance and advise on connection technologies used by sensorial accessories like GPS, OBD, and video. The article covers both the iOS and Android platforms. Please note this can get a rather complicated topic with many exceptions and caveats. This is the reason, I will start with a simple description and go into the details later. Problems connecting to external accessories are frequent and can be quite cumbersome - this article is to provide some help to you!
In case you are not too interested in the story behind, please visit our two compatibility pages listed below. However, in case you want to connect more than one accessory at a time, reading the details below is almost mandatory
Overview and Pros/Cons:
Wired / Plugged-in: the most obvious connection technology is using some cables / plugs to connect smartphone and accessory directly; wired connections are the most reliable and fastest connection technologies - but rarely used nowadays; the connection is mostly some serial protocol like that used in the USB standard; any wired connection made to an iOS device needs to be certified by Apple (Mfi = Made for iPhone program) and use either the outdated 30pin adapter introduced years ago for iPods and the recent, convenient, and expensive Lightning adapter. Android devices utilize the USB standard (including plugs) which can be accessed by any app that is prepared to do. Another advantage of wired connections is that it is possible to charge both the accessory and the smartphone using one cable. An example for this configuration is any iPhone up to the 4S and the Emprum Ultimate GPS. It is plugged into the 30pin port and provides an USB port to charge both the accessory (as far as necessary) and the iPhone. Disadvantages are wired connections are one to one connections and effectively limit connections to one accessory (assuming you do not want to run around with some kind of hub). As most recent GPS and OBD accessories are not wired, I will not go into more details here.
- Pros/Cons: fast, reliable, adds cables to your car, combined charging / connection, plug compatibility, limited availability, one connection only
- Pros/Cons: configuration required, versatile and open, limited for Android, energy consumption, not reliable (wifi conflicts), one connection only
- Pros/Cons: pairing required, convenient to use, not reliable (stack, conflicts), multiply, parallel connections, restricted to Mfi on iOS
Bridging Sensors to Harry's LapTimer:
Connecting an accessory to your smartphone makes it available to the platform, not necessarily an individual app. There are two types of bridging an accessory connection to Harry's LapTimer: either the accessory's services are made available to any app by the operating system, or Harry's LapTimer connects to the accessory directly. Connecting an accessory directly is usually the preferred type as it allows specific support of features and often results in higher reliability and predictability; on the other hand, it is an additional effort I need to take and requires some some investment.
Mfi (made for iPhone) has been named several times above - mostly as a restriction. But this is certainly not the whole story: firstly, certification is a type of quality assurance and chances are good iOS and the accessory will be well integrated; furthermore, Mfi bridges accessories to standard OS services, namely the Location Service: once you connect a Mfi GPS accessory to the device, the internal GPS will be turned off and any location information requested by any app will be sourced from the external (better) GPS. Opposed to this, one needs to add some helper apps on Android. This helper apps connect to the accessory (e.g. an arbitrary NMEA0183 GPS) and feed the information into Android location stack. Disadvantages are many: LapTimer relies on another app, the user is forced to configure another app and even enable some developer options (Allow mock locations), and some information is filtered and not available for LapTimer any more. The good news is LapTimer comes with direct integration for GPS accessories on Android as well as for several high end GPSes on iOS. So what are the take aways?
- Android: to install direct integration for OBD and GPS accessories on Android, follow the step-by-step description in the bottom of the Android Compatibility Guide on Harry's LapTimer; important: turn off helper apps you may have installed on your smartphone as they may conflict with LapTimer's access to the accessory!
iOS: bridging will work automatically; accessories supporting direct integration will show up in LapTimer's Sensor List and provide extra features; Mfi accessories not supported directly may get available through Mfi services. For the details, please check iOS Compatibility Guide on Harry's LapTimer.
Details and Caveats:
Starting with Wi-Fi accessories, there are several things that can make life difficult: the limitation to one connection to a Wi-Fi end point at a time does not allow the combination of e.g. a HERO3 and an OBD Wi-Fi dongle requiring its own network setup. So the take away here is you need to plan your accessories from the beginning and Bluetooth / wired connections should be preferred if possible.
- Exception: the OBDLink MX Wi-Fi allows joining an existing network - like the one created by the GoPro. This is better than nothing, but keep in mind it is complicated: e.g. you need to switch configuration - if the HERO runs out of battery...
Another issue - common to both Bluetooth and Wi-Fi are multiple smartphones connecting to the same accessory. Most Bluetooth accessories and all ad hoc Wi-Fi dongles will be able to connect to one smartphone at a time. In case you are like me and use lots of devices - chances are good a connection issues is due to some other network participant disturbing a connection. So the take away here is to turn off any wireless service as long as you do not use it... This item by the way is the most frequent issue I personally run into.
- Exception: Dual's XGPS160 can provide data to several smartphones at a time. Although this is not recommended either as it uses up double the bandwidth, you at least will see there are multiple connections using connection LEDs on the top of the device.
This by the way is the reason you may see LapTimer not connecting to a second Bluetooth accessory on Android: once you have e.g. a Bluetooth GPS connected and drive, LapTimer will not search for an OBD BT dongle. This is simply to not create drop outs. To connect two Bluetooth devices at a time - establish the connections while in the pits - standing still (0 km/h or mph).
A lot of text again, but I hope it helps!