GPX Logger

Cell Map A simple GPS data logger, designed to be robust and battery efficient.

Intended to be hands off, its ideal for recording your latest walk, run or cycle.

GPX Logger records files onto your memory card in the GPX file format, which can be readily imported into most mapping software.

As it only requires low end hardware (Froyo 2.2 and above) it can be used in more adventurous projects such as model plane or rocket black box recording.

GPX Logger

Cell Map

GPX Logger (Ad Free)

 Cell Map





Click to view comments

In GPX file: decimal delimiter in coordinates ",". must be '.' repair please!
I need your program!
Ivan. (from Russia)

Al's picture

Hi Ivan,

Sorry about the delay. I hope to have a fixed version published this week.


in looking at the gpx file, it is giving the time in local. theres a z after the time, but its still local time. I have tried different settings.

Al's picture

Thanks, I'm aware of the bug and should have it fixed soon.

Al's picture

I've just published a fix so it should be available in the next few hours.

There's also now an option to save the time as UTC, local time or local time with offset.

Hi - thanks for the software - how do you apply the time offset? When imported into 3rd party software the time is the same.

Sorry - a setting in the 3rd party software caused my issue - thanks. Although it would be good to know for future ref how to enter the time offset, I think the exported file is showing +1?

Al's picture


On the settings page you can change the 'GPX time format option' to one of the following, please note this can cause problems with some software:

Universal time - the default option which saves the time as UTC.
Local time - as above but use the local time.
Local time with offset - as above but it adds the offset from UTC.

The first option is the most compatible with other software, the last is the least compatible. I'd recommend testing it first to see which one best suits your needs.


I would like to try and use this application with tasker (Automatic start/stop of recording). What are the intents that can be used to start and stop? eg xxx.INTENT_START_RECORD_NEWTRACK ? Hope this makes sense!

Many thanks


Al's picture

Hi Joe,
None at the moment but I do intend to implement some in the future

Thanks for the nice, light and useful app. My problem is that it starts automatically each time I restart my android and I have to exit it manually. I'm wonderring why I can't config it if I want to start it automatically ?

Al's picture

Thanks, I'm glad you like the app.
If you untick 'Record on boot' in the settings it won't start automatically.


Thanks for the excellent program. Used it today to Geotag photos and worked really well. The only issue is that Lightroom reads the time-stamp as being UTC, while the gpx file records it as the local time (which works well if you load it in Google or other programs). Could there be a setting, where we can choose the timezone (e.g. UTC or local)?

Thanks again!

Al's picture

Hi Neel,

Thanks, good to see you find it useful.

I've looked into your problem and fixed a bug in the time formatting, the new version should be with you in the next few hours.

Thanks for getting in touch, user feedback like this is far more useful than a rating of one star on Google Play!

Thanks Al. Just to make sure, it will display time in UTC and would have that 'z' to show that it is UTC time?

Thanks again for the quick turnaround and update! Great work.

Oh got it.. You added a -x:yy to adjust for the time-zone. Is there a difference in that vs. using UTC with z at the end? Thanks again?

Al's picture

Time with a Z at the end is UTC with no local offset whereas the +/- notation represents UTC time with the local offset (ISO 8601). The bug prevented the offset from being appended in some cases.

If you have any other questions, bugs or suggestions I'll try and respond quickly.

Al's picture

It seems the last update caused problems with Strava and Garmin BaseCamp, so I've uploaded a new version with the option to add time zone information to the saved file (off by default).

So, another question - if I am traveling across timezones and keep my cell phone data off, what time zone would be used? In other words, does the GPX logger get the time zone information from the GPS or the time-zone set in my cell phone?

Al's picture

Hi Neel,

The time zone is taken from the phone, which is usually set automatically from the network. Of course this can cause problems if you are close to a zone boundary as you may be in one zone but connected to a cell in a different zone. You can turn off automatic adjustments in the 'Date and Time' options in the 'Settings' menu of your phone to prevent the zone from changing.

Hi Al!

I am very interested in your project. Is it opensource? If yes, where could I download the source? Thank you so much for your answer. ;) Bye.

Al's picture

Hi Thibault,

Sorry it's not open source, some of my software is this way as it will hopefully fund the open source applications.

I have version 1.1 installed on my phone (android 2.2). Lack of timezone is causing me issues as I need to sync the log with other data. Play store says current version is not compatable with my phone :-(.

Al's picture

Hi dave,

Sorry but you'll need Android 2.3.3 (Gingerbread), some of the functions the software uses aren't available on earlier versions.

I've added an option to include time zone data in later versions although not all software can handle the extra information.

Could you make it so that you can chose the storage location of the files? I have an HTC One and it does not have USB storage and I can't find any of the files I recorded.

Al's picture

Hello Ken,

Are you using Windows?

On Windows 7 plug your phone in and unlock it, browse you computer and look for HTC One X, open 'Internal Storage' and the tracks will be in the 'GPX Logger' folder.

On Windows XP plug the phone in and unlock it, after a few minutes HTC Sync manager should start installing which will allow you to transfer your files.

If you can't see the folder make sure that the app isn't running (press the 'power' button on the main screen) and re-plug your phone.

Linux is more complicated, this method worked for me.

I love this app it is light and simple. the design is just what i was looking for start, stop, save in gpx. I downloaded 10 or 15 of these apps and none of them did this simple thing. and if they did do it you had to jump thur many loops to record and save the file in gpx. PLEASE DON'T ADD JUNK TO IT There tons of apps that do eveything you can think of if you want to read long manuals. but this app one of a kind. lignt and simple and well thought out.

Al's picture

Thanks John,

The reason I wrote this app is because I ran into the same problem; I only wanted something that recorded tracks, I didn't need it to tell me how many calories I burnt, show me animated tracks, share my logs via Facebook or have 101 other 'features'.

Hi, thank you!!! That´s what I need! It´s light and it works!

Please, I wanna know about "Min time (s)" and "Min distance (m)" in the settings menu.
Is there a problem if I set zero for both?
What do you suggest?

Al's picture

Thanks Marcus, that's good to hear.

I'd recommend setting both values to zero, it means Android will update the location as soon as a new one is available, typically this means the location is updated once per second although on some devices this maybe different.

Hi! Great software, I love it. Sometimes, though, my GPX traces might be somewhat long and large. For that reason, I might benefit from a lower sample rate. So how exactly do these settings work? If I set, for example, 5 seconds and 100 metres, will it log a point the *first* time one of those occurs (either when it's gone 100 metres, or every five seconds if moving slowly) or the *last* to occur (no more quickly than five seconds and not at all if not 100 metres from the last)? There's a subtle difference so it's worth asking. Thanks.

Al's picture

Hi Matt,

Thanks, glad you like it.

As for your question it might be work experimenting as it differs from device to device:
1) Most commonly: an attempt to get a lock will start 5 seconds after the last lock, if the difference between them is at or over 100m a point will be logged.
2) Some devices when given a distance check every second, but a lock will only be reported when locks are 100m apart.

Hi, this is a great tracking app. Any possibility of having the ability of adding waypoints while tracking?

Al's picture


Were you thinking of a button that would add a waypoint at the current location to the GPX file or adding one manually on the map screen?

Yes, the first one; a button to add a waypoint at the current location to the GPX file. Of course, with the ability of labelling the waypoint with a meaningful name.

This is such a great app. The 'add waypoint' function is also useful to me. It would be awesome if the new waypoint had a default name, or even better if you could have the default waypoint name be the date/time. Thanks for a rad product!

Al's picture

Good idea! I'll add this to the next release.


Is it possible to write the log file to my micro SD card instead of internal phone memory?

Al's picture

Sorry but at the moment it isn't, but hopefully in the next release. I've got a few things on the to-do list but it shouldn't be too long a wait.

Al's picture

Unfortunately not; Android prevents applications running in the background from doing this. It makes sense as it would cause problems if you removed the memory card whilst it was running.

You could use the file manager which is found in the menu of the maps screen. If you long press a file there should be an option to move it elsewhere. Just remember to stop recording first.

What settings are best for battery life. Does the location service shut down the GPS between readings?

Al's picture

The GPS enters a low power state between readings, rather than fully off. This allows it to get a location faster than a cold-start. To lengthen battery life try increasing the 'Minimum time' between locks.

Hi Al, great app, thank you very much.

I am using this with a Parrot Asteroid Smart, to output the GPX file to Garmin Base Camp.

I am a little confused about the time zone settings in the app. In one setting, the GPX file shoes "-0700" at the end of each time stamp, and in the other setting the file shows "z" after each time stamp.

Garmin Base Camp can only open the file version that ends in "z". The other log file format just gives an error in Base Camp.

However, it incorrectly winds back the time by 7 hours from the actual time of day here in Pacific Time Zone, USA.

Is there a way to set up GPX Logger so that the actual time of day in this time zone is logged?

BTW, just FYI, the log files are saved to the SD card in the Asteroid Smart by default. Not sure why, given your posts suggesting only the internal memory can be used to store the log files. Maybe something specific to the PAS.

The actual numeric time shown in the log file is my correct time of day, both in the "z" format, and in the "-0700" format files generated by the GPX Logger.

But when Base Camp opens that GPX file, then Base Camp winds back the time by 7 hours, presumably as a result of that "z" coming after the correct time of day.

I'd just like to have an option for the GPX logger to save the actual time registered by the PAS, without that 7 hour correction.


Al's picture

The 'Z' format indicates that the time is in 'Zulu' format (basically UTC), as defined by the GPX file standard.  The other option adds the time zone offset, but as it is non-standard some software fails to read it as you've found out.
As you suggest I'm going to add an option to save the file with local time stamps, although this isn't in the standard it will give a bit more flexibility when importing tracks.

This is the best logger I have found. Would it be possible to store the HDOP of track points in the gpx file? The schema supports this rather than 'accuracy' and I think they are related by a factor of 5 (although possibly this should be hardware dependent?).

Al's picture

Thanks Rob,
I'd like to add HDOP but Android doesn't directly provided a raw value or the precision of the GPS (as you point out) to calculate it from.
If I find a way around this I will update it to add HDOP tags.

I think others commonly use Location.getAccuracy()/5 as an approximation for HDOP. Actually accuracy is the value I'm most interested in anyway. Perhaps you could add an <Accuracy> element as a schema extension? GpsStatus.NmeaListener should work too but is more involved.

If the device has a barometer, do you record the more accurate elevation measured with it rather than gps?

Al's picture

Location.getAccuracy()/5 seems to be OK for older devices, but most newer devices with GLONASS report it as /3 from the ones I've tested. I'm not prepared to add anything to the output if it can't be validated.

GpsStatus.NmeaListener does work but it's very heavy on the battery so I've had to rule that out.

I do like the barometer idea but ideally have to be calibrated from a known altitude, much as a pilot would do before flight, and could only be treated as somewhat relative rather than absolute (weather conditions vary). The calibration could be done automatically to the nearest airport but I haven't found a worldwide source for this.
I'm wondering about adding this, but currently none of the devices in my "Big Box O' Phones" has a barometer, time for eBay I think.

As for which elevation to record I say give the user the choice - one, the other or both (by extending the schema).

Just a word of warning I've see some posts berating the repeatable accuracy of some droid barometers. If you have one I'd be interested to know what you think of it's performance.

Ok, I think storing accuracy is the best option then using an <extensions> element. There has been some discussion on the GPX Developers Forum re storing accuracy, but no real conclusion. They are also talking about making the next GPX schema more minimal with some tags moving to extensions. None of the extension I am aware of (Garmin, Humminbird, Cluetrust) provide accuracy so I would just make up a new one. If someone else includes accuracy later it should be a trivial change to use it, and including the information shouldn't do any harm as it can just be ignored.

Yes, barometer information is only really useful for relative altitude but should be much better than GPS for this (I'll let you know when my new phone arrives). You could just calibrate it from the first (decent) GPS fix and add the relative altitude gain to that "which will give good results considering the range of pressure typically involved".


Click to add a comment