Desktop application

Title Menu

Settings Menu
GPS Debug: Provide a minimum set of debug information on the console. Most of it is also shown in the Info Panel. This option is activated by default in the early versions of the Desktop version of BT747.
GPS Connection Debug: Provide extra debug information. This activates logging all the communication on the serial link in a raw format. The file is called 'gpsRawDebug.txt' and should be located in the output directory that was specified at the time it was enabled.
Info Menu
About BT747: Shows information regarding the application version and build identification. The build identification is unique regardless of the version number. You'll also find the author's email address there and the translator of the applicaitions text.
Info (LICENSE): Other information regarding the application - mainly a disclaimer and an indication of the license.

Log Operations Panel

Shown on all screens!
Connect button: Click to connect to the indicated serial port. Once connected, this button will change into 'Disconnect' and can be used to stop the connection to the device.
Port name: Select the system port that interfaces with the GPS device. It is possible to type the port name directly - it does not have to be in the list. "USB" will attempt to locate the USB port automatically on Linux and MacOSX systems. "BLUETOOTH" will try to locate the bluetooth port automatically on MacOSX systems.
Speed: The speed to use for the serial connection. Most of the time 115200 baud will be the correct speed, in some cases 38400 baud is needed (this is the case for the Holux M-241). If the speed is not in the list, you can enter the speed directly.
Raw Log File:

The file to which the data is saved when downloading, or read when converting. The extension should be '.bin', except for Phototrackr and similar devices where it should be '.sr'.

it is important that the extension is '.bin' for raw log formats!

Output Directory: Location where the files created during conversion will be written.
Output filename:

The basename of the files that will be written. This does not include the filename extension. The path is relative to the output directory. The basename will be post-fixed with date and time information as well as the appropriate file extension for the chosen output format.

It is possible to have a customised based name by using '%*' tokens.  Please see for details - most of the 'php' formatting options are available.  As soon as you specify a '%' token in your filename, BT747 will no longer do its magic and you assume the entire responsibility that the resulting filename is unique (for instance, if you have more than one file for the same day, make sure that you include the hour and minutes - not just the day).

Incremental Download: If data was previously downloaded to the device in the file specified as Raw Log File and the data in the Raw Log Files looks the same as the one currently present in the Device, only new data will be downloaded. This will speed up the download substantially. If the data is different, the user will be requested to confirm overwriting the data.
Disable logging while downloading: Normally the device will continue logging regardless of wheter a download is going on. To avoid filling the memory while you are downloading, tick this option and the device will be instructed to stop logging. At the end of the download the logging will be activated again if it was active at the start of the download.
iBlue / Qstarz / Holux / Konet: Download from this type of device. This is valid in most cases.
PhotoTrackr / ...: Download from one of these devices. The download protocol and format is different. This is currently experimental as no user actually confirmed correct operation.
From ... To ...: The date range for the records to be converted. This is a filter, but it something the user may want to configure every time.  Therefore it is located in the main panel.
Time split: This time will be used as the start time on the indicated 'from' day (taking into account the UTC offset in the 'Output Settings' panel and as the end time on the day following the indicated 'end day'. For instance, if you filter from September 2nd to November 1st, and the time is 2h30min, the chosen records will be between September 2nd at 2h30 and November 2nd at 2h30.
Decoder for bin file: A user developed an alternative decoder for raw binary files. That one is still buggy but kept availalbe for testing, so you'ld better choose the 'Original'.
GPS Device Data
Live position data from the GPS device.
Latitude: Latitude of the current position.
Longitude: Longitude of the current position.
GPS Time: GPS time (UTC reference) returned by the device.
Geoid: The offset of the Geoid (or Mean Sea Level) to the WGS84 elipsoid. Both are model of the earth 'surface'. In its NMEA packets, the GPS provides the Geoid offset versus the WGS84 and also the altitude of the position versus the Geoid. The GPS device calculates the Geoid itself - the actual reference is the WGS84. In the log the 'height' or 'altitude' that is logged is the WGS84. BT747 calculates the Geoid for itself, and that value is indicated here too to see if this corresponds with the device's calculation (which is a bit less precise).
Flashinfo: The flash ID (a hexadecimal value that can be used to identify the flash type) and an interpretation of it: manufacturer and size in bytes (not bits). When the manufacturer reports 16Mb, BT747 reports 2MB. The first value is Megabits, the latter one Megabytes!
Model: Shows the model ID number as returned by the device. In parentheses is the guessed device name.
Firmware: Firmware version information as returned by the device. Some devices return very long information and then this information is split on two lines. If the first line ends with '...', use the tooltip text to see the entire string.
Memory used: The number of bytes filled in the log memory. In parentheses the percentage of memory filled.

User/External Tool Output

User/External tool popup.User/External tool popup.

After clicking 'User', you can call upon an external tool do do specific operations with the position data.

To tag using 'exiftool', you could set the file format to 'GPX' and  enter the following for the external tool call:


/directorytoexiftool/exiftool -geotag %f  /directoryofmypictures/


For the GPS log ormat, Exiftool supports  GPX, NMEA RMC/GGA/GLL and KML (as well as a few other formats not supported by BT747), therefore GPX is a good choice.

For the images, Exiftool support a lot of formats, including raw formats like .NEF.

Output Settings Panel

TimeZone: The time offset that is to be applied to the time in the source log file. If the TimeZone is set to UTC+1 and the time in the input file is 12:35, then the time in the output file will be 13:35. There are some execeptions which can be controlled in the Advanced File Settings.
Keep WGS84 height
MSL Height:
MSL stands for 'Mean Sea Level'. The heights (altitudes) in the Logger are recorded using a reference called 'WGS84'. This is a reference supposed to be close the Earth's "surface", but it is not perfect. As human beings we are used to refer to altitudes by taking he Sea Level as a reference. By setting this option to 'MSL Height', BT747 will apply a correction to the height found in the input file. The correction corresponds to the difference between the modeled Mean Sea Level and the WGS84 Elipsoid.
Record Number Info in Log: When active, the positions are numbered and that number is written into the output file. by de-activating this option, you can make the output files smaller.
Imperial Units: The English had their proper units and they still use them! Clicking this option will make metrics appear as inches, miles, miles per hour, etc .
Good Color: The color that is used in the HTML and KML output formats to indicate the track segments that correspond to valid positions.
Bad Color: The color that is used to indicate segments with positions that were not selected. Example: when going through a tunnel, the device would log some invalid positions - invalid being no fix, PDOP to high, ... (according to the filter settings). That part would be shown in the 'Bad Color'.
File Output Fields and Items
A further restriction of the information written to the output file.
You might log more fields than you want to find in the final output file. For example, you might choose to log HDOP and NSATs to be able to filter imprecise positions. If you do not want that information in your KML output file, uncheck them here. These values are still used for filtering, but not written to the KML file (works for other formats as well).
Most fields: Same significance as the log format explained elsewhere.
Add Track Point Info: Adds the same information to track points as to way points. This will make the file bigger, but all information will be in it. If unselected, only way points have full information.
Add Track Point Name: Give a name to eacht trackpoint. In Google Earth this will show a label for each track point when the track point list is opened. This will help locate the trackpoint you want to show. If unselected, this list will have empty labels.

If Both 'Track Point Info' and 'Track Point Name' are disabled, individual track points will not be logged to KML output. This makes that output a lot smaller.
New Track After ...: Indicates the time separation required between two successive position to start a new track. For example, if this value is set to '60 min' then if your device did not log any position for 60 minutes, the next position will be the start of a new track. New tracks can result in separate files or in separate sections in certain formats (like a KML file).
Element: Element description.

Filters Panel

Trackpoint Filter
Selects the positions that build up the track
Fix type
No Fix: The device logged a position but did not have a fix. Usually unselected.
SPS: Standard Positioning Service. The accuracy of the signal may be degraded to 100 m via Selective Availability. S.A. was turned OFF on May 1st, 2000.
DGPS: Differential GPS.
Correction of the GPS coordinates by applying an offset identified by fixed position receivers. Supposed to be more precise when differential data is used.
PPS: Precise Positioning Service.
"Military" signal with high accuracy (< 10 m) - encryption only known to military
RTK: Real Time Kinematic.
Sat system used in RTK mode with fixed integers
FRTK: Float Real Time Kinematic.
Sat system used in RTK mode with floating integers
Estimate: The position is an estimation by the device. The position is usually not very precise. Also called 'dead reckoning'
Manual: Manual entry of the position. No known usage in the existing devices.
Sim: Simulator value. No known usage in existing devices.
Log Reason
Why the position was recorded.
Time: The time condition was reached. The previous position was logged more than the programmed number of seconds earlier.
Speed: The speed condition was reached. The speed was higher than the limit.
Distance: The distance conditions was reached. The measured distance was over the limit. This is not the direct line distance to the previous position!
Button: The position was logged because the user requested so by pressing the device button.
User *: Extra waypoint types can be logged through an application (like BT747). This list will be shortened later on. Currently selects the bit in the user field that has to be active.
Common Filter
Filter specification used for both waypoints and trackpoints.
Activate Common Filter When not active, the common filter is not used (and the menu items are grayed out.
*DOP: HDOP, VDOP and PDOP are related to the position accuracy. The smaller the value, the more accurate the position. It is recommended to log the HDOP value with each position and define the limit as 1.98.
HDOP: Horizontal precision
VDOP: Vertical precision.
PDOP: Positional precision.
rec nbr: Limits for the record number. This can help you to select only a part of the log.
distance: Limits for the distance field in a position record.
speed: Limits for the speed logged with a position.
NSAT: Minimum number of satelites in use needed. Also a method to select only precise positions (select at least 4 or 5 satellites)
Waypoint Filter
Select positions that will be used as waypoints - they are usually shown as icons with detailed position information.
The meaning of the filter settings is the same as for the trackpoint filter.

Device Settings Panel

Log Format
Defines the fields that you want the logger to store for the positions that meet the log conditions.
You can log more values than you actually need and use BT747 to extract only those values that you want. This is particularly usefull to filter out invalid positions : you can log the HDOP value to get an idea on position accuracy and then set a limit on HDOP to select only positions that are precise enough without writing the HDOP value to the output file.
Time: The time information is logged through the UTC field and the Milliseconds field. The UTC field corresponds to the date and time in second precision. You can achieve milliseconds precision through the millisecond field.
Even though you can log the milliseconds field without logging the UTC field, that normally does not make a lot of sense since it will be impossible to know how many seconds your positions are apart.
Position: The latitude field and the longitude field will need to be selected if you want to know your 2D position at all on the globe. This is normally what you got your logger for.
The height field field will allow you to know what altitude you were at. The logger actually logs the WGS84 altitude expressed in meters which is a very different value from the one you use in day-to-day life: the mean sea level (MSL) altitude. BT747 will help you to get the MSL value from the logged value (through the conversion options).
The speed is logged in km/h and is presumably determined through a doppler measurement in the logger. It obviously needs to be logged by setting the speed field and it represents the instantaneous speed that you had at the logged position.
The heading field enables logging the direction that you were moving in. When not moving this direction is pretty meaningless. The heading is not determined magnetically but again persumably determined through doppler effect observation.

Finally, distance will indicate the measured track distance of the new position with the previously logged position. In between two logged positions, the device will have performed other position measurements and these positions are taken into account too for the distance calculation. The distance value becomes pretty meaningless if intermediate positions were invalid. It is generally valid your device has a permanent fix.


The precision fields will help you determine the accuracy of the logged position. One other field can help you determine the precision too, but it is categorized elsewhere: the NSAT field. Indeed: the number of satellites in use also gives a good idea about precision

GPS Fix Type: The GPX Fix Type field or in some softwares the VALID field indicates the kind of fix that was achieved. This includes 'no fix' or invalid, 2D fix, 3D fix and DGPS fix. Other types exist as well but should not be observed by most mortels. You do not really need this field if you also log at least one of the HDOP, VDOP or PDOP fields.
HDOP, VDOP, PDOP: These three fields respectively log the horizontal, vertical and positional (read 3D) precision indicators. Their value turns to 99.99 if the position is invalid and you can use them as a filter too in BT747. Personally I use HDOP because the vertical precision does not interest me that much. You can consider the PDOP value to be some kind of mix between the HDOP and VDOP value. My limit in the BT747 filter is set to 1.98
DSTA, DAGE: The DSTA field and the DAGE field provide information regarding the DGPS satellite that is supposed to provide differential correction data to compute a more precise position from the measured position. The DSTA field will provide the satellite number providing the data and the DAGE field indicates how old that data is. These two fields could also be be labeled as satellite data but as they are related to precision, they were added to the precision group.
Reason: The RCR field stand for ReCord Reason (I suppose) and indicates why the position was logged. This is intimitally related to the log conditions that you defined for the device. If the set time has elapsed, the RCR field will be T (for Time). If the minimum speed was exceeded the field will be 'S'. The distance condition being met will result in 'D' and finally if you pressed the devices Button, it will be be. In practice several conditions may be met at the same time and you get a mixture of T, S, D and B

BT747 also allows you to log for other reasons through the application. These reasons are also logged in the RCR field and take other forms in the output formats.

Other: The Valid Fix Only is not actually a field, but this configuration is also set through the log format. This is only taken into account on some devices and it is actually a log condition. When activated, the compatible loggers will only log positions for which the valid field is something else than 'No Fix'. It will result in a reduced consumption of memory.
GPS Start
Hot start: Reuses all recently known information.
Warm start: Keep almanac information, but looks for satellites again.
Cold start: Forgets about alamnac information and looks for satellites again too.
Factory reset: Will reset some more values internally to the device and the proceed with a cold start. The effect of this is not very documented, so you'll get some extra warning messages to confirm that you really want to do this.
Erasing and setting the log format
Set format and erase: Sets the format and then erases the logger memory. This is the same operation as the one done when you change the log format with the original application and ensures compatibility with it (except for Holux where the original application does (or did) not support other log formats).
Set Format Only: Will change the log format, but not erase the memory. The original applications will no longer be capable of treating your log.
Erase Only: Despite of your manual changes to the log format, the log format currently set in the device will not be changed and the log will simply be erased.
Try to recover faulty memory: This is a specific procedure that will erase the logger's memory and 'recover' memory blocks that were labeled as faulty. You can compare this to bad blocks on a hard disk. When the OS discovers one of the HD blocks gives a bad checksum or some other bad operation, the block will be labeled as bad and no longer be used. A hard disk format will usually reset this condition.

Flash memory is also organised in blocks. When your logger detects that one of these blocks did not respond well, it will be labeled as bad and no longer be used. This reduces your effectively available memory. This bad block condition is stored in some other non-volatile memory of your logger.

Bad blocks can be the result of a low battery value resulting in a bad write (or read?) and do not represent a permanent condition. But sometimes these blocks may really be bad

This procedure will reset the bad block condition to valid and erase all the blocks of your memory. In most cases this will help.

Log by ...
Fix every:

This is the time between GPS fixes.
Usually this is set to 1000ms (1 second), but if you want to have 5Hz fixes, then you set this to 200ms.

Each of the conditions below (time, speed, distance) is evaluated independently on every fix (valid fixes only if you have 'Valid Only' checked).

In other word, the time, speed and distance conditions are OR'ed - only one of these conditions has to be met for the position.  And, for instance, the 'RCR' (ReCord Reason) field will be represented as TD if both the Time and Distance condition were met. 

Time every:

Define the time logging condition.
This is the maximum time delay between two logged positions expressed in seconds.
When you set this to 1s, then a position will be logged every second.  If 'valid fix' only is checked, then this time can be exceeded on the recent devices if there no GPS fix.

To achieve 5Hz logging, you have to set 'Fix every' to 200ms and this field ('time every') to 0.2s . 

When the value is 0, the condition is disabled.

Speed above:

Define the speed logging condition.

When speed is higher than the indicated speed, the position will be recorded.

As with 'Time', 5Hz logging is possible and will be active as long as the actual speed exceeds the condition and the 'Fix period' is set to 200 ms.

Distance every:

Define the distance logging condition.

When the travelled distance since the previously logged position is higher than the programmed distance limit, the new position will be logged.

As with 'Time' and 'Speed', 5Hz logging is possible and will be active as long as you move fast enough to exceed the distance every 200ms.  So if you require distance to be 1m, then you need to move faster than 5m/s to have a position logged every 200ms.  A distance condition of 1 meter @ 5Hz corresponds to 5*3600m/hour = 18km/h .

Setting the distance condition (in stead of the other conditions) is pretty much preferable because:

  • You avoid logging when you are not moving;
  • You pretty much determine the distance between positions before hand.

In addition you could add a time condition which ensures you that you get a position when you are not moving, for instance, every 5 minutes (300 seconds).  That time condition of 300s would require about 288 positions each day when you are not moving which is a reasonable 'overhead'.

... when full: Element description.
Element: Element description.
Holux M241 specific
Holux name: Element description.
Element: Element description.
Use SBAS: Element description.
Incl. test SBAS: Element description.

Advanced Device Settings Panel

Section Description
Element: Element description.
Element: Element description.
Section Description
Element: Element description.
Element: Element description.

Advance File Settings Panel

BT747 1.60.11 Advanced FileBT747 1.60.11 Advanced File

Section Description
Element: Element description.
Element: Element description.
Section Description
Element: Element description.
Element: Element description.

Info Panel

Section Description
Element: Element description.
Element: Element description.
Section Description
Element: Element description.
Element: Element description.

AGPS Panel

The AGPS Panel (currently in the dev version) allows you to upload AGPS data to the device.

For the MTKII devices, this is called 'EPO' data which means 'Extended Prediction Orbit'. It is a format specific for the MTKII chipset.

As authorisation is currently lacking to integrate server location and login/password to connect to the FTP server is missing, you need to find that information for yourself. Your firewall can tell you what an application tries to connect to for instance.

Files to tag