Tuesday, April 17, 2012

steine, brunnen, huetten im schoenbuch

Following two links contain information about monuments, stones, wells, huts, and misc other stuff you can find within the Naturpark Schoenbuch:
Note: the sites are in German language.


Why buying the Forerunner 910XT was bad ...

Some time ago (I already had a Garmin Forerunner 305 GPS Watch) I decided to run some ultra-marathon. It's kind of a normal procedure for ultra runners to run longer and climb higher as they pursue their running. Yeah, I would not like to stand out as an exception here. So while I'm still kind of an newbie I managed to finish a 100 mile trail run and even had fun on a 24h run.
So how's this related to the topic and why is it bad I now have the 910XT?
For an (average) ultra runner the main disadvantage of the FR305 and many other GPS enabled watches is their battery life. The FR305 offers 10h (on mine it lasted 13.5h once!) according to the specification. The longest battery life you can get from current Garmin Forerunner devices is about 20 hours (310XT and 910XT). Now SUUNTO claims 50h GPS (with one minute GPS data recording intervall) with its Ambit. AFAIK Polar does not have watches with integrated GPS but rather use external GPS sensor (like some of the other Suunto watches). This is usually good because those external sensor devices have replaceable batteries. It looks most of them lasts for about 10h. I do not know much details about how they record the GPS track and if the track recording continues after replacing the battery. For one of the older Suunto GPS pods I read that it is not intended to get the GPS data out of the device (easily).

So having said all this I may introduce my little project I started about a year ago and which has not really evolved that much since than.

A Texas Instruments MSP430 development kit called TI Chronos-eZ430 was released late 2010 for 50 EUR. This device features on-board 3-axis accelerometer, pressure sensor, temperature sensor, battery voltage sensor, and wireless transceiver.
Besides this hardware features the watch can be full (re-) programmed with your own firmware. One actively maintained firmware project, based on TIs original Sportswatch firmware, is OpenChronos. To compile code under Linux you need to install the msp430-gcc cross compiler.

So what to do with this watch?

I wanted to build my own ultra-trail-running-watch. These are some of the requirements on such a watch:
  • Very long battery life (30h+) with the option to replace batteries on the run
  • Record GPS track (adjustable intervals)
  • Provide accurate elevation data and display accumulated (positive) elevation
  • Provide pace and distance
Additional hardware I purchased in order to built such ultra watch:

  • LiPo Battery  + charger
  • Additional stuff to test certain power supply options

So to at least answer the question why the 910XT buy wasn't so good is that I now have even less motivation (and still no time) to continue building my own watch. But I will definitely continue on this with low priority.

Links to gitorious repositories for chronos and amber code:


Forerunner 910XT

Known Bugs

Unfortunately there's (still?) some bugs in the current firmware version 2.40 of the 910XT watch.
See https://forums.garmin.com/showthread.php?t=26810
and https://forums.garmin.com/showthread.php?t=26776

The two problems described there are the fact that the breadcrumb track/line that is usually displayed during course navigation is not visible all of the time. The reason seems some "optimization" feature being added (this works very well with the old Forerunner 305).
In addition it happened to me twice during a run that the device out of the sudden just switched off. I could simply switch it on again and continue as usual but that seems kind of irritating.


Hrmm ... in this reply to one of the threads above it is suggested to add additional trackpoints between two points that are too far away from each other (like a few hundred meters).
However this does not (always) work. Well I assume for large tracks it will most likely never work. As the option on gpsies.com is called "set points evenly" there won't be any additional trackpoints added to a existing track. But this is what you really want add points where the distance is less then a given minimum distance. I do not know what this minimum distance would be (and I have not yet tried this either) but in the forum we talk about meters, probably less then 100meter.
So how to do this?
The solution is to use gpsbabel. You will need to use the interpolation filter as described here.


Check number of trackpoints for a given course:
$ grep LatitudeDegrees sut100foo-eventrkpts.tcx | wc -l
Now add points between every two trackpoints that are less then 90 meters apart:
$  gpsbabel -i gtrnctr -f sut100foo-eventrkpts-withcoursepts.tcx -x interpolate,distance=0.09m -o gtrnctr -F sut100foo-mindist-009m.tcx

check number of trackpoints again:
$ grep LatitudeDegrees sut100foo-mindist-009m.tcx | wc -l

Saturday, April 7, 2012

chicken run

Chicken Run

out and back from home to Mauren ...

... buying some food for tomorrow.

Thursday, April 5, 2012

Forerunner 910XT

Garmin Forerunner 910XT and Linux

The Forerunner 910XT as well as other newer Garmin devices is/are using the wireless ANT+ protocol together with ANT-FS to transfer files from/to a PC. Note: ANT-FS means ANT File Share (not File System).
Garmin make use of so called FIT files, which are part of ANT+. Several FIT file types exists. The ones that bother me the most right now are the so called 'Activity' and 'Course' types.
If you are a runner an Activity file basically contains your run data, i.e. distance, time, laps, heartrate, elevation, position data.
You want Course files in order to follow some track someone else has ran previously or for tracks you create yourself on some kind of digital map e.g. within Google Earth or online tools like http://www.gpsies.com or http://www.bikeroutetoaster.com/.

At this point in time you can use Garmin-Forerunner-610-Extractor hosted on github to download files from a Forerunner 910XT.

Converting fit to tcx for example can be done with Fit-to-Tcx python tool which is also available on github.

Example Usage

Garmin-Forerunner-610-Extractor_Tigge] (167)$ python garmin.py
Request basic information...
Starting system...
Open channel...
String length:  16
Unit ID:        3843964727
Product name:   Forerunner 910
3  128  144  574  1989-12-31 01:00:00
4  128  208  680  1989-12-31 01:00:00
5  128  208  1159  1989-12-31 01:00:00
6  128  208  317  1989-12-31 01:00:00
7  128  208  1159  1989-12-31 01:00:00
8  128  208  317  1989-12-31 01:00:00
9  128  208  1197  1989-12-31 01:00:00
10  128  176  1397  2012-03-30 20:55:54
11  128  176  1164  2012-03-30 23:30:38
12  128  176  1765  2012-03-30 23:38:56
13  128  176  4052  2012-03-31 22:06:38
14  128  176  7901  2012-04-01 12:19:08
15  128  176  14638  2012-04-01 13:51:24
16  128  176  36932  2012-04-02 13:30:34
17  128  176  5702  2012-04-03 09:13:26
18  128  176  19566  2012-04-03 19:56:56
19  128  176  51949  2012-04-04 13:52:50
20  128  240  31169  2012-04-01 22:30:00
21  128  208  72  1989-12-31 01:00:00
22  128  208  627  1989-12-31 01:00:00
23  128  144  72  1989-12-31 01:00:00
24  128  144  168  1989-12-31 01:00:00
25  128  208  72  1989-12-31 01:00:00
Done downloading 3-80-1989-12-31_01-00-00-574-416.fit
Done downloading 4-80-1989-12-31_01-00-00-680-416.fit
Done downloading 5-80-1989-12-31_01-00-00-1159-416.fit
Done downloading 6-80-1989-12-31_01-00-00-317-416.fit
Done downloading 7-80-1989-12-31_01-00-00-1159-317.fit
Done downloading 8-80-1989-12-31_01-00-00-317-317.fit
Done downloading 9-80-1989-12-31_01-00-00-1197-1197.fit
Done downloading 10-80-2012-03-30_20-55-54-1397-1397.fit
Done downloading 11-80-2012-03-30_23-30-38-1164-1164.fit
Done downloading 12-80-2012-03-30_23-38-56-1765-1765.fit
Done downloading 13-80-2012-03-31_22-06-38-4052-4052.fit
Done downloading 14-80-2012-04-01_12-19-08-7901-7901.fit
Done downloading 15-80-2012-04-01_13-51-24-14638-14638.fit
Done downloading 16-80-2012-04-02_13-30-34-36932-36932.fit
Done downloading 17-80-2012-04-03_09-13-26-5702-5702.fit
Done downloading 18-80-2012-04-03_19-56-56-19566-19566.fit
Done downloading 19-80-2012-04-04_13-52-50-51949-51949.fit
Done downloading 20-80-2012-04-01_22-30-00-31169-31169.fit
Done downloading 21-80-1989-12-31_01-00-00-72-72.fit
Done downloading 22-80-1989-12-31_01-00-00-627-627.fit
Done downloading 23-80-1989-12-31_01-00-00-72-72.fit
Done downloading 24-80-1989-12-31_01-00-00-168-168.fit
Done downloading 25-80-1989-12-31_01-00-00-72-72.fit
$ python ../FIT-to-TCX/fittotcx.py 19-80-2012-04-04_13-52-50-51949-51949.fit.fit > 19-80-2012-04-04_13-52-50-51949-51949.tcx

You can use the fit file directly for uploading to Garmin Connect for example.

Tuesday, April 3, 2012

Now I have my own blog ... how cool's that?

Well ...maybe it's rather futile.