blankblank blank


Archive for the 'Bluetooth' Category

Locus, A GPS Mapping Application – Part I: Interface

Application Name: Locus Free

Description: Display online/offline maps for your position; GPS track/waypoint display and recording; compass; more.

Publisher’s website: Locus

Cost: Free ad-support version; Pro version ($5.50) removes ads, and add some minor additional functionality.

Version/date reviewed: v.0.9.28  /  3-15-11

Phone/OS: Droid X / Android 2.2

locus_qr

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


I’ve reviewed two other apps that convert your Android unit into the functional equivalent of a handheld GPS unit. TrekBuddy I was less than overwhelmed with; OruxMaps I found to be terrific. I’ll spoil the surprise conclusion here, and say that Locus is not only closer to OruxMaps in quality than TrekBuddy, but gives OruxMaps a run for its money in some respects. In this multi-day review, I’ll compare Locus’s functionality to OruxMaps as appropriate. As with OruxMaps, Locus has so many features that I can’t cover them all, even over the next few days; look at the program’s website, and explore the Settings section, for more info on all of its functionality.

Interface:

locus_1

The basic interface for Locus has three toolbars at top, right, and bottom. Unlike OruxMaps, where all toolbars are fully customizable, only the right toolbar in Locus can be modified, and only by checking/unchecking pre-defined options. There are five functions available on the top toolbar. They are:

locus_4

– An “info” icon, which brings up links to “About application”, a simplified basic guide to using the app, an incomplete online manual viewed in your browser, the version history, and a list of additional apps that can invoke Locus as a helper app.

locus_6

– Title bar options: tapping on the title bar lets you choose what’s displayed there. In the picture below, coordinates was selected for display in the title bar. One drawback of Locus compared to OruxMaps is that the number of data fields displayed onscreen with the map is far more limited in Locus.

locus_5

– A GPS icon, which brings up the GPS status screen, with options to turn the GPS and compass on/off to conserve power.

locus_dm

– A data manager, which lets you view tracks/points, import/export data (GPX/KML formats supported), and manage categories. Locus requires you to specify a category label in which to save points and tracks; while I found this annoying at first, I now see the value of forcing you to organize your data by label.

locus_mm

– A map manager, for selecting and managing online/offline maps (more on this later)

 

locus_2

Access the right-toolbar options by the Android Menu button, then selecting “Set right panel”; this screen also gives you several other options, most of which can also be assigned to the right toolbar.

locus_3

The available right-toolbar functions are:

  • Search in POI: This is a saved waypoint search function; there is no general POI database in this app.
  • Move Map: Instantly move the display to an entered address or latitude/longitude.
  • Points: A waypoint list/manager (MOTL, more on this later)
  • Track record: Brings up another toolbar for recording tracks (MOTL)
  • Parking (BETA): Record your current parking spot, with options to set an alarm (useful for timed parking meters), and taking a photo of the location:

locus_park

  • Share: Lets you send the current map center coordinates, or a screenshot of the current map display, to email, Facebook, SMS, etc.
  • Add new route: Bit misnamed, as it lets you create a new track in the map display; a “route” is a sequential collection of waypoints, which Locus doesn’t seem to have support for. MOTL
  • Compass: Option to switch to compass view, which includes guide information if you’ve selected a POI/waypoint as your destination:

locus_compass

The compass has a long settling time, so it will take a few seconds for the “needle” to move to the current direction. I’d prefer the option to manually adjust this sensitivity, but it’s not too bad. What is bad is that it shows the magnetic direction, not the true direction, as OruxMaps does. I wish I could mandate that every compass app for Android  either have true direction as the only option, or have it as the default with magnetic direction as an option. For many areas, the two will be similar, but in some areas the difference is substantial; where I live, there’s an eleven-degree difference between true and magnetic directions. Hope this gets fixed in Locus in the near future. Now fixed; there’s a new Sensors menu in the Setting that lets you choose True direction (default) or magnetic, and adjust the sensitivity of the compass.

 

locus_6

The bottom toolbar has five functions. When the first button is active (as above), and the GPS is on, the map will automatically scroll to your current location. If you tap and drag the map to view a different location while this button is active, it will automatically “pop you back” to your current location in a few seconds.

locus_zl

The second button is a zoom lock/unlock button. When it’s off, you can only zoom in to the native resolution of the map image (or double that, if you turn on “Double sized resolution” in Settings => Map). When it’s engaged, as above …

locus_sz

… you can zoom in well past the native resolution; the above picture isn’t even at the full zoom available, since that would just look like a jumble of pixels.

locus_direction

The third button lets you choose a direction option. “Rotate map” will spin the map so that the direction you’re facing, or moving in, is at the top. This mode drives me nuts as it tends to swing around wildly, so I usually leave it off.

locus_fov

“Show view” displays a “field of view” indicator when you’re standing still, as above. When you’re in motion, the view changes to a triangle/arrow that points in the direction you’re currently moving. Since Locus currently uses magnetic directions, this can be a bit off from the true field of view.

This control is also useful for restoring the map to “North at top”. In the default mode, Locus supports advanced multi-touch, which lets you rotate the map view by dragging two fingers on the screen in different directions. This also drives me nuts, as sometimes when I want to only zoom in or out, I wind up rotating the map; using this control pops the map back to a normal orientation. You can turn off advanced multi-touch in the settings section, as I have.

The toolbars are partially transparent, and fairly small, so I usually leave them all turned on. However, the Settings section allows you to set any, or all, of the toolbars to fade away after a few seconds; tap twice on the screen to make them visible again.

One final topic, peripheral to the interface. Like OruxMaps, Locus has the option to use an external Bluetooth GPS receiver to obtain position, in place of the built-in GPS receiver; this can be specified in the settings section. This has some major advantages for both battery life and position accuracy. Unlike OruxMaps, though, I was actually able to get this Bluetooth connection to work in Locus, though it took some effort. Android’s Bluetooth support is a bit flaky, and it can take multiple attempts to achieve a successful connection. If the first Bluetooth connection attempt doesn’t work, and you’ll get an error message to that effect, go to the GPS status page, and turn GPS off and then on again. It may take 3-6 attempts, but eventually you do get a working connection to your Bluetooth GPS receiver. The application can also use Bluetooth GPS via proxy apps like Bluetooth GPS, which replace the built-in GPS receiver position for all apps.

Tomorrow: A look at maps in Locus.




Turn Your Android Into A True Handheld GPS With OruxMaps – Part II: GPS Functionality

Continuing on from Part I yesterday …

GPS Functionality

bluetooth

Figure 1: One feature I was excited to see OruxMaps had was integrated support for an external Bluetooth GPS unit; as I’ve posted about before, this has significant advantages for extending battery life and improving position accuracy. Unfortunately, I was unable to get it to work with my Bluetooth GPS unit; YMMV. The program really needs a special screen to help establish and confirm a good connection with the Bluetooth GPS. Fortunately, the excellent Bluetooth GPS app works fine with OruxMaps, so you can still use your external Bluetooth GPS unit even if OruxMaps built-in Bluetooth functionality doesn’t work. Hopefully, this will be addressed in future versions.

calibration

Figure 2: Online maps can sometimes have positions that are offset from their true positions, by anywhere from tens to hundreds of meters. OruxMaps has a killer built-in calibration function, accessible from the Tweaks menu, that lets you correct for such an offset, improving the accuracy of your position as displayed on the map. You’ll have to reset this every time you start up the app, as it appears to only be good for your current session.

waypoints

Figure 3: To create a waypoint, just tap on the Create waypoint button on a button bar (the pushpin with a “+” next to it). You have the following options for input variables:

  • Waypoint name
  • Waypoint dropdown: lets you choose the waypoint icon from a preset list. No option yet for your own custom icons; I hope this comes eventually.
  • Description
  • Coordinates; default is your current position, but you can enter custom coordinates here (WGS84 datum only)
  • Projection: create a waypoint displaced from your current position by a certain distance and direction
  • Geocoding: supposedly does an online lookup of your current location, and then enters a corresponding geographic name. I couldn’t get this to work.
  • Extensions: lets you associate an already existing photo or video with the waypoint; you can also record an audio note, or enter additional text.

waypoint_list

Figure 4: Saved waypoints are accessible from the map view with Menu => Waypoints. Waypoints displayed in the list can be loaded into the map view with the Menu  => To map option.

Filter

Figure 5: You can filter waypoints by type, distance from your current location (in km or mi., depending on the set unit system), date, or associated tracks. Only the filtered waypoints will then be loaded using the To map option. I do wish there was an option to select a single waypoint, or multiple waypoints, by checking them off on a list.

track

Figure 6: To log a track, tap the Record track button (the icon with multiple green flags and a red record button); to stop recording the track, tap the button again, and it will automatically be saved in the track database with the date and time as the name. You can set the track color and thickness in the Settings section.

tracks_base

Figure 7: You can access the tracks database list with the Menu => Tracks option, which shows when they were created, and their length. As with waypoints, you can filter this list to only display tracks within a certain date range or type. Unlike waypoints, though, you can choose a single track to load. In fact, you have to – one of OruxMap’s biggest drawbacks is that it can display only one track at a time. And if you’re recording a track, you can’t view a previously-saved track at the same time. Hopefully, this will be fixed in the future, so that you can display multiple tracks at the same time (and have them appear in different colors). On the plus side, if you load a track into a map, you can calculate the area enclosed by the track using the Menu => Tools option.

stats

Figure 8: One very cool feature for tracks is the ability to display statistics for that track …

graph

Figure 9: And plot parameters like altitude, speed and slope against either distance or time. If you have a compatible Bluetooth heartbeat monitor, it can plot that as well. Use the coupon code ORUXMAPS to save $5, and get the app’s author some affiliate revenue.

import

Figure 10: Tracks and waypoints can be imported in either the GPX or KML formats. OruxMaps will use the OI File Manager if installed to select the import file, so it doesn’t have to be in a program-specific directory. This makes Dropbox a very convenient way to import data; just drop the files into your computer’s Dropbox folder, download them to your Android unit using the Dropbox app, then use the OI File Manager to navigate to the “dropbox” folder to select them for import. Similarly, lists of waypoints/tracks, or individual tracks, can be exported into either GPX or KML format; in this case, though, the default folder will always be the “tracklogs” subfolder of the main “oruxmaps” folder, and the filename will be automatically generated.

These are just some of the features; a look through all the menus (plus a look on the website’s help manual page) will reveal many more. The app is also actively being developed, and more features are added/modified all the time.

Tomorrow, a more detailed look at using online and offline maps with OruxMaps.




Turn Your Android Into A True Handheld GPS With OruxMaps – Part I: Interface

Application Name: OruxMaps

Description: Provides most of the functionality of a dedicated handheld GPS unit.

Publisher’s website: OruxMaps

Cost: Free (donationware)

Version/date reviewed: v.3.27  /  11-27-10

Phone/OS: Droid X / Android 2.2

om_qr

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


In the very first post on this website, almost four months ago, I argued that Android had the potential to displace dedicated handheld GPS units, like those from Garmin, Magellan, and DeLorme. Thing is, while I’ve posted many times on apps that perform a few of the the functions of a dedicated handheld, I haven’t yet written about a decent app that turns an Android unit into a full replacement for one of those; some come close, but the feature sets tend to be a bit slim. Now that’s going to change – this week will be devoted mostly to a review of Orux Maps, plus a few additional posts about how to take advantage of some of its advanced features.

Orux Maps is the first app I’ve reviewed that turns an Android phone into a serious functional challenger for dedicated GPS units. It’s not perfect, but if you forced me to choose between my current handheld GPS and an Android phone with Orux Maps, I’d pick the latter (but I’m glad I don’t have to choose). I’m not going to even have a “Final thoughts” section with recommendations; if you’re serious about using your Android’s GPS capabilities, this is a must-have app, period. But I will review some of its basic capabilities.

Because OruxMaps has a huge number of features, the review will be broken down into sections. Today, I’ll talk about the interface; tomorrow, external Bluetooth GPS, waypoints and tracks; and the rest of the week will talk about the online and offline map capabilities of the program. Yes, you can use maps on the app with and without an active Internet connection.

Interface

om_interface

Figure 1: Starting up the program brings you to this basic startup page. Browse maps brings up a list of pre-loaded offline maps (more on this later); selecting one of those loads the map, and centers the view on the center of the map. Actual location starts up the GPS, and if an offline map is available for that area, loads it in automatically. Online Maps starts up the map view with the last selected online map type. OruxMaps comes with a preset list of online map sources, including both the usual suspects (Google, Bing, Open Street Map), and some less-common ones (aviation maps, foreign topo maps). According to the website manual, you can add WMS servers to your list of online maps, but I had problems with that.

Settings lets you configure a huge number of options for the interface, units, mapping settings and the like. You can also access settings from the map screen, plus you have quick access to some of the more important settings from any map screen by using the menu button to select the Tweaks option.

om1

Figure 2: Here I’ve have selected Online maps, which defaults to the last online map service used (Bing Maps). The GPS is on, as indicated by the small GPS icon in the upper right part of the map view, as well as the altitude/speed/accuracy data in the dashboard at bottom. If the GPS were off, the dashboard would only show the coordinates for the center of the display and the map zoom level. Clicking on the satellite icon at upper-left turns GPS tracking on and off.

The first thing I tried to do with the program was create a waypoint, but I was stumped initially. There was no menu item for creating waypoints, and the icons at top, from left to right, are:

  • Turn GPS on/off
  • Change GPS acquisition mode (time/distance) to Default defined in settings), Fast (continuous time, 5 meter distance), or Power save (every 30 seconds / 80 meters).
  • Turn track acquisition on/off
  • Zoom map in
  • Zoom map to 100% (one map pixel = one screen pixel)
  • Zoom map out

But no waypoint creation icon – wha?! Turns out, though, that if you tap and drag the icons at top from right to left, additional icons will appear …

om2_interface

Figure 3: These icons are (left to right):

  • Add a waypoint
  • Delete all waypoints and tracks from screen (does not delete them from storage)
  • View track/route waypoints (sometimes individual waypoints as well; this is a bit inconsistent)
  • Follow a route, unload it, or stop all navigation (including waypoints)
  • Go to a point, start of track/route, center of the map, or last GPS position
  • View track statistics (more on this tomorrow)

Three additional icons further off the screen let you select a map layer, go to the settings section, or start up the GPS Status app. OruxMaps doesn’t come with a satellite status/strength screen, but uses the GPS status app to display this info. You’ll need to have that app installed on your Android unit to use this function; if not installed, you’ll be sent to the Android market page for GPS Status to let you install it (it’s free). I’d prefer an integrated view in OruxMaps for this, especially one that displays coordinates in large font (so I won’t need my reading glasses).

A problem with this setup is that you may not need some of the functions defined by the icons, and having to scroll the icons in the button bar to reach one that you actually do use on a regular basis can be a pain. This bothered me until I discovered in Settings => User Interface

button_editor

Figure 4: … that you can customize the button bar to include only the functions you want, and create  up to four of them on-screen, each with its own set of buttons (duplicates if you like). To add a button, just tap on the icon in the center control screen, then tap the arrow button to add it to the corresponding button bar (left, top, bottom, right). You can remove individual buttons from a bar by tapping on them, or press “Reset” to remove all of them from every bar. You’ll need to exit the map screen and then restart it to see the new button configuration.

Elsewhere in the Settings => User Interface section, you’ll find options to set other map screen options, like customizing the GPS dashboard to show additional info, turning the scale on/off, making the butttons larger, etc.

button_map

Figure 5: With multiple button bars and the dashboard, though, much of the map screen will be obscured.

clean_screen

Figure 6: But OruxMaps has additional options in settings that will cause the button bars and/or dashboard to disappear after a few seconds, leaving the map view fully unobscured. You can also turn off the Android status bar at top to free up even more display space for the map. Tapping briefly on the map screen at the position of the button bar or dashboard will make it appear again. I do wish there was the option to have a specific button bar always visible, and others disappear, but for now it’s all of them or none of them.

zoom

Figure 7: Unlike some map apps that only show maps in 1:1 pixel mode, OruxMaps lets you overzoom, making some of the finer details easier to see. For my area, Bing Maps has exceptionally high-quality aerial maps, at least 1-ft. per pixel or better, making it possible to spot very fine details.

point

Figure 8: You should definitely check out the Tweaks section, available from the menu. This is a shortcut to a number of options also available in settings, but easier to access this way. Perhaps my favorite is turning Compass and View Angle on. Compass puts a small compass view at the top, showing which direction is true north (magnetic declination is automatically corrected for), while View Angle shows a small yellow wedge overlay indicating which direction the phone is pointed. You can also set the map display mode so that it rotates either in the direction the phone is pointed, or in the direction you’re moving. Additional tweaks include the option to change the position cursor color, and dim the display for use at night.

That’s it for Part I; Part II tomorrow will look at GPS functionality and recording waypoints and tracks.




Android External Bluetooth GPS Apps: Bluetooth GPS

Application Name: Bluetooth GPS

Description: Lets you use an external Bluetooth GPS unit instead of your Android unit’s built-in GPS

Publisher’s website: None

Cost: Free

Version/date reviewed: v.0.4  /  11-4-10

Phone/OS: Droid X / Android 2.2

bgps_qr

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


About a month ago, when I was first reviewing apps for using external Bluetooth GPS units with the Android OS, this app was available, but didn’t have the option for use with other apps instead of the built-in GPS. Now, the latest version (0.3) has just added that option as a service. As with other similar apps, 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.

bgps1

Figure 1: Starting up the app, you’ll need to select the Bluetooth GPS receiver you’re using from the dropdown menu at upper left (Holus_M-1000 in this case); you’ll also need to have Bluetooth enabled on your Android unit. Make sure your Bluetooth GPS receiver is turned on, then tap the “Connect” button to establish a link between it and your phone. It can take several tries to establish a connection – this is a common Android issue. Having said that, it seemed to me that this app was able to establish a connection faster than other similar apps

bgps2

Figure 2: Once a connection is established, and the Bluetooth GPS has gotten a position fix, you’ll see coordinate data showing up on the screen, and the blue globular icon show up on the status screen. To use the Bluetooth GPS instead of the built-in GPS, you’ll now have to check the “Enable Mock GPS Provider” box. This will now run continuously as a service on your Android, even after you exit the program; you’ll have to press the “Stop” button from the program window to discontinue it.

newbgpssat

Figure 3: Tap on the Status tab, and you’ll get a view of the satellite signals acquired; unlike other apps, all of the satellite numbers appear to be correct. The WAAS satellite signal is also displayed here at far right (#51); depending on your location in the US, you may see either WAAS satellite 48 or 51. The sky map is new with version 0.4, and is better than many sky maps for Android apps dedicated to the built-in GPS.

bgpsNMEA

Figure 4: The NMEA Logs tab lets you view the raw NMEA data stream from the GPS receiver. Since you can’t save this data (yet), this is of limited use.

bgpsmap

Figure 5: Finally, the Map tab will show you your current location in a Google Maps interface, an easy way to check whether you’re getting a good position fix from the Bluetooth GPS receiver.

Other Issues: None, other than the usual problems with recalcitrant Bluetooth connections.

Final thoughts: If you need to take advantage of special features for your external Bluetooth GPS unit, the Bluetooth GPS Provider app might be worth considering. But for most applications, the Bluetooth GPS app reviewed here is superior – it connects faster, shows satellites more accurately, and even provides a built-in map app to check whether you’re receiving a good location fix. Recommended.

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




Android Bluetooth GPS Transmitter App: SolidSync Network/Bluetooth GPS

Application Name: SolidSync Network/Bluetooth GPS

Description: Transmits GPS position data over Bluetooth or over a network using TCP/IP from your Android unit to a compatible receiver

Publisher’s website: SolidSync

Cost: $1.99

Version/date reviewed: v. 2.0.0  /  10-21-10

Phone/OS: Droid X / Android 2.2

ss_qr

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


This SolidSync Network/Bluetooth GPS app, like the Bluetooth GPS Output app reviewed yesterday, can transmit GPS position data over a Bluetooth connection to a compatible receiver, like a laptop running mapping software. But unlike that app, it offers more control over how the program runs, and also offers the option to transmit position data over a network using the TCP/IP protocol. After you install the app, you’ll find it in the apps listing as “Network/Bluetooth GPS”; took me a while to figure out that it wasn’t listed under either “Bluetooth” or “SolidSync”. Setting up the Bluetooth connection is as much of a pain with this app as the previous one, but the SolidSync website has far better documentation, making the process a bit easier to deal with. And unlike the other app, identifying the correct COM port number for this connection, required by the mapping software on the laptop to make a successful connection, is a lot easier –  in the COM port listing section of your Bluetooth control panel, you should see it clearly identified as the “Outgoing” “SolidSync GPS Bluetooth” COM port.

ss_2

Figure 1: Unlike the other Bluetooth GPS app, the SolidSync app offers the option of running the Bluetooth GPS connection either as the app, or as a background service by checking a box. Just remember to start up the app again to turn off the service, otherwise the GPS will keep running continuously and drain your battery.

Pressing the “Start” button next to the “Service” label starts up the GPS only. You can then  “start” either a Bluetooth GPS connection by itself, a network GPS connection by itself, or have both running at the same time. The Settings section lets you set both the GPS update interval (default is 1 second, longer may reduce battery consumption), and the maximum number of network connections it will accept simultaneously. I had no problems using it with any of the mapping programs on my laptop that I tried it with in Bluetooth mode; didn’t test the netwokr mode.

Other Issues:

Setup was as big a pain as it usually is for Android Bluetooth, but worked fine after that.

Final thoughts:

I prefer a separate Bluetooth GPS transmitter; it has definite advantages in terms of battery life and accuracy. But one of those stand-alone Bluetooth GPS transmitters can cost you about $30-40; if battery and accuracy aren’t an issue for you, you can definitely save money using a Bluetooth GPS transmitter app. Between the Bluetooth GPS Output app reviewed yesterday, and the SolidSync Network/Bluetooth GPS app reviewed today, the choice is obvious: the SolidSync app has better documentation, and more features, at the same price. If you need this kind of app, this is the one you should choose.




Android Bluetooth GPS Transmitter App: Bluetooth GPS Output

Application Name: Bluetooth GPS Output

Description: Transmits GPS position data over Bluetooth from your Android unit to a compatible receiver

Publisher’s website: Bluetooth GPS

Cost: Free 10-minute limited demo version; $1.52 unlimited version

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

Phone/OS: Droid X / Android 2.2

gpsout_qr

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


This is a pretty basic app; it does the job of transmitting GPS position data over Bluetooth from your Android unit to a Bluetooth receiver (e.g. a laptop with mapping software), and not much else; also not a lot of controls or settings. Setup wasn’t too painful, since the app makes your Android discoverable. The basic steps for setting  it up were outlined in the previous post on this site, but there’s a slightly more detailed set of steps available at the app’s website. Once configured, starting up an application on the laptop that uses the Bluetooth GPS signal initiates a connection.To find the right COM port number, look in your Bluetooth control panel for an “Outgoing” COM port, possibly also labeled as an “SPP slave”.

gpsout_1

Figure 1: Here, the Android app is connected to my touchscreen laptop running a mapping application; you’d see “Not connected” in the upper right-hand corner if no connection was present. Satellite data is displayed, but there are no additional controls available here, or in the app menu.

Other Issues:

A bit of a pain to set up, but that’s often the case with any Bluetooth device setup on Android. Beyond that, seemed to work fine.

Final thoughts:

A pretty stripped-down app; does its job, but that’s pretty much it. Nice that it has a demo mode that lets you check out both the setup and the functionality. But tomorrow’s review covers an app that performs more functions and allows more control, all at the same low price; given that, not sure I can really recommend this app.




Using Your Android Phone As A Bluetooth GPS Transmitter

I’ve covered the advantages of using an external Bluetooth GPS transmitter instead of your Android’s built-in GPS before; chief among those are longer battery life and higher accuracy. But it’s also possible to convert your Android phone itself into an external Bluetooth GPS transmitter, where it can broadcast position data to a paired Bluetooth receiver. One useful application for this would be with a laptop that has compatible mapping software installed in it –  it can use the transmitted GPS data to plot your position. Examples of this kind of software would be Microsoft Streets And Trips (paid, but available as a free time-limited trial), or the free topographic map software USAPhotoMaps.

To take advantage of this capability, you’ll need the following:

  • An Android phone/unit with Bluetooth and GPS. Most currently available Android phones have both, but some Android tablets don’t come with GPS and/or Bluetooth.
  • A computer with Bluetooth connectivity. Many modern laptops come with Bluetooth already built in; if yours doesn’t, you might try one of the cheap Bluetooth USB dongles available for $3 or less from Meritline or DealExtreme. Some people have problems with these, but I’ve had good luck with the $2 ones I bought from DealExtreme. All of my tests have been with Windows systems, so I don’t know how well they would work with Macs.
  • Software that can take advantage of the Bluetooth GPS signal. Any software that can accept NMEA GPS input on a serial COM port should work with a Bluetooth GPS transmitter.
  • Properly-configured Android software that transmits the GPS position data over Bluetooth to the computer.

The last of these is probably the biggest hurdle; setting up the Android phone to work correctly took me quite a bit of time to figure out, and even then I couldn’t get it to work with a few of the apps. If you read the comments associated with these apps, you’ll see that there are some phones that work with some of these apps, while others don’t. Given all the steps you have to go through to make even the simplest app work, it’s not surprising that people have problems.

Here’s a rough outline of the steps you need to go through to get a working Bluetooth GPS connection between your Android phone and your computer:

  1. Pair your Android phone with your computer with Bluetooth (Settings => Wireless And Networks => Bluetooth).
  2. Start up the Bluetooth GPS app on your Android.
  3. If available on the app, make your Android discoverable.
  4. Use your Bluetooth control panel in Windows to add the Bluetooth GPS device to your Windows system.
  5. Find out which COM port has been assigned to the Bluetooth GPS device.
  6. Start up the map software on your laptop, and set the GPS input device to NMEA, with the COM port identified in the previous step.

Not exactly a one-step process. Steps 1-4 only have to be done once if you stick with a single app, but if you install a different Bluetooth GPS transmitter app, you’ll have to do steps 1-4 specifically for that app. And if you go back to the original app, you’ll have to go back and do steps 1-4 again. This is even more complicated if the apps can’t make your Android discoverable – then you have to manually add a Bluetooth COM port to your Windows system. One of the apps I’ll be reviewing in greater detail has some decent online documentation for this process, which helps a bit.

I took a look at four Android Bluetooth GPS transmitter apps for review, two of which simplify the process by making the Android discoverable, two which can’t. These latter two were free apps, but unfortunately after repeated attempts, and much head-banging, I simply couldn’t make them work. You might have better luck than me (and free is nice), so here are links to BlueNMEA and GPS 2 Bluetooth if you want to try them out. Don’t spend too much time, though – the paid apps I’ll be reviewing over the next few days don’t require as much effort to get working, have more capabilities, and only cost about $2. How much is your time worth?




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: mobile-j.de

Cost: Free

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

Phone/OS: Droid X / Android 2.2

bgp_qr

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.

bgp_1

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.

bgp_choose

Figure 2: Here, I’d choose my Holux Bluetooth GPS…

bgp_start

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!

bgp_sats

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.

bgp_prefs1

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 …

bgp_gpstype

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….

bgp_prefs2

Figure 7: … like the ones here at the bottom.

bgps_update

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.

bgp_dgps

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.

bgp_sbas

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




Android External Bluetooth GPS Apps: Bluetooth GPS Mouse

Application Name: Bluetooth GPS Mouse

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

Publisher’s website: Argotronic

Cost: Free version times out every 10 minutes; unlimited €1.99 version

Version/date reviewed: v. 0.95  /  10-2-10

Phone/OS: Droid X / Android 2.2

bgmfree_qr

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.

The Bluetooth GPS Mouse app offers a few more features than the free Bluetooth GPS For Android app review yesterday. And it seemed to work fine yesterday when I first tried it. However, an update today seems to have added a minor bug on my Droid X; hopefully, that will get fixed soon.

bgm_prompt

Figure 1: Unlike the previous app, this one will prompt you to turn on Bluetooth if it’s not already on.

bgm_1

Figure 2: Once Bluetooth is on, tap on “Start Service” to start it up. You might want to check out the Options section before going further …

bgm_options

Figure 3: The standard Bluetooth connect method seemed to work fine for me, with the usual balkiness; if you have problems, try the alternate one. “Show Notify Icon” puts an icon in the status bar, handy for accessing the control panel again to shut off the service or change options.

Some apps (Google Maps and Bing Maps) can have problems when the unit’s main GPS is disabled; however, I found they worked fine with this box checked here, so I left it that way.

bgm_2

Figure 4: After setting the options, tap the “Start Service” button to start it running; this will enable the “Connect To Bluetooth Device” button at the top. Tap this to connect, and you’ll get a screen to choose the Bluetooth device …

bgm_select

Figure 5: Here, the HOLUX_M-1000 is my paired Bluetooth GPS unit, so I select it.

bgm_status

Figure 6: If the connection attempt is successful, you’ll get a “success” message, and a satellite status screen. This screen works fairly well, and usually (but not always) includes the WAAS satellite signal. You can now exit this page, and run whatever GPS application you want; they will now use the Bluetooth GPS receiver for position information instead of the built-in GPS. Note also the new icon in the status bar, which notifies you that you have an active Bluetooth GPS connection, and which also gives you immediate access to the app’s control screen.

Establishing a connection can sometimes take repeated attempts. If you’re having problems after multiple attempts, try turning the Bluetooth GPS receiver off and on. If that doesn’t work, try the “Alt. BT Connect Method” option.

Other Issues:

Came across one bug, not major but annoying. Sometimes, the built-in GPS is not disabled successfully, and some GPS apps will start it up alongside the Bluetooth GPS receiver, draining your battery needlessly; you’ll know this is happening if you see the standard GPS icon appear in the status bar. The apps will then alternate getting positions from the built-in GPS and the Bluetooth GPS, sometimes causing your position to jump around. The only fix I found for this is to turn the Android unit off, and then back on again. This is an uncommon, sporadic problem; if you’re lucky, you may not even see it.

Final thoughts:

Except for the occasional bug described above, the app worked fine with every app I tried it out with. Having the satellite status screen is a plus, as other GPS apps won’t display that information. The free version times out every ten minutes, but for some uses that may be good enough. The unlimited paid version is only 2 euros (less than $3), so that won’t break your budget.

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




Android External Bluetooth GPS Apps: Bluetooth GPS For Android

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).

bluegps_1

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” …

bluegps_2

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

bluegps_3

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.

bluegps_4

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.

bluegps_status

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