blankblank blank

Android External Bluetooth GPS Apps: Bluetooth GPS Provider

Application Name: Bluetooth GPS Provider

Description: Replaces internal GPS coordinate signal with one from an external Bluetooth GPS receiver.

Publisher’s website:

Cost: Free

Version/date reviewed: v. 1.2.5c  /  10-20-10

Phone/OS: Droid X / Android 2.2


Android Market link (mobile app only)
Android Market link (browser)

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.

Other Issues:

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.

Final thoughts:

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.

A link to my original post on the advantages of using an external Bluetooth GPS receiver instead of your Android’s built-in GPS.

Here are some inexpensive external Bluetooth GPS units; a search on 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.

Looking for something else? Enter some keywords below, then click "Search".    

5 Responses to “Android External Bluetooth GPS Apps: Bluetooth GPS Provider”

  1. 1 Carl Kennedy

    My rooted (Captivate), 2.2 JI6/xda/froyo is unable to run ( BT GPS Mouse, or BT GPS Provider, or BT GPS-Googoo Android).

    Each case ends in a \force close\ after Pairing and during \Connect\.

    I’m using a well tested and operating external BT GPS receiver. (Delorme, BT-20)

    It will not get past the \connect\ phase. I’ve read your excellent report printed above.

    Any ideas? TIA!


    (Prior to the rom upgrade it work very well with BT GPS Mouse.)

  2. 2 leszekp

    Rooted phones with modified ROMs? Wouldn’t even know where to start. But since your phone is rooted, you might try this:

    If that doesn’t work, you’ll just have to go back to stock 2.1, and wait for the official Froyo update.

  3. 3 Joe

    I have downloaded the .Bar file to my playbook. The playbook is running the latest OS 2 op system. The problem is, that there is no where to enable “Mock Locations.” Is it possible to update the app for Playbook? It is an app that is greatly needed. The internal GPS in the playbook leaves a lot to be desired. Thanks.

  4. 4 Thought

    “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.”

    If they were listed as vehicles 11 and 12 then they are the WAAS/EGNOS satellites. They have weird numbers because they are not part of the navstar constellation but the transmitters are onboard geostationary satellites.

  5. 5 Febs

    Hello, thank you very much for your article that englightened me a bit about some options.
    I am quite surprised, though, that the GPS unit (I have a MTK, too) does not transmit coordinates to the android device *being already corrected via SBAS*. I mean, if the device supports any SBAS (mine does) shouldn’t it do the calculations automatically, *then* send the coordinates via NMEA sentences via bluetooth?
    If it does so (as I expect), what happens if you parse those values using the SBAS setting on the android app?

    No matter which settings I try to experiment with, I always end up getting a “-1” meters accuracy. Does that happens to you, too?