AFTrack - GPS Tracking

for Android

Version 1.8.1


Get it on Google Play

AFTrack is the display for your GPS and activates the world of hiking, biking, sailing, geocaching or more for your phone. The program handles tracking with smart and fixed logging features. It sends reports online or via SMS. It receives SMS position messages and show it as a way point. It exports tracks and way points. Uses maps online and offline and more.


- map view with info docks - track, profile, route, way point. gps info
- different gps sources: internal gps, internal with NMEA, bluetooth gps direct, USB gps, gpsd over Wifi/3G, NMEA file
- work as gps daemon (nmea or json, port 2947 only)
- share position (replace standard gps provider)
- collecting track data
- show routes or tracks in up/down hill colors
- export tracks to GPX, KML, OVL, IGC format and send or upload it
- import route data - GPX, TCX or KML format
- import, export way points - GPX or KML format
- import areas from KML format
- use a kml.txt format to send exports direct via bluetooth
- design a route or an area on the map
- design a route using BRouter offline data
- desing a route using wind information
- edit a route or an area on the map
- merge some routes
- get new way point from bearing, map or position
- add predefined way point collection to map
- off road routing along the line
- online maps - pool editable
- offline maps - OSZ format build by MobileAtlasCreator
- offline maps - SQLite formats mbtiles and sqlitedb build by MobileAtlasCreator and/or Maperitive
- offline maps - BSB3 format for marine navigation (OS >= Android 2.2)
- offline maps - NV digital for marine navigation (OS >= Android 2.2)
- offline maps - mapsforge vector format (needs Android 2.2 or higher) - with extra xml layouts usable (V4)
- offline maps - mph/mpr format
- use offline maps from jpg, png or bmp files
- use offline maps with calibration file map, gmi, kml, kal, cal, pwm, tfw or jpr format
- make own calibration for a bitmap
- seamless maps display when using OSZ or SQLite tile container
- map selector to have quick access to available offline maps
- map scan for a defined folder and sub folder
- map overlays - online pool editable
- map offline overlays - in mbtiles 'overlay' format
- wind indicator for the map center
- copy way points to route
- revers routes
- Routing in a corridor
- display depth - if available
- display AIS information - if available
- display ADS-B (air plane) information - if available
- connection with AIS server (NMEA format)
- altitude correction (automatic or manual) and Kalman filter
- pressure usable for altitude (if available)
- pressure start altitude editable
- automatic correction over weather server (needs net connection)
- vario display
- vario sound
- Online position sending for live tracking
- Online receive way point positions from a GpsGate server
- works as SMS provider (since Android KitKat)
- short message position sending
- short message position receiving
- short message from GPS tracker TK102, TK102-2, TK102 clones, TK-Star, DNT, ELRO, GEODOG, Benefon ESC, Benefon Trackkeeper NT, WondeProud spt10, Tracker from, Wo-ist-Lilly or SmartcomGps
- text storage for short messages e.g. for Xexun tracker
- set position from short message
- send sms note to other AFTrack instance and get position back
- collecting short messages to a track, single and multi tracking
- received way point history can moved to track
- getting way point positions from a GpsGate server
- alarm on reached POIs
- set anchor alarm for the current position
- set anchor alarm for a way point that receives positions from a gps tracker
- save and restore settings
- send waypoint or anchor alarm to Android Wear

Application structure

Main View
AFTrack - GPS tracking next
Goto Info
Big Info
Satellite Info
Data Collections
Tracks Way points Routes Area
GPS Display Map
SMS Report Online Report

The map view can contain some additional data in a dock.

Way point
Big display
GPS info

Button Information
Menu with avaliable actions:
- start/stop track
- save a way point
- get the current address
- send a position via short message, online report or share it
- select a dock view

Center button
- position center
- map was moved
Select an other center logic:
track center
route center
virtual map center on  position and way point
or on multi tracking points
way point center
way point center

compass direction
Map direction toggle

- north

- gps direction

- compass direction
Call the info views
Zoom in
Zoom out
Add a way point
Add a way point from position
Add a way point collection at this position
Search for address
Bearing to add a way point
Ruler to check a distance or design a route or an area
The points show a route
The points show an area
Generate a route for walking
Generate a route for biking
Generate a route for cars
Exact move of route or area point
Route revers
Change route direction
Share data
Share your route / area
Confirm changes on a way point
Close dialog
full screen
Switch to full screen or back
Edit Edit way point
Switch to  Goto mode
Start bearing from here
Move way point position
Multi selection
Switch to Multi selection
Merge routes
Merge routes
Load file
Load file
Load folder
Load folder
Download map
Download map
Set visibility, overlays and transparency
for overlays or areas
Select a map, can change to track, route,
way point or area selection

Condition infomation
GPS is valid
GPS is invalid

Screen is locked/unlocked for moving or
tapping on screen
Track is running
Route is running

Info views
Back to map view
Show large cockpit

Show satelitte view
Show GoTo view

Map unlocked
moves the map

long press
add way point or search /
to full screen and back

double tap
switch to position / revers

wipe insede from left
menu list
wipe left right next dock view

long press on large cockpit entry
setup large cockpit

double tap hide/enable dock view
Map locked
wipe left right
next info view
Info view
wipe left/right
next info view

long press
setup large cockpit
long press on list element
Menu for this element

Application Functions


Maps are used as online or offline maps. Where online maps need a net connection to get it. But received parts of a maps are stored on the sdcard to protect against too much traffic. You may define own entries in the map definition file (maps.xml is found in sdcard/data/aftrack/conf). Zoom level goes from 2 to 17.
If the selected map doesn't deliver tile for the current area you can define a fall back map server.

The definition to the online maps are changing some times. Here comes the last version maps.xml.

Offline maps have to be made first. Use tools like the MobileAtlasCreator to get some maps for your area. Useful are around 5000 tiles in a file. The tiles are packed in a OSZ file (just a zip file with the downloads and a calibration info file). The MobileAtlasCreator generates this format since version 1.8a7. Place the files on your favorite directory and load it into AFTrack at the map list.
If the tiles are written to a SQLite database, larger tile numbers are possible - there are no tests to the limit, only statements up to 2 GB from the net ???. Use this formats mbtiles (Mobac: MBTiles SQLite) or sqlitedb (Mobac: Big Planet Tracks SQLite, OSMAND SQLite or RMaps SQLite)

Instructions for generating offline maps with MobileAtlasCreator and Maperitive

Offline maps without zoom level can imported from jpg, bmp or png format. This can combinated with calibration files in map, gmi, kml, kal or jpr format. The name of calibration and bitmap file has to be the same. Note: A bitmap is stored completely in memory. So it depends on the hardware, how big can the map (size = X x Y x 4 bytes).

Maps with tfw calibration are stored as UTM coordinates without zone information - most times. So please place the map window near to the map before you import it.

See OSM-wiki for more online references.

RNC nautical charts special
It is possible to use the online overlays from the OpenSeaMap project with a standard tile server.

Here you find some available sea maps in BSB3 format:
US area:
New Zealand seems to publish BSB from Nov. 2013 see
or try this site
Brazil Centro de Hidrografia da Marinha
Europe area: SeaNavCD (German): Baltic Sea, North Sea, Mediterranean_Sea
or SeaNavCD (English translation)
or OpenSeaMap Export

nautical maps are also useable but they need a registration with the CD key.
Best way is to copy the map files into a folder (e.g. bsbroot/baltic_1) and scan the directory and the sub folders. When you also copy the data folder from your chartkit to the sd-card, then  the nautical informations are loaded into the database with the scan process.

For the first installation of chart data there are two ways

1. There is already an installtion on the PC
Copy the charts from PC map directory (e.g. C:\Chartkit\Bsbchart to sd card /maps/ BSBroot). In addition the NV database is required (e.g. C:\Program Files (x86)\NV-Digital\filedatabase.nvdb to sd card /maps/bsbchart).

When the chartkit 'data' folder is moved to the phone, the nautical informations are written to the database (e.g. C:\Chartkit\Bsbchart\data to /maps/BSBroot/data).

2. No PC installation, only CD available
The charts are copied from CD (e.g.?:\nvinst\charts to sd card /maps/BSBroot). Make sure that the file installdata.txt is also copied. I recommend for each CD a subdirectory (e.g. /maps/bsbchart/baltic_1).

The copy of the nautical informations is different. See the CD folder ?:\nvinst\data and copy the folder Moorings to  /maps/BSBroot/data/Moorings. also move the content of the folder DE (or other language) to /maps/BSBroot/data.

For an update copy the charts again to the phone and over write the old ones. Then do a new scan (found in map settings).

If there is only the update file (MBS-????-2013-??.exe) and no PC installation please open the file with a zip manager. There you find the folder nvinst and data for copy

On a phone also use a zip manager (eg xzip, open as archive).

Offline vector maps from mapsforge project.
This can be used with the original maps on the mapsforge download or
the maps from openandromaps but to get the full features (coast line, contour lines) of this maps you will need to load the included theme file. Just copy one of the xml layouts to the phone and select it in map settings. When the xml layout contains local referenced pattern this is also loaded (see as sample the Elevate - Mounten Hide Theme - just copy xml and folder to phone). You also may use the Elevate 3 version with new features for the maps styling.

Use the map selector on top for a quick switch between the available maps on your position (yellow = current map, dark grey = online map). When online maps are allowed, then the first selector switches to the online map.

Making own calibration
Start with the import of a bitmap e.g. a picture you made.
Select an other map to assist you on the calibration process e.g. a satellite view for the area you want to calibrate.
In the map list you will see the map with a (nc) sign - means no calibration.
With a long press on the list entry you can start the calibration.
In the center you have the current xy position on your map. You can move it to a point you need and then start with first button (plus).
This adds a calibration point. Two ways to work with this point.
- When you tap on the point you can edit the points coordinates or drop the point.
- Or you select the rectangle button to see the underlaying map. Now move to the corresponding xy position to your point and say add (plus button). Underlaying map must be in the area of your new map.
When you have three point you can save the calibration with the ok button
calibration video

Auto map mode
If the 'auto map' mode is selected in the map settings, the program will select the next map for the current area from the list. When there are some more then one available it's always the first.

To see exact the selected offline map, just deselect 'auto map'.

Note: 'auto map' always selects the best scaling map. So if you use different map systems, it will be better to switch off the 'auto map' function. E.g. you hold a set of BSB sea maps (which have no zooming) and a mapsforge map (zooms from level 2 to 22 ) in the same area. So it could be good idea to hold both in different folders, drop the map list when you want to use a special map system and rescan the folder for it.

For BSB nautical charts 'auto map' means, if off selected, the map is shown inclusive the border and nautical informations. Otherwise the map is clipped by the polyline and the next larger map is shown as background.


Overlays are displayed on top of the current map. There are four samples for  online overlays (only visible where data is available). Define others in the conf file 'overlay.xml'.

For offline overlays use the mbtiles database format and the type 'overlay'. How to generate this please see here.
Offline overlays are loaded as the other maps. They are marked with a (o) behind the name. They are found behind the overlay button on the main map view.

The host definition of the overlay need a refresh some times. Here the last version overlays.xml.

The transparency for overlays is adjustable.

When using mapsforge latest layouts you also find here a layout entry to define your favorite layout elements.


Tracks are managed in the track list and some settings in the GPS settings. Export it from the list by hold the list entry for a longer time. Exports can be made to GPX, KML, OVL or IGC format. IGC format needs some settings to be done to get your personal values out.

When depth values are available, they are stored to the gpx export.

It is also possible to collect a track from the incoming short messages, this can work as single or multi tracking.

Colors for  multi tracking are placed in the folder aftrack/conf (file trackcolors.txt).
It is a list of hex numbers. See e.g. HTML Color Codes

Each track point can be send as short message or HTTP message immediately after generation.


Routes are useful to show it on the map or let you guide to your targets. It can't be like street routing, it only works with one line.

Corridor routing helps you to stay inside routing area and warns you when you outside. Define the routing alarm distance to get the size.

Design a new route or area see video.

Routing with BRouter

First install the BRouter from Google Play
Download the region data you need

In AFTrack select the lineal buttom - visible on a long press on the map.
You will see 2 points and a line. Define your route points and select the route button to get a list with the options walk, bike, car.
Then press the search button to get a new route. You can save it by the ok button or leave the routing dialog.

Wind routing

For wind routing visit the display settings and activate the wind info and the wind routing box.

When the wind gauge is visible you can tap on it to get a wind info, As standard this shows the weather info from the next weather station. By select 'internal' the wind gauge shows the wind coming from NMEA data ($--MVR, $--MWD, $--MWV). A special is the plugin for the SailTimer Wind Instrument™. It gets wind values via Bluetooth LowEnergy.

In GoTo mode the tacking lines are shown from position to the point. This is also used to get the distance. The starting line for this is drawn in the background to remember what was the plan.

In route planing mode the wind lines are shown from point to point and the resulting distance is displayed using wind information. Nevertheless only the points are saved without wind information.

In routing mode the tacking lines shown for the first point.

There are small boat settings (in wind section of display settings). For now the best angle to the wind is saved and used for calculation. The best speed is only used when no other speed information available.

Design a route with see video.


Import an area in the KML format. It can be displayed in different colors.

sample areas CTR in Germany

The transparency for areas is adjustable.

Way Points

Way points are organized in groups. So define your special interest group and add some points to it. Use the import of GPS or KML formated files or add point from your gps signal.

It is possible to set an anchor alarm to a way point when you receive short messages for it.

More waypoint icons can be placed in the AFTrack folder sdcard/data/aftrack/icons
Format must be PNG. The icon names are synchrone to the GPX "sym" or "groundspeak:type" tag.
E.g. Geocache 60x60 or Geocache 80x80

It is possible to insert a group of way points in one step (collection). This option must be defined in display settings.
There is a text file in sdcard/data/aftrack/conf for the collection to define the needed way points.


By default the location settings of the system are used. When tracks are recorded, it is recommended to switch off the network location.

There are some modes for receiving gps data:
- the internal gps
- the internal gps with NMEA data (belongs to the hardware), position is extract driect
- an external bluetooth gps device
- USB GPS on devices with usb host mode
- an online gps (gps daemon) with NMEA output (see
- a file with NMEA data

1. with new provider
Install an extra  Bluetooth gps provider from the store.
Start with a pairing of the phone and the gps in the bluetooth settings.
Start the new provider app and select the pairing parameters. Then the connection can start.
AFTrack will use this positions now.

2. with AFTrack
Pair the hardware before.
Select the bluetooth option in the gps settings and then a hardware from the device list.

Used NMEA sentences - some of them are only available when AFTrack is connected over WiFi or Bluetooth with a NMEA stream:

$--RMC - recommended minimum data for gps
$--GGA - Fix information
$--GNS - Fix data
$--GSA - Overall Satellite data
$--GSV - Detailed Satellite data
$--GLL - Lat/Lon data
$--DBK - Depth Below Keel
$--DBS - Depth Below Surface
$--DBT - Depth below transducer
$--DPT - Depth of water (Meter and offset)
$--MWS - Wind & Sea State (wind only)
$--MWV - Wind Speed and Angle (only true wind)
$--MWD - Wind Speed and Angle (only true wind)
$--VWT - True Wind Speed and Angle
-AIVDM - AIS position and info

For users with gpsd interest please see this projects:
Build your own gpsd on Raspberry Pi
OpenSeaMap logger
Or ready to use hardware from vYacht

Use AFTrack as a GPSD and make your position available to a PC or tablet without gps.
For testing connect to AFTrack with a telnet program and after receive the initial message send a command:

SMS Reporting

Short message reporting can be done manually or parallel to a track. This needs some settings first.
Incoming messages are checked for gps sentences and and processed if found>.

Since Android KitKat AFTrack can't delete an incoming sms. So you could set it to a sms provider.

This program also receive SMS reports (select GGA mode) from other AFTrack users and store the incoming values as a waypoint. For the name of the waypoint the phone book entry is used - if not already there. The GPS tracker TK102, TK102-2, TK102 clones, DNT, ELRO, GEODOG or SmartcomGps are possible to receive.

For special functions exists a template to individualize the sending text (template sms.txt is found in AFTrack directory conf). It contains the all available shortcuts to fill into the message (latitude, longitude, altitude, date, time, speed, direction and the adddres for the position - if internet connected).

If you miss to start a track on incoming position reports then you can move the history of sms to a track - you will find this on the context menu of the way point entry.

The receive function can be used as an anchor alarm. Leave a gps tracker (or a second AFTrack version) on board and set an anchor alarm for its way point.

Basic requirements for the operation of GEODOG with AFTrack
GEODOG collar with software version >= G1CG20W
The position reports are recognized in "TrackSMS" mode . To activate the this modus send a short message with the following content to the collar

Tracksmson (to switch on)
Tracksmsoff (to switch off)

The collar responds with a ready message.

After the command is confirmed, the mode is activated by a 3 second press on the home button. PLEASE NOTE: GPS and the lamp Home button flashing. It is made a new GPS fix now. Once the fix has been made ​​ successfully both lamps shown permanently.

From now the collar sends positions for the last 30 seconds in a 5 block format.

The transmission mode is switched off with a short press on the home buttonWARNING: if the collar runs longer than 30 seconds the display goes to "sleep mode". Before switching off do a short push on the 'on / off' button.

If no network connection is available, the tracking data are buffered and sent out if this is possible.

Online Reporting

Online  reporting means sending your position to a web site. This can be done in a single step or automatic with the log. There is a default setting for It can be done automaticly with the logging function or manually from the menu.

If no network connection is available, the tracking data are buffered and sent out if this is possible.

It's also possible to share your position using other apps.


GPS settings
- GPS Mode - select the input device
- Selection of a bluetooth device (only visible when BT is enabled)
- Option to disable bluetooth after app closing
- GpsD address and port
- Share position (replace internal gps provider)
- Work as GPS daemon (use json or nmea data)

Log Mode
- Log Mode - handles the different modes for logging
- Log Mode SMS - handle incoming sms for tracking
- Log Seconds - frequency for logging only used at log on second (values from 2 to 9999 seconds (30 minutes = 1800)
- GPS update settings for seconds and distance
- Automatic log at program start
- Automatic export on track end

- Altitude - select meter or feet
- Altitude correction - the altitude correction is used or not
- Altitude correction value for a manual altitude correction. When defined as 0 then the geo id is used,
- Special: when a barometer sensor is found then here are some more values:
  - Use pressure for altitude
  - Start altitude for pressure
  - Get pressure from the station for correction (needs net connection)

- Depth - select meter, feet or fathom to display
- Define an offset for the depth

- Position format as decimal degree, degree with minutes, degree with minutes and seconds or UTM format
- Speed - select knots, miles, kilometers per hour, meter per minute or miles per minute
- Distance format as nautical mile, mile or kilometer

- Smart angle, the angle for smart logging
- Use filter for altitude to get smoother values
- Speed pause - define the minimal speed
- Use the compass when available
- Use gps direction or calulate the values
- show a position history - for orientation on screen

- Write a NMEA log file
- Define a filter to select NMEA data. e.g. "$GPRMC $GPDPT" writes only these sentences to log file

- Set the distance for the anchorage alarm

Way point settings
- How to display way points on screen
- Define the way point icon position
- Define the minimal zoom level to diplay the way points
- Show a small line to the way point when in goto mode
- Show start bearing to this goto way point
- Time format in short form
- Use way point collection
- On import of routes load way points as well

Track settings
- Track color or 'up/down hill' color
- show only points
- Track line size
- Track restart, generate a new track when x minutes left and run track is selected (0 = no new track)

Route settings
- Route color or 'up/down hill' color
- show route direction
- Route line size
- Routing inside a corridor (sends alarm when you get outside)
- Alarm distance for next route point or size of corridor
- import routes without using the date

Map settings
- Label size
- Show view direction on the map
- Center tracks/routes on maps or center the start point
- Start with last map view or last position
- Position pointer format
- Wind indicator
- Distance rings
- Radius for virtual map center (km)

- Show wind info for the map center (weather data or internal data)
- Unit for the wind speed
- Wind routing
- Boat settings

Display settings
- Auto dock, display the dock for the 'view on map' function
- change the dock button (map, track, route, way point or area list)
- Set light alway on
- Lock the screen tabbing
- Set display orientation (automatic is not working correct on all devices)

- Save the settings
- Restore the settings from file
- Define a scan folder
- Scan the folder
- Scan at start (could slow down the app start)
- Clear the cache for the online map store
- Automatic selection of a map for the current area. Starts with the offline maps
- Define the cache directory
- Set the cache directory
- Use a online map as fallback map when selected online map is not available in the current area
- Stop the use of a net connection - uses only the cached values
- Set the position of the zoom buttons to the left side
- Load a new layout for the mapsforge maps (just place the layout xml and the icon folder where you like)
- Define the text size on mapsforge maps
GpsGate settings
These settings are for getting way point postitions from a server.
Before start a GpsGate connection fill the settings for the server.

AIS settings
- use AIS (NMEA format from local server/receiver)
- AIS server and port
- this works also for other nmea sentences
- this is also usable for ADS-B reports generated from the dump1090 software(connect to the port 30003)

Profile settings
Different profiles can be created.
A profile can be loaded from a settings file
Example of setting files

HTTP settings
This helps you to send positions to a server.
Fill in all the values you need to connect a server.
This can be done in user profiles. So it's easy to switch to other server settings.

  • Server - the server address w/o http://
  • Port - used port address
  • File - file on the server to read the values
  • User - the name of the identity parameter
  • User Mode - send your IMEI for identity or define an own value
  • User Value - the value for the id
  • Password - parameter name for a password
  • Password Value - the value for the password
  • Use GPRMC, this sends a NMEA sentence, the next values are not used in this case
  • Latitude - name of the parameter
  • Longitude - name of the parameter
  • Altitude - name of the parameter
  • Speed - name of the parameter (value belongs to the speed settings kmh, knots, mi)
  • Direction - name of the parameter
  • Time - name of the parameter
  • Format - time format (in Java pattern)
And an option to connect the server parallel to the logging.

Sample settings for a GpsGate server

Port: 80
File: /Gpsgateserver/VehicleTracker/gpsgate.aspx
User Attribute: username
User: the_user
Use IMEI: off
Passwort Attribute: pw
Passwort: the_password
Encryption: GPSGate
Latitude Attribute: latitude
Longitude Attribuet: longitude
Altitude Attribute: altitude
Speed Attribute: speed
Direction Attribute: heading
Time Attribute: time
Time Format: HHmmss
Short Message
Storage settings
- read a missed sms from inbox
- SMS storage - predefined text to send
- Show commands in list

Logging settings
- Automatic send with log
- Select a string to send
- Define the receiving number
- Number to send
- Center on sms position
- Play sound on sms income
The values to fill the IGC log

- Name
- Glider type
- Glider id
- Competition
- Competition class

Plugins for AFTrack

All plugins work with all versions

SailTimer™ - uses the SailTimer Wind Instrument™ to work with wind data
MTK - download track direct into AFTrack from MTK gps chip
BlueSkyVario - get pressure values from BlueSysVario sensor hardware
SensBox Vario - using altitude and/or gps data, see at Flytec
car2go - show car info on map

Get a discount on the SailTimer Wind Instrument™ for AFTrack user.


Video how to design a route
Video how to sail with AFTrack to a way point
Video how to plan route with AFTrack and wind information
Video how to calibrate a bitmap as map
Pdf how to work with wind
Pdf how to work with way points

Known Problems

Short Message applicaions can interfere with the reception of SMS if they occupy the inbox.
Reported are the apps 'GO SMS Pro' and 'Pansi SMS'
and the custom ROM 'MIUI'.
incoming SMS not removed after use (since Android 4.4), so use the AFTrack SMS setting 'SMS App'


AFTrack Standard Version

All functions as described above.

AFTrack Lite Version

The lite version differences

- no automatic send via http
- no automatic send via short message
- no template sending via short message
- loads only three offline maps
- has a start screen
- limited export
- no multi track colors


Minimum Android version:  2.1, runnable on version: 4.0 or higher
Android Market and/or Google account: -
Third-party libraries: -
Rooted device: -

Location coarse location, fine location, mock location
Modify external storage
Read contact data for incoming short message
Short message read, write, edit, send
Device Id for the use of protected maps or sendig as an identifier (online settings)
Access network state, wifi state
Access internet
Read system log files
Control vibrator

GPS tracking - Google Play direct    Get it on Google Play

Release notes


afischer @