Monday, January 14, 2013

Erg Amigo is Born!

A couple of posts ago (that's simply, "Couple posts ago" to any Americans reading) I mentioned that I had found a way to get data from my Concept 2 rowing erg using a Python script called PyRow. Since then I have started making a little application to make erg training more fun and yesterday I christened it Erg Amigo and set up a repository on GitHub.

Whilst it's currently not a lot more than a tool to log workout data from the erg and draw little graphs, I plan to expand it into a proper application that can run real-time logs of multiple connected ergs and perhaps add racing functionality. It will almost certainly never be as functional as the official RowPro software that Concept 2 sell on their website, but at least it will work on non-Windows systems.

Here's the first mind-blowing screenshot of my progress showing a plot of multiple force curves overlaid on top of one another. The erg monitor already displays single force curves, along with a host of other information, but I want to make interactive logs so that the user can see how consistent their strokes are and how close to an ideal curve they are hitting throughout their session. When I add a graph to show other variables, such as strokes per minute, power and pace over the course of an entire session, the ability to view force curves for any point in time and overlay them should be quite useful.

Python is pretty fun by the way. I recommend giving it a whirl with some small project to see how you like it. There are built in libraries for just about everything, so it's a huge difference from using something like c++, where you have to write everything yourself, or find, download, configure and compile existing ones. I doubt you are going to write God of War in Python, but for little projects where raw performance and the ability to do extremely custom or low-level stuff are not important, it's ideal.


  1. Have you experienced any USB timeouts using the Pi or PyRow or indeed any other errors that cause the script or erg monitor to crash?

  2. I wasn't using a raspberry pi - it was just hooked up to an Ubuntu laptop. I don't recall any crashes, although to set it up initially you need to allow python to access the connected USB erg via some minor terminal tinkering.