Application Name: Bluetooth GPS Provider

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

Publisher’s website: Bluetooth GPS For Android

Cost: Free

Version/date reviewed: v.1.0  /  9-26-10

Phone/OS: Droid X / Android 2.2

This app is not currently available in the Android Market; you will need to download it from the website link above, transfer it over to your Android device, then install it by “sideloading” it. You will also need to enable installation of stand-along Android apk files in the settings section (Settings => Applications => Check the “Unknown sources” box). Some cellular providers do not allow you to do this.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.

Bluetooth GPS For Android is the only free app (so far) that will let you use an external Bluetooth GPS with your Android unit. It’s also the only one currently available outside the Android Market; that means you can load it onto units like the upcoming Archos Android tablets that have Bluetooth, but no GPS and no Android Market support. For now, “free” also means a limited feature set.

The current release version is 1.1, but I had serious problems getting it to work correctly. The previous version (1.0) seems to work fine, so if 1.1 or a later version doesn’t work for you, try downloading 1.0 from the Downloads section of the website (click on the “Apk” link to list all available versions).


Figure 1: The app is called “BlueGPS” on your Android, and has a standard Droid icon; start it up and get the basic screen above. You should already have turned on your unit’s Bluetooth, and paired your Bluetooth GPS receiver with your Android (see the Appendix below for more info. Tap on “Choose Bluetooth GPS” …


Figure 2: … and get a list of all the paired Bluetooth devices for your phone, including those that aren’t GPS receivers. Here, I’m paired with my desktop computer (INSPIRON), and my Bluetooth headset (WEP870) in addition to my GPS receiver (HOLUX_M-1000). Tap on a paired device to select i


Figure 3: To start up the Bluetooth GPS service, tap on the Start/Stop GPS checkbox, and wait. You’ll get a message at the bottom saying “Bluetooth GPS … started”, and the checkbox will turn green. However, the first attempt won’t always be successful; if that happens, the checkbox will become unchecked, and you’ll see “Bluetooth GPS .. stopped”, as in the screenshot at left. It can take a few tries to establish a successful connection; I think this is an Android issue and not an app issue, as I’ve had problems with making Bluetooth connections with other devices as well.

In version 1.1, the checkbox always stays green, even if no Bluetooth connection is established – that’s why I went back to version 1.0.


Figure 4: Here, a successful Bluetooth GPS connection has been made. Notice the Android icon in the status bar at top; that will stay there as long as the service is active, and can be use to access this settings page at any time.

There are apparently options to log the raw NMEA data from the GPS to a text file, which could be used to store track data. I prefer other apps for this purpose, so I didn’t test that out.


Figure 5: Here’s a test of the Bluetooth GPS in action, using the free app GPS Status. You can see that there’s  position/altitude data visible at the bottom, even though no satellites are shown in the sky view at top.

Every app I tested this Bluetooth GPS app with worked perfectly, including Google Maps and Bing Maps. Bing Maps was especially impressive, as I could walk from one end of my house to the other and see my position track exactly; my Android’s built-in GPS couldn’t follow my movement inside my house the same way.

Other Issues: Nothing major.

  • One force-close that never repeated
  • You have to make sure to turn on your Bluetooth first; the app won’t prompt you if it’s off
  • You also need to remember to turn off the service when you’re done, otherwise any apps looking for GPS data will always look for the Bluetooth GPS instead of the built-in GPS.
  • No readout of satellite status (number of satellites available, accuracy)

Final thoughts:

Apart from the problems with the latest version, which I assume will be fixed soon, the app does seem to work fine. It’s currently a little thin on features, and the two paid apps I’ll be reviewing next have some really useful features for not a lot of extra cash. But if you absolutely need a free app, this one works perfectly fine.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *