Using a Qstarz BT-Q1000P GPS travel recorder with a Mac

25Dec08

Thanks to the wonders of Google Earth, I managed to get a fairly good fix on most of the more interesting photos I took in North Korea and even posted them on Panoramio. There were still a few places I couldn’t locate, however, and I figured there had to be an easier way than poring over satellite images.  I settled on a Qstarz BT-Q1000 Platinum GPS travel recorder not so much because it was the best – there might be better/cheaper options if I were willing to mail order – but because I needed it the next day and I managed to buy it at retail near my office.

Overall, I’m pretty satisfied with it. The recorder itself works well – the hardware package is compact and picks up the signal easily. Comparing the tracks on Google Earth, accuracy is good enough, and in any case, I’m not sure whether the error is caused by Google Earth or by the Qstarz. Battery life is enough for at least one day’s journey, and it uses Nokia-compatible batteries so if you need to, it’s easy to buy extra batteries.

The only problem with it is that it does not come with Mac software in the box.  I used Fusion initially to run the Windows software on my Mac, but eventually managed to find some Free/Open Source software to communicate with the Qstarz, and better yet, the software allows me to download data using Bluetooth, even though the product manual and specs say this is not supported (even on a PC). There are 3 versions of the BT-Q1000/Q1000X/Q1000P and it’s possible that only later versions support Bluetooth data transfer.

Setting up the Bluetooth connection

First things first – switch the GPS recorder to NAV mode and select “Set up Bluetooth device” from the Bluetooth menu in the menu bar. The pass code is 0000. After clicking through the dialogs, the Qstarz should be set up as device iBT-GPS. The Mac will complain that there are no recognised services, but you can ignore that warning.

Install BT747

  1. We will use the BT747 software to talk to the Qstarz. On Mac OS, we have to create a lock directory for it manually because the installer does not have administrator rights.
  2. Open a Terminal and type in the following, one line at a time:
    sudo mkdir /var/lock
    sudo chmod 777 /var/lock

    You will be prompted for your password after the first sudo command. What we are doing is creating a lock directory at /var/lock and then making it globally writeable.
  3. Now install BT747 itself by clicking on “Install the Desktop version of BT747” in this link.
  4. If you get a prompt saying Mario De Weerd’s certificate has expired, accept it anyway.
    [To suppress this prompt in future, click “Show Certificate” and then check the box that says “Always trust these certificates”]
  5. Click “Yes” when Java Web Start asks if you want to create shortcuts for the application. This will create an application “BT747 Desktop.app” in your Applications folder. The installer will automatically launch BT747, which will bring us to the next step below.

Downloading data from the BT-1000P

  1. After setting up the Bluetooth connection as described above, and creating the /var/lock directory, open the BT747 Desktop application. Set the GPS recorder to NAV mode.
  2. Select “Bluetooth (for Mac)” (or /dev/tty.iBT-GPS-SPPSlave-1) in the pull-down dialog at the bottom of the window, and click connect.
    connect
  3. Download the raw data file by clicking on IBlue/Qstarz/Holux…. Theoretically, this should work with other brands/devices shown, but I’ve never tried.
    transfer
  4. Wait for the download to finish, and this should put the raw data into a .bin file at the location specified. To geotag photos using GPS Photo Linker, convert the raw data to GPX format. For a quick overview, select Google Map to generate an html file that shows your tracks overlaid on Google Maps. The files will appear in the output directory after clicking “Convert”. You can limit the data to be converted using the date filter.
    convert

Geotagging your photos

GPS Photo Linker works well for me. It automatically adds the position infomation to the photo meta data and optionally adds city/state information as well. Supports a variety of photo formats including jpeg and the Olympus raw format.

All the software I mentioned above is donation-ware so while you can use them free of charge, you are encouraged to make a donation to the authors via Paypal.

Update

BT747 and GPS Photo Linker have both been updated. BT747 now geotags photos as well (click on tab “Files to tag”) though the interface is pretty basic. GPS PhotoLinker has been upgraded and renamed “Photolinker”. Interface is nicer but it is now shareware (US$50 with 30-day trial) and even though it’s supposed to support direct download from dataloggers using gpsbabel, that function doesn’t work for me.

USB driver for BT-Q1000

*** Due to incompatibility between the SiLabs USB driver and Windows virtualisation software (both Parallels and Fusion), I now recommend NOT installing the USB driver unless you cannot get Bluetooth to work or you are sure you will never use Windows on your Mac ***

Alternatively, if your Mac doesn’t have Bluetooth or you prefer to use USB, you can install a USB driver from Silicon Labs. This should work with any version of the BT-Q1000 including the non-Platinum versions. In this case, select “USB (for Linux,Mac)” or “/dev/tty.SLAB_USBtoUART” in step 2 of Downloading data…. BT747 only seems to load the USB driver if the GPS recorder is connected when the program starts up, so you must connect the GPS recorder to your Mac’s USB bus before starting the BT747 program. It doesn’t matter whether the switch is on NAV or LOG, both USB and Bluetooth will work regardless 🙂 Occasionally, the program can’t make the connection to the Qstarz. In that case, just try switching off the GPS recorder and exiting the BT747 program, then switching on the recorder (and plugging in the USB cable) and starting BT747 again.

USB driver (addendum)

I discovered that the Silabs Mac OS USB driver for the Qstarz cannot co-exist with Fusion. If you want to run the Qstarz Windows software under Fusion and connect the device by USB, you have to remove the Mac OS driver. In the Finder, click on Go to Folder… under the Go menu and type /System/Library/Extensions,  then delete the package SiLabsUSBDriver.kext or just drag it out of the folder. You’ll have to reboot and restart Fusion then connect the data logger to the Mac’s USB port. In Fusion, connect “Cygnal integrated CP2102…..” under the Virtual Machine/USB menu to use the Windows software provided by Qstarz. Alternatively, you can download v3 of the TravelRecorder Utility from Qstarz’s website and talk to the data logger over Bluetooth under Fusion

To go back to using the data logger on the Mac over USB, reinstall the driver using the original Silabs installer. I’ve sometimes managed to just drag the SiLabsUSBDriver.kext back into the /System/Library/Extensions folder and get it to work, but it’s more reliable to just reinstall from the original disk image.

Advertisements


16 Responses to “Using a Qstarz BT-Q1000P GPS travel recorder with a Mac”

  1. Wow, just the information I was looking for. Thanks for your detailed and clear description. Because of your post I went with a Qstarz Q1000P over an AMOD AGL3080. I hope what you discovered will work for me.

  2. Glad you found it useful. One problem I found is that the BT747 program sometimes hangs if the data logger is connected, disconnected then reconnected multiple times. Not sure what exactly triggers it – the Mac or the data logger going to sleep, or using USB vs BT, but rebooting fixes the problem.

  3. If you try the newest developer-version (v1.66.xx) bt747 can now also geotag photos. And show there position in a build in map (OpenStreetMap).

  4. I got the qstarz today and they shipped the wrong one. As it came from England and I am in France I would like to the version I have a god. Any ideas on getting your above solution to work with a qstarz BT-Q1300 (nano)? I tried each of the above (BT/USB) and it cannot connect. I tried installing their supplied windows software in crossover but it crashes before even an interface comes up.

    cheers

  5. Most likely problem is with the lock directory. I’ve edited the instructions to (hopefully) make that step clearer. If you type

    ls -ld /var/lock

    in the Terminal, you should get something that looks like this,

    drwxrwxrwx 10 root wheel 340 13 Jan 22:06 /var/lock/

    If not, try going through step 2 again.

    Unfortunately the SiLabs USB driver is incompatible with both Parallels and Fusion, so that could explain the software crash you experienced. In retrospect, I think I would recommend that Mac users NOT install the USB driver if they can get the bluetooth to work. Instructions for removing the SiLabs driver have also been added above.

  6. I can’t install bt747 on my Mac running the latest Snow Leopard version, and the latest Java update. I get this error info: (what should I do to fix this??)
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.javaws.Launcher.executeApplication(Launcher.java:1528)
    at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1466)
    at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1277)
    at com.sun.javaws.Launcher.run(Launcher.java:117)
    at java.lang.Thread.run(Thread.java:637)
    Caused by: java.lang.UnsatisfiedLinkError: /Users/dbg/Library/Caches/Java/cache/6.0/20/2476e394-5d32f797-n/librxtxSerial.jnilib: no suitable image found. Did find: /Users/dbg/Library/Caches/Java/cache/6.0/20/2476e394-5d32f797-n/librxtxSerial.jnilib: no matching architecture in universal wrapper
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1861)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1754)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:83)
    at gps.connection.GPSRxTxPort.isValidPort(Unknown Source)
    at gps.connection.GPSRxTxPort.setBlueTooth(Unknown Source)
    at gps.connection.GPSRxTxPort.(Unknown Source)
    at bt747.j2se_view.J2SEAppController.(Unknown Source)
    at bt747.j2se_view.BT747Main$32.(Unknown Source)
    at bt747.j2se_view.BT747Main.main(Unknown Source)
    … 9 more

  7. Hmm… http://bt747.org/webinstall has several versions. Have you tried the web version http://soft.bt747.org/BT747_J2SE.jnlp or the one marked “in case of trouble with serial link” http://soft.bt747.org/BT747_J2SE_Latest_rxtx2_2p2.jnlp ?

    gpsbabel also now supports Qstarz, so you could try that too.

  8. Thanks, that got it going (the in case of trouble link). I had no idea I was having trouble with the serial link, so didn’t think to try that one! All I saw were link errors.
    Now it seems to download to the binary log file, but the interface no longer matches the above and I’ve not found any way to convert the log to any other format. The result of clicking Convert To is always “no output file generated, try selecting all points (how do I see the points in order to select all of them?). The data filter is wide open. None of the buttons under Convert are obviously for log.bin files as far as I can tell.
    Surely there are some data points in an 870k normal download’s binary log file. But just in case, I enabled logging for a bit to add some more local points.
    Still no results.
    So I downloaded gpsbabel, but so far I haven’t been able to make that download anything. It complains about filters, but I think the real problem is it isn’t seeing the Qstarz unit–the bluetooth status on my Mac says it isn’t connected. So, how to make it try to connect… I only know to click Apply.
    It’s amazing how difficult this is. It was actually simpler to run the rather awful Qstarz software under Parallels/XP.

  9. 9 bjrnfrdnnd

    Hi there,
    I am trying to use this tool on mac osx snow leopard.
    I webstart installed the latest desktop rxtx 2.2 version, and try to download a track from my gisteq phototrackr cd111.

    I succeeded to connect to a bluetooth device under
    /dev/cu.BTGPS-SPPSlave.
    After successfuly connecting to the device, the download button turns clickable.
    So I click it. But that doesn’t seem to do anything (and I don’t know how to control the download). In any case, no BT747Log.bin file is created.
    I only find an (empty) gpsRawDebug.txt file in the download folder that I specified in the interface.
    What am I missing here?

  10. Many thanks for the doc. I had some problems connecting my mac to the logger (Q-1300s), and the USB driver fix that.

  11. Hi,
    Many thaks for the doc. Evenf if I readed as many howto as possible, trying almost any version of BT747, I was unable to connect my Bt-Q1300s to my Mac (with Snow Leopard).
    Finally I tried directly via USB (without installing any) by using gpsbabel and I was surprised understanding that the command line proposed in the gpsbabel tutorial was able to download the data and erase the data logger.

  12. I was able to use BT747 on Snow Leopard without installing any drivers as well. I believe I just used the “USB” option on connect – if that doesn’t work, then use the “Populate Serial Port List” and then look for something like /dev/cu.xxxusbmodem and try to connect using that.

    There is clearly a problem with the standard version on the Mac – it is essential that you use the RXTX 2.2pre version of BT747 – the other version doesn’t work at all.

    I am glad that I didn’t need to install the Scilabs drivers, because I want to keep the option of using the bundled Qtravel app under Windows in Parallels. I am not sure if the warnings about conflicts are still valid, but I did not want to screw that up.

    Thanks much for this article – it was very helpful in getting me started.

  13. 13 Ross Pritchard

    Hi, I am having exactly the same problem as this user; except I am using mac osx mavericks. I am wondering if there was a solution to the problem ? Thank you 🙂

    bjrnfrdnnd on December 19, 2009 said:
    Hi there,
    I am trying to use this tool on mac osx snow leopard.
    I webstart installed the latest desktop rxtx 2.2 version, and try to download a track from my gisteq phototrackr cd111.

    I succeeded to connect to a bluetooth device under
    /dev/cu.BTGPS-SPPSlave.
    After successfuly connecting to the device, the download button turns clickable.
    So I click it. But that doesn’t seem to do anything (and I don’t know how to control the download). In any case, no BT747Log.bin file is created.
    I only find an (empty) gpsRawDebug.txt file in the download folder that I specified in the interface.
    What am I missing here?


  1. 1 Using BT747 to download GPS tracks from Qstarz dataloggers « Shih Tung’s Wordpress Blog
  2. 2 Nice Mac OS X photos | Social.net
  3. 3 gps trip recorder 747 pro | GPS検索

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: