GPS: from hardware to data

Provided you have the right receiver, GPS (Global Positioning System) enables you to know your current location. Most devices go a little bit further than that and can also record your track.

This function alone creates a new array of possibilities as we will see later.

GPS tracker

For the moments, let’s focus on this new toy, the BT-Q1200 Travel Recorder from Qstarz, a company from Taiwan. The device has only one button (the input) and four leds (the output) and no screen. Thus, the interaction is very limited: the basic usage is to go on the field, record the GPS track and download the track on a computer later. There is some room for more interaction thanks to the bluetooth function, but once again, we will see that later.

One requirement for this device is to be working with my Linux box. Through email, the company told me that the device was not supported for Linux but that was without considering the boundless resources of the open source community.

After recording few tracks, you plug the device using the USB cable to a computer and hope to be able to download the data and make something useful from it. This device is based on a MTK chipset and I was able to find two different projects matching my needs:

bt747 is a java application with a graphical interface. Just unzip the archive and launch ./ You should see the interface. At first I was having a problem with the interface but running update-java-alternatives --jre --set java-6-sun (on Debian) made the trick. On the Con tab just click Connect Port Nbr, on the tab File, set the output filename and then on Log tab choose Get Log.

EDIT 2012-12-30: I also need to have a sudo adduser mylogin dialout.

Once you’ve done that, you have a .bin file on your computer containing the data. Woh, the first step is done, data are out of the device. To make something useful from it, you can still use bt747: still on the Log tab click To KML to get a kml file (which can be seen using Google Earth).

One tip: when retrieving the data, you should keep the device in record mode to avoid it going to sleep in the middle of the transfer.

GPSBabel is the second project supporting MTK chipsets. The support was introduced only recently, so only version >=GPSBabel 1.3.4-beta2008214 have the format.

  • mtk: to download data from the device
  • mtk-bin: to convert the .bin file to other formats

Despite trying, I wasn’t able to download data directly from the device using GPSBabel:

$ gpsbabel -t -i mtk -f /dev/ttyUSB0 -o gpx -F out.gpx

mtk_logger: This is not a MTK based GPS ! (or is it turned off ?)

Let me know if you know a way to make it work.

However, the conversion for binary file is working well:

gpsbabel -t -i mtk-bin -f BT747log.bin -o gpx -F out.gpx
gpsbabel -t -i mtk-bin -f BT747log.bin -o kml -F out.kml

2 thoughts on “GPS: from hardware to data

  1. I wasn’t successful using directly gpsbabel with the BT-Q1200:
    gpsbabel -t -w -i mtk -f /dev/ttyUSB0 -o gpx -F output.gpx
    mtk_logger: This is not a MTK based GPS ! (or is it turned off ?)

    mtkbabel works well after installing package libdevice-serialport-perl. According to the website, it is mostly based on the BT747 project. However I found it much slower than BT747 do download the data.

Leave a Reply

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