This is a post about hitting the buttons on the erg according to certain “cheat codes” to start specific workouts. There’s not much to it.

If you memorize a given code, you can program it with your eyes shut.

I’m using a Concept2 PM5, specifically. The buttons A, B, C, D, E are the blank buttons on the right side, top to bottom.

Most Frequently Rowed

For these, you don’t have to hit E to start the workout, you just dial it in and pull.

Standard workouts

B-A-A — 2K

B-A-B — 5K

B-A-C — 10K

B-A-D — 30:00

B-A-E — 500m / 1:00 …

Custom workouts

B-B-A — :30 / :30 …

B-B-B — 1:00 / 1:00 …7

B-B-C — 2000m / 3:00 …4

B-B-D — 1:40 / :20 …9

B-B-E — Marathon (42,195m)


To be honest, I have never played these. The Darts & Target games sound like repetition & consistency games, the Fish game just the opposite.

Current settings

E-C-A — Fish game

E-C-B — Darts game

E-C-C-A — Target game, Just Play


(not current as of 2019-12, but maybe your erg has old firmware)

C-A — Fish game

C-B — Darts game

C-C-A — Target game, Just Play

Programming something else

Everything else is under B-D: we’re going to drop into a menu of choices to end up at basically an Edit Screen, which has a check mark we use to start the workout (E).

B-D-A..E — Single distance (default 2K)

B-D-B..E — Single time (30:00)

B-D-C..E — Single calorie (50kCal)

B-D-D-A..E — Intervals, distance

B-D-D-B..E — Intervals, time

B-D-D-C..E — Intervals, calorie

B-D-D-D..E — Intervals, variable

The Edit Screen

I want to break down the Edit Screen, as it takes a lot of codes to get through it. First, an example of what we can do with Single distance:

B-D-A..E — 2K (400m split)

B-D-A..B..E — 3K

B-D-A..C..E — 1K

B-D-A..6A-B..E — 2K (500m split)

B-D-A..6A-C..E — 2K (300m split)

I don’t really care about the pace, so I’m not going to cover that detail. Sometimes it is nice to line up a sensible split, though.

Things to remember about the Edit Screen:

  • you start off editing the Main Parameter (distance, time, calorie), then the Split, then the Pace1
  • it takes 6 __A__s to get from Main Parameter (0x000 digit) to the Split (00x00 digit)
  • you always end by starting the workout with E
  • it’s probably not worth memorizing, unless you want to punch in a 3K, 4K, 6K, or 8K.. which I will list below

1K 2K 3K 4K..

1K — B-D-A-C-E

2K — B-A-A

3K — B-D-A-B-E

4K — B-D-A-2B-E

5K — B-A-B

6K — B-D-A-4B-E

7K — B-D-A-5B-E

8K — B-D-A-6B-E

9K — B-D-A-7B-E

10K — B-D-A-8B-E

Other useful codes

I sometimes get into a pattern of Warmup-Exercise, Warmup-Exercise, &c, day-in-day-out. If I can pull up the most-recent-workout or even better the 2nd-most-recent-workout, that’d be all I need.

B-C-E — (re-)row most recent workout

B-C-C-E — (re-)row 2nd most recent workout

To Re-row but only review:

B-C-D — review most recent workout

B-C-C-D — review 2nd most recent workout

Memory: the best1 way to review

These first two are basically the same as the ones under “Re-row” above:

D-C-D — review most recent workout

D-C-C-D — review 2nd most recent workout

D-D-A — review all Single distance workouts

D-D-B — review all Single time workouts

D-D-C — review all Single calorie workouts

These last 3 are great: they let you scroll chronologically through “all your 2Ks”, “all your 10Ks”, or “all your 400Cal pieces”, &c. It will list times next to each in the list view, so you can pretty easily see how fast you’ve rowed a certain piece over time.

  1. the website is honestly even better, and the possibility to download a CSV, import it into SQL, and write queries/analytics by hand is by far and away the best, but.. you can’t do either of those quite as easily from the slide  2