Application Name: Bluetooth GPS Provider
Description: Replaces internal GPS coordinate signal with one from an external Bluetooth GPS receiver.
Publisher’s website: mobile-j.de
Version/date reviewed: v. 1.2.5c / 10-20-10
Phone/OS: Droid X / Android 2.2
Note: Before using this app, you will need to pair your external Bluetooth GPS with your Android phone, and enable “mock locations”; see the Appendix at the bottom of this post for more info.
This used to be a paid app, but now it’s completely free.
Figure 1: The first time you start up the program, you need to choose the Bluetooth GPS receiver you want to connect to. Unlike Bluetooth GPS Mouse, which require you to choose the GPS receiver every time, Bluetooth GPS Provider remembers your choice the next time. If you want to switch to a different Bluetooth GPS, you’ll have that option in the Preferences section.
Figure 2: Here, I’d choose my Holux Bluetooth GPS…
Figure 3: … and then press “Start” to connect to the Bluetooth GPS unit. Unlike other apps, which could require multiple “Start” attempts, this app worked after only one press – very nice!
Figure 4: After a successful connection, a satellite status screen shows up, as well as a program icon in the status bar. I wasn’t happy with this satellite status indicator; it didn’t seem to show every satellite available, and the satellite number at the bottom of the signal bar sometimes corresponded to non-existent GPS satellites (e.g. I saw satellites #38 and #41 listed, neither of which are real). Finally, there didn’t appear to be any indicator for the WAAS satellite, which is a significant drawback. WAAS is a major justification for the use of an external Bluetooth GPS, since most Android phones have no WAAS capability with their internal GPS.
Figure 5: The Preferences screen offers basic control of the selected GPS receiver, whether it overrides the built-in unit, and other options. Unique to this app, though, is the ability to access special features in some GPS chipsets. If you select GPS Type …
Figure 6: You can select between units that use the SiRF chipset or MTK chipset to access special features for those; if your Bluetooth GPS has a different chipset, you’d choose Other. I didn’t have a SiRF unit to test; my Holux M-1000 has an MTK chipset, so I could select that and enable several additional settings in Preferences….
Figure 7: … like the ones here at the bottom.
Figure 8: The default position update rate for most GPS units, including MTK models, is 1 Hz (once per second); however, the MTK unit lets you set a slower update rate (not available here), or a faster speed, up to 5 times per second (5 Hz). Not clear that this will be that useful, as most of the GPS apps I tried only updated the position once a second. Perhaps future apps will be able to take advantage of this faster update rate, potentially useful if you’re traveling at a high speed.
Figure 9: DGPS Mode lets you set the differential GPS correction mode. WAAS (EGNOS in Europe) is standard with MTK chipsets, and I was surprised to see that it wasn’t selected as the default here (nothing was chosen the first time I opened this); you can poll the receiver’s status to find out what mode it’s in. RTCM is a ground-station-based correction system which isn’t in common use, and is slated to be shut down soon in the US (if it isn’t already).
I can’t think of any good reason to turn DGPS off, as using it improves average accuracy. When I tried turning it off, the position shifted about 5 meters away from the actual position; that’s just one snapshot, but it’s suggestive. WAAS will become more critical in improving accuracy as the sun becomes more active over the next few years.
Figure 10: SBAS (Satellite-Based Augmentation Service) is synonymous with WAAS/EGNOS; this lets you turn that option on/off in your MTK unit
As with the previous two similar apps reviewed, Bluetooth GPS Provider seemed to work fine with every GPS app I tried it with. No conflicts with the built-in GPS receiver, even when it was enabled. The app author does indicate that some apps like Wikitude don’t currently work with it, but is working on making it compatible with every app that uses GPS position information.
One case where Google Maps couldn’t pick up the location data, followed by force-close and several error messages. Restarting the app seemed to fix the problem.
This was the app that did the best job of establishing a Bluetooth connection, and had the most advanced options. Apart from one minor glitch that resolved itself fairly quickly, it worked perfectly. The only downside is a quirky satellite display, and no WAAS satellite indicator. If those were fixed, this would easily be my first choice among all the available apps of this type.
Appendix: Setting up an external Bluetooth GPS for use with your Android unit.
Here are some inexpensive external Bluetooth GPS units; a search on Amazon.com or eBay will bring up many more:
After you’ve bought the unit, charged it up and turned it on:
1. Go to Settings => Wireless & networks, and make sure Bluetooth is turned on.
2. Go to the “Bluetooth settings” section, and have your Android unit scan for new Bluetooth devices.
3. After it finds your Bluetooth GPS, it may ask you to enter a four-digit security code; for GPS units, if no code is included with your unit, “0000” usually works.
4. Your Android unit will now be “paired” with this Bluetooth GPS device; any apps that support Bluetooth GPS will have this device listed as an option. Unless you remove this pairing, you only need to do this once.
5. To use a Bluetooth GPS with apps that don’t support it natively, you’ll need either the app reviewed here, or one that performs a similar function. You will also need to enable “mock locations”: Settings => Applications => Development => check the “Allow mock locations” box.
6. DON’T DISABLE THE BUILT-IN GPS ON YOUR ANDROID. Some apps (e.g. Google Maps, Bing Maps) won’t work with external Bluetooth unless you have the built-in GPS enabled, even if they don’t actually use the built-in GPS for positions.