Combining Garmin Forerunner 305, GNU/Linux and RunKeeper
I’ve been using the RunKeeper Pro application from a few months (since May exactly) to log my sport activities and see how I go improving (or not) over time, and thus to motivate me when I run.
With this method of logging the training you need to bring the phone with you, which is a bit annoying when you run, I have an armband to wear it on the arm, but it’s still a little uncomfortable. Furthermore, the mobile GPS doesn’t work as well as you would wish, and sometimes it loses the signal, or log your route wrongly, so that workout data will be incorrect. Another drawback is that at the place where I live, it rains a lot, and depending on the weather here, you can finish your workout with a nonfunctional, and completely wet phone. And with the price of these modern smartphones it’s not pleasant.
For these reasons, I was looking for a GPS + heart rate monitor watch, it endures the rain, and has a better coverage of GPS signals. In addition, I previously ran without a heart rate monitor, and sometimes it’s interesting to know the heart rate while doing sport. I was looking at different options, and taking into account quality, comments from people, and price, my preferred choice was a Garmin Forerunner 305. So I bought it.
The only drawback I saw was the connectivity. With RunKeeper, the mobile application automatically synchronize with the web service, it was to save your workout and everything was done. With the Garmin, you need to connect it to an USB adapter to get the data. You need some drivers and a Garmin plugin that only works on Windows/Mac, while the main operating system I use is GNU/Linux.
So there was a small dilemma: I wanted to use the Garmin to log the workouts, I wanted to continue using RunKeeper web service because I think that RunKeeper guys are doing a good job and are providing a great service, plus I have a paid RunKeeper Elite account, and finally, I also wanted to continue using my favorite OS, GNU/Linux.
Fortunately it’s possible to combine all three.
The first thing to do is to copy the training data from the Garmin to the computer using GNU/Linux. To do this, I found a great reference at braiden.org and I did everything, more or less, following the same steps, but our goal is to upload the data to RunKeeper.
To copy data from the watch you need several things:
- Garmintools. You can use the upstream version, or for example, if you use Ubuntu (like me), just install garmin-forerunner-tools from Synaptic.
- Java. You can find it from Synaptic too (sun-java-jre).
- Some scripts from braiden.org (you can download the latest code from the SVN: svn co http://linuxnerd.net/svn/trunk/projects/garmin-dev)
After you have these requirements met, the following thing to do is connect the Garmin Forerunner to the USB. I think it must be turned on, before transferring data, but it could work being off too.
- Run the following command: garmin_save_runs
- We go into the directory where you placed the scripts from braiden.org, and run: ./gmn2tcx /path/year/month/workout.gmn> workout.tcx
- Now with the .tcx format will be possible to upload it to RunKeeper. To import the workout to RunKeeper, follow these steps:
This will copy the training data in the folder where you run the command, with a folder hierarchy similar to year/month/workout.gmn
This data is in a binary format, and RunKeeper won’t accept it, so you have to convert to .tcx format.
The data will be converted to the appropriate format and will be saved to the run.tcx file (or the name you want).
In your RunKeeper profile press “Post New Activity”, select the right sport, and in the screen “Add map”, press “Import Map” button. Then, select the right file using the chooser from the left side of the screen, “Import from a GPX or TCX file”. And if everything is correct, all data from your workout (even heart rate data) with the Garmin will be available on RunKeeper.
It’s possible to automatize this process further and do it much easier, even with a small graphical application using simple steps. If the RunKeeper guys publish an API of their service, probably I can create something for that.
As the only drawback I’ve found so far is that RunKeeper doesn’t differentiate the total time from the elapsed time. Sometimes you need to stop at a light traffic or something else, and the Garmin watch auto-pause . That time is token by RunKeeper as training time. But hey, it’s not something very important because the pause time is usually very little. By the way, this is my RunKeeper profile, if you want to check my workouts.
Posted on January 29, 2011, in Cycling, Running, Sports and tagged bike, forerunner, garmin, GNU/Linux, gps, heart rate monitor, runkeeper, running, sport. Bookmark the permalink. 11 Comments.

This is really fantastic. I assume that you could do something similar in OS X using the Training Center software and exporting in .tcx format before uploading to RunKeeper?
James, definitely you can export the .tcx file with Training Center to upload it to RunKeeper. I haven’t tested it in OS X, but with Windows it works perfectly.
Thanks.
Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something. I think that you can do with some pics to drive the message home a little bit, but other than that, this is excellent blog. A great read. I will certainly be back.
I just want to mention I’m very new to blogging and site-building and certainly savored this page. Almost certainly I’m planning to bookmark your site . You certainly have superb articles and reviews. Cheers for revealing your website.
sweet stuff there. I have always thought about doing this, combing the GNU/ Linux and Runkeeper but never had the courage to make the changes. I was afraid I wand gonna screw it up. HAHA. I “think” I may have enough info above to walk myself through it without too much mess. Thanks
Ryan Jacobs
Garmin 1490T
I have been using the Forerunner 305 for the past five months and can’t imagine how I got along without it.
I primarily use the unit for my running, which has improved dramatically. This is because the unit allows me to easily monitor a wide variety of items on three screens that can be customized to each show four items.
My first screen shows total time elapsed, speed in MPH, total distance and heart rate. My second screen shows the time for my current lap, the time for my last lap, the lap distance covered so far (I set a lap to equal one mile), and again heart rate. My third screen shows calories burned, time of day, paused time and sunset time. There are many other combinations available.
For me these settings have enabled me to improve my running by giving me an accurate picture of how I am doing. I can then download each run onto my computer and compare my progress from week to week. The Garmin software is primitive, but is suitable for my needs. There are more sophisticated software alternatives that you can read about in other reviews.
I have been able to get a GPS signal even on completely cloudy days, and have not lost it when running through paths with lots of trees.
The heart rate monitor readings do not “bounce around” like they do on many execise monitors, but rather are always steady. This enables accurate heart rate monitoring instead of bouncing around 10 or 20 beats at a time.
As a separate accessory you can purchase a footpod, which is a transmitter that attaches to your sneaker so that you can use the 305 indoors on a treadmill, which I do very often during the winter months.
The unit itself is not bulky to wear, and feels pretty much the same as wearing a watch, though of course it is somewhat larger.
When running I especially like the auto pause feature, which stops the time being recorded for laps and records the time standing still, such as a rest stop or waiting for a traffic light to change. This is far superior to manually stopping the timer, because many times you resume running and forget to turn the timer back on.
My one minor gripe is that there is no auto off feature, so that if you forget to turn the unit off, you will drain the batteries.
Overall I highly recommend this unit and have not had any problems with downloading my data or installing software updates.
UPDATE Sept. 23,2008: If you own a Mac, the Garmin Training Center software is even more primitive than the PC version. I highly recommend a Mac software program called Ascent. It is highly customizable and terrific for organizing your data and training. I wish they made a version for the PC as well.
UPDATE July 4, 2009: A few weeks ago I bought the Forerunner 405cx (which I have reviewed on Amazon) to replace my 305 and am very happy with my decision. But since the 305 costs less than half of the price for the 405cx, you have to decide whether the new features are worth the extra money to you.
Helpful info. Lucky me I found your site by chance, and I’m stunned why this accident didn’t came about in advance! I bookmarked it.
Your site is pretty interesting to me and your subject matter is very relevant. I was browsing around and came across something you might find interesting. I was guilty of 3 of them with my sites. “99% of blog owners are committing these 5 mistakes”. http://tinyurl.com/7z8coet You will be suprised how fast they are to fix.
Pingback: Tweets that mention Combining Garmin Forerunner 305, GNU/Linux and RunKeeper « yerga blog -- Topsy.com
Pingback: Why use an iPod armband | Camera For Computer Secrets
Pingback: Mein Navishop - Beste Preise und alle Infos rund um Navigationsgeräte