2018 Marji Gesick 100: #QUITTER

IMG_6420.jpg

After successfully finishing the Marji Gesick 50 in 2017 I got a strange desire to do it again, but this time trying the 100 mile option. Most of my difficulties with MG50 were due to the heat, dehydration, and not being sufficiently familiar with technical trail riding. Having completed Lumberjack 100 numerous times, finished the Barry-Roubaix Psycho-Killer, and done a bunch of not-easy 100+ mile gravel rides I’m no stranger to completing ultra endurance events, and I figured that with the right preparation I’d be able to finish.

From great fat biking to a solid Lumberjack, from long endurance rides to getting a smart trainer, preparation worked out really well this year. I was fortunate to be able to spent a lot of time up in the Marquette area riding bikes, getting plenty of experience with technical sections (both up and down) that I was previously too afraid to ride. I got a lot of climbing in, did a number of long rides, had a solid nutrition plan, had the requisite lighting set up, and was ready to go.

Unfortunately, it didn’t work out. I DNF’d. Why? Fatigue.

And I just didn’t have it in me.

The course wore me out. Whether you are doing it as a race or just to finish, Marji Gesick 100 is a serious event, awarding a beautiful belt buckle to anyone who crosses the finish line in under 12 hours. With only a bit over 12 hours of daylight on race day, and buckles typically only going to elite-level racers, most normal humans (such as myself) who manage to finish will be in for a long day with the most technical of the riding — the end of the route — happening in darkness. I definitely underestimated the toll the first part of the race would take on me. Before starting I roughly figured race day would take ~15 hours, and with the low heart rate I tend to have on these technical routes (compared to long pre-race rides), I thought that I’d be fine. With my longest rides of the last three years being 9-10 hours moving time, about half way through the route I realized I hadn’t had enough long days. As the day wore on and I hit ~11 hours I was feeling pretty cooked.  The first time I reached the bag drop† I was feeling spent, but decided to go back out and see how I felt; clear lenses in my glasses and lights in my pack I kept riding.

While I could still put out power, as I got into the very-technical RAMBA trails I was feeling sleepy and a little light headed at the top of climbs. I didn’t have the focus to climb nor descend well, feeling like I was constantly about to make mistakes, walking much more than the last time on those trails. My upper body was getting sore from handling the bike and I stopped having fun. I kept riding, telling myself that when I reached the Iron Ore Heritage Trail (IOHT) as the course passes through Ishpeming I’d decide what to do.

While I probably could have finished, I stopped half-way up the switchback climbs of Last Bluff, looking out at the setting sun, and decided my day was over. Three miles later, where Partridge Knob splits off from the IOHT I stopped my Garmin, put on arm warmers, chatted with some support folks on an ATV, and texted Kristen to let her know I’d be meeting her in 20 minutes.

This was a real good day, and I had a lot of fun for the amount of race route that I did ride. To some extent I think I could possibly have finished, but I don’t think it would have been any fun, and I really didn’t feel like trying. Getting those remaining 20-some miles done would have involved hours of walking in the dark and not riding what’s otherwise super-fun trail. I don’t regret my decision, and even as I quit I was looking forward to coming back and having fun with the MG50 in 2019.

Two days later I ended up back out on the RAMBA trails, starting a ride from where I dropped out of the race. GPS data, memories of last year, and a few lingering signs pointing the way I finished up the race course and realized two things:

  1. I really, really like these trails.
  2. The choice to DNF was the correct one.

So, beyond quitting? It was a great race, and I’m really glad I did it. But I really do think the MG50 is more for me.

Here’s some data on Strava of my race day and the finishing-it-up ride:

My remaining thoughts about the race are best captured as points:

  • Having someone to meet you and help you out with nutrition (the only kind of outside aid you’re allowed to accept) is amazing. Kristen met me at the South Trailhead with a half a burrito and mixed up bottle. Seeing her, eating that burrito, and only having to worry about filling my pack with water was mentally amazing and hugely helpful.
  • Starting off the MG100 is a 0.5 mile run. I was worried this would cause me problems, but I sort of trotted / jogged along and it was fine. Running along with my friend Erik and chatting it sort of just went, and next thing I knew I was at the start area and my bike and it was time to ride.
  • The weather was intimidating at first, but otherwise amazing. It was in the 40s at the start, but most of the day hovered nicely in the 50s and 60s. I mostly had a chilly/cool feeling on my arms, but never felt cold.
  • The route is mostly great. Starting out heading into Harlow Lake strings things out nicely, and by the time we reach the first seriously technical section (Top Of The World) things are fairly spread out.
  • There were two not-very-hard parts of Harlow Lake that I did not enjoy riding, especially in a group. The first was the Lower Hogback single track, which is rocky and wet. The second was the swampy portion through the power line corridor when heading south. The latter soaked my feet, and they remained wet until I changed socks at the bag drop lots of hours later. I’m glad I had good socks.
  • It was clear climbing the back side of Marquette Mountain was going to be tough, but I figured we’d be taking the usual double track to the top. Instead we turned off of the double track and climbed Snake Oil before descending Ezy-Rider. That climb, and seeing only 51 miles on my computer when I reached the top, was when I started to question if I could finish.
  • The mix of folks I ended up near on the MG100 seemed to be a bit more serious / less talkative than those I rode with last year in the MG50. I’ll chalk this up to nerves and lots of people taking the race more seriously than I apparently did.
  • While difficult, the whole route remains great. There’s a good number of parts I can’t yet ride (Gurly, some climbs, a fair number of things in RAMBA-land), but otherwise it’s outstanding.
  • After climbing Lowe’s the race route passes through a box culvert. I was afraid this would be full of water, but no… it was fine. It was just dark. There are far swampier areas within a few miles of the end of the race.
  • There were many, many ad hoc aid stations. At almost every major road crossing or parking area there were folks set up. Beyond what Kristen got me, I also ate a couple granola bars, a banana, and some water. At almost every significant point there was someone offering food, water, and even whisky and beer. These aid stations are MUCH less frequent around the RAMBA trails.

If you are trying to decide if you should try this race, do it. You will need to prepare, those who haven’t ridden in the UP should plan a trip or two to get a sense of the trails before race day, but do it. When registration opens at 12:01am on October 13th, sign up. Consider doing the MG50 as it’s a good bit easier than the full MG100, but do it. It’s worth it. These are phenomenal trails in an amazingly beautiful area. You will struggle and suffer a bit, but you will have fun doing it. And you’ll want to come back again and again.


† While the race is officially unsupported, it passes through a bag drop area at Jackson Mine Park — a de facto aid station — twice. Once around 70 miles in, and a second time at around 95 miles.

‡ The MG100 race is officially 100 miles, most riders who complete it with a wheel sensor see ~110 miles total. I believe the higher number to be correct, based on:

  1. Recording 59 miles for last year’s MG50.
  2. Seeing 51 miles on my bike computer when the 50 and 100 courses converged.
  3. My experience with assessing under recording on GPS-only vs. GPS-and-wheel-sensor setups.
  4. Detailed analysis of the official GPX route files compared to my recordings of the same trails.

defaults on macOS Can Break Otherwise Usable plist Files

Today I learned that the defaults(1) command on macOS can break otherwise-parsable plist files.

I found this when trying to change selectedThrottleIndex in the Arq config (~/Library/Arq/config/app_config.plist) to adjust a bandwidth usage setting. I didn’t have access to the GUI, wanted to change things from CLI, and whoops! After changing this things broke.

Consider this… First I read out the setting with defaults read ~/Library/Arq/config/app_config.plist selectedThrottleIndex, then set it with defaults write ~/Library/Arq/config/app_config.plist selectedThrottleIndex 2, then read it again to verify the change. All looked good, so I figured I was done and I let things bake.

Upon getting physical access to the machine and launching the GUI, I found that Arq was no longer activated, needed my license info again, and then (uggh!) had lost my configuration. This was fixed by first restoring the whole of ~/Library/Arq from Time Machine, launching Arq, browsing to the backup destination, and clearing it’s cache. After rescanning the destination all was good.

So, why did it happen? Well, it turns out that Arq uses a headerless XML-ish text file with the suffix .plist. Even though it’s not in the same format as plutil(1) outputs, defaults(1) will still read it and modify it… But the resulting file is a plist binary! It seems that Arq only likes to parse its format (note: I did not exhaustively test this — plutil(1)‘s xml1 format may work), so upon seeing the binary version it the program presumed no config and started over. Whoops! Interestingly, the defaults(1), plutil(1), and pl(1) commands will all happily parse the Arq format file.

Note that after launching Arq with the broken config and re-adding the license, restoring just the app_config.plist file didn’t make things better, which is why I jumped right to restoring the whole ~/Library/Arq directory. There must be some config caching somewhere or so…

Garmin Edge 130 (vs Edge 520) First Impressions

IMG_0027.jpg

Back in 2011, when I was thinking about trying Lumberjack 100 for the first time, I bought a Garmin Edge 500 so I could log data and use heart rate zones for training. This worked out very well, and over the years I’ve iterated through of other Garmin units, including the Edge 510, 520, and now the new Edge 130. After years of acquiring increasingly complex units I recently switched to the less-featured unit (the Edge 130), finding that it covers everything I need, with some nice upsides over the 520. It’s a great computer for my mixed mountain / gravel / dirt / road riding, including the same, basic, line-following breadcrump route support that’s gotten me through self-navigated events like Barry-Roubaix and Marji Gesick.

First, the upsides. This unit has a higher resolution black and white screen which looks remarkably good in direct sunlight; much better than the color 520. The unit itself is quite a bit smaller (41 x 63 x 16 mm) than the Edge 520 (49 x 73 x 21 mm) which fits better on my stem mounts. I think the all-dark-grey color of the housing blends in with a bike better. The unit also feels like it responds faster to button presses. While this may just be the faster-updating display, it’s nicer when flipping through data pages.

Now, the downsides. While there are fewer features (no base map, can’t have as many data fields on screen at once — all well covered elsewhere), none affect my general use of the unit, but are worth mentioning. All are as of v2.20 firmware, and the software quirks will be changed:

  1. Zones (heart rate and power) must be defined using Garmin Connect; they cannot be configured in the unit itself.
  2. It is not possible to rename sensors. This means I can’t name a bike’s speed/cadence senors after the bike, which can make things a bit confusing if I have multiple sensors active in an area and I want to be sure the unit is currently listening to the right one.
  3. The rubber cover for the microUSB connector feels a little flimsy. It effectively rotates on a small piece of rubber and as someone who plugs in my Garmin after every use I have concerns for how long it’ll last.
  4. Some of the fonts seem a bit small, leaving a bunch of extra white space (particularly Heading as seen above). They are still readable, just small.
  5. The unit prompts for ride type (Mountain, Road, etc) after each ride. You can’t select a ride type by default, although it does default to the last option. (Just something more to choose when saving.)

Outside of the display and size, the biggest difference between the 130 and 520 is the data fields each can display. While both units will record from the usual speed/power/heart rate sensors, they vary quite a bit in what each will display. Here are the data fields that the 130 and 520 will display (some names edited from official Edge 130 documentation so they’d align with the Edge 520 names):

Battery Level · Battery Status · Beam Angle Status · Cadence · Cadence – Avg. · Cadence – Lap · Calories · Dist. – Lap · Dist. to Dest. · Dist. to Next · Distance · ETA at Destination · ETA at Next · Elevation · Grade · HR – %Max. · HR – Avg. · HR – Lap · HR Zone · Heading · Heart Rate · Laps · Location at Dest. · Location at Next · Odometer · Power – 3s Avg. · Power – Avg. · Power – Lap · Power – Max. · Power – kJ · Power Zone · Speed · Speed – Avg. · Speed – Lap · Speed – Max. · Sunrise · Sunset · Time · Time – Avg. Lap · Time – Elapsed · Time – Lap · Time of Day · Time to Dest. · Time to Next · Total Ascent · Total Descent

Here’s the additional fields the Edge 520 will display:

Balance · Balance – 10s Avg. · Balance – 30s Avg. · Balance – 3s Avg. · Balance – Avg. · Balance – Lap · Course Pt. Dist. · Dist. – Last Lap · Dist. to Go · Front Gear · GPS Accuracy · GPS Signal Strength · Gear Battery · Gear Combo · Gear Ratio · Gears · HR – %HRR · HR – Last Lap · HR Graph · HR to Go · Light Mode · Lights Connected · PCO · PCO – Avg. · PCO – Lap · Pedal Smoothness · Power · Power – %FTP · Power – 10s Avg. · Power – 30s Avg. · Power – IF · Power – Last Lap · Power – NP · Power – NP Lap · Power – NP Last Lap · Power – TSS · Power – watts/kg · Power Phase – L. · Power Phase – L. Avg. · Power Phase – L. Lap · Power Phase – L. Peak · Power Phase – L. Peak Avg. · Power Phase – L. Peak Lap · Power Phase – R. · Power Phase – R. Avg. · Power Phase – R. Lap · Power Phase – R. Peak · Power Phase – R. Peak Avg. · Power Phase – R. Peak Lap · Rear Gear · Reps to Go · Target Power · Temperature · Torque Effectiveness · Trainer Resistance · VS – 30s Avg. · Workout Step

Most of these are around in-depth training with power, leg balance, support for electronic shifting, and other metrics that I don’t use. Therefore, nothing is lost moving away from the 520. Temperature — which is still recorded — is the only one that might be handy, but in my experience Garmin’s temperature readings seemed to be a bit off and didn’t really map to how it feels, and I definitely didn’t need it as an on-device data point during rides. (See the Edge 130 Manual Appendix and Edge 520 Manual Appendix for more information on what each field means.)

All said, I’ve had no problem configuring the Edge 130 to display the same screens as my Edge 520, resulting in the same functionality. Even nicer, on the 130 I can choose to not show the elevation chart; something that I’ve never found myself using and had to flip past on previous units. Here’s how I have the different display pages set up:

Page 1: / Six Fields: Timer, Speed, Distance, Time of Day, HR Zone, Heading

Page 2: / Four Fields: HR Zone, Cadence, Timer, Heading

Page 3 / Three Fields: Timer, Time of Day, Sunset

Page 4 / Map: No Fields (Map only, shows breadcrumb / loaded course.)

Thus far I’m happy with the unit; happy enough that I’ve sold my Edge 520.

For more specifics on the Edge 130, please check out both the excellent Garmin Edge 130 In-Depot Review by DC Rainmaker and the Garmin Edge 130 product page.

Titanium Frame Caused Garmin Speed Sensor Issues?

IMG_8944.jpg

For a couple of years my main XC bike (2014 Salsa El Mariachi Ti) has had issues with my Garmin bike computers (Edge 510, 520, and 130) pausing mid-ride when I wasn’t actually stopped. This shows up as the head unit briefly flipping to a paused symbol (⏸), before returning to recording. Post-ride, when reviewing data in rubiTrack, the red callouts on the route indicate the pause locations and show they’d last for a couple of seconds. While I couldn’t reliably reproduce the pauses, they seemed to happen whenever I’d stop pedaling. It seemed to be more common when on tight/twisty trails where GPS positioning is spotty, but it’d also happen while moving at 10-20 MPH on straight, clear-sky areas. It almost seemed like the Garmin was choosing to pause when I stopped pedaling, an indicator that maybe the computer wasn’t aware the speed sensor was still moving.

On all of my bikes I have the Garmin Bike Speed Sensor fit around the rear hub and computer set to autopause when stopped, but the problem only happened on the El Mariachi Ti. It did not happen when using the older Garmin GSC 10 magnet/reed switch speed sensor which mounts to a chainstay. It also doesn’t happen on either of the steel (El Mariachi SS or Vaya) or carbon fiber (Mukluk or Camber) bikes, so I accepted it and figured the problem to be the wheel speed sensor. After acquiring an Edge 130 bundle I tried the new wheel speed sensor, but the problem persisted and got me thinking…

The solution ended up being simple: move the speed sensor to the front wheel. On an A/B test at River Bends Park where I did one lap with the sensor on the rear wheel, then another two with it on the front, the issue didn’t stopped appearing when the sensor was on the front.

Thinking it through I can only conclude that the problem was caused by the frame material. The sensor is detected by the head unit and seems to work fine the time, but perhaps the signal is sufficiently degraded that connectivity is sometimes lost. I suspect that then the unit falls back to pausing based on GPS signal + pedaling.

garmin_speed_sensor_el_mariachi_ti_rear_wheel.png

Sensor on Rear Wheel (Problems)

garmin_speed_sensor_el_mariachi_ti_front_wheel.png

Sensor on Front Wheel (Problem Solved)

A Surprising Little Pump

Wanting to reduce the size of the tools carried on the Vaya I went looking for a new pump, and what I found surprised me: the diminutive Mobo Pocket Air Pump (4″). Despite being marketed by a company that seems otherwise known for low-cost and kid-branded recumbents, this seems to be a quality pump for MTB and gravel road emergency use.

Looking for a small emergency pump my primary requirements were functionality and size, followed by the amount of time it’d take to inflate a tire. I have tubeless setups on all my bikes, which tends to be pretty reliable. Flats are pretty rare, so when they do happen I’m okay with taking my time installing and inflating a tube. Being something that’ll be packed away for non-routine use I’d prefer the emergency gear to be small and reasonably light. The Mobo pump seemed like it might be too cheap to work well, but just about $20 (via Amazon) I figured I’d give it a go.

Ideally I’d like to be able to fit a tube, multi-tool (including chain tool), pump, and a car key inside of a small seat bag. With this pump I think I’m on the way, as it had no problems fitting into a slightly-older, small-sized Timbuk2 saddle bag along side a Crankbrothers M17 multi-tool, with plenty of room to spare. Along with a bottle cage mount it ships with a nice brass Presta to Schrader adapter and sports ball inflation needle. The inclusion of an adapter is good, because the pump itself is Schrader-only. Thankfully packing either the stock adapter or an aluminum one into the bag isn’t a big deal.

Inside the expectedly cheesy (but well packed) box is a solid-feeling pump that measures in at 3-7/8″ long, 7/8″ diameter at the body, and 1-1/2″ across the pump head. At 56g it’s lighter than a 16g CO2 cartridge, and right about the same size as a cartridge + valve head. Somewhat to my surprise it has a very nice, light, smooth pumping action and check valve sound. Basic tests in my basement showed to work reasonably well.

My first test was inflating a 700 x 35-43c Kenda tube from flat to shape, as one would do before fitting it into a tire. This took 42 pumps — none of which required any notable effort — and took well under a minute. The second test was inflating the front wheel from my Specialized Camber, a 30mm internal width rim fitted with a 29 x 2.3 Specialized Purgatory tire, from atmospheric pressure. After pumping for four minutes the tire had 22 PSI, which is my normal front tire pressure for rocky trails. Finally, the third test was re-inflating the Vaya’s front wheel — a WTB KOM i23 rim and 700 x 38c Specialized Trigger tire set up tubeless — from atmospheric pressure to 43 PSI. This took a total of around six minutes, with some pauses sprinkled in as my arm got tired. Nearing the final pressure the pump got fairly hard to press, leading me to believe that the claimed 100 PSI maximum is probably more a technical than functional limit. Getting a wheel to 100 PSI with this pump would be… a challenge.

Sure, four minutes for an MTB wheel and six minutes for my road bike is a while, and the low volume won’t be re-seating any tubeless tires, but as an emergency pump this should be fine to get one rolling again. While some folks prefer CO2, as a one-shot item I’d want to carry a pump as a backup… Being small enough to tuck in a saddle bag with other parts, and right about the same size and weight as a CO2 cartridge, but multi-use. It’s what I plan to pack into a seat bag on future rides. While I hope it works when I need it — and seems like it will — needing to use a pump in the middle of a ride is something no one wants.

What’s In My Pack? (2018 Edition)

Back in 2012 I wrote What Do I Carry When Riding My Bicycle? to show what I carry to be prepared for long mountain bike rides with a pack. Six years and some refinement and reduction later, it’s time for an update.

I like to do longer — but single day — rides, summer and winter, on any kind of MTB from XC to trail to fat bikes. My gear tends to stay the same for everything from an endurance race to a long day on dirt roads linking together parks, back country rides during a road trip to the typical after-work roll around a suburban park. None of these require the bike packer-level of supplies, but feeling assured that a surprise situation will be manageable does require a bit of planning. Since water and primary food (typically ERG! Energy bars and Infinit Nutrition mix) varies by ride I won’t be covering it here, but my pack and pockets have plenty of room for extra drink mix and food.

Almost everything I carry is because it was needed at some point in the past, and I like knowing that my gear is consistent between rides. When doing MTB rides I almost always wear a pack, only leaving it behind during shorter races where I’m trying to be competitive or rides where I’m okay with walking out should something happen.

My current pack is an Osprey SYNCRO 10 in Velocity Green color, M/L size. This is a high vis yellow/green that I chose because it both helps me be seen and it stays cool in the sun. Having a thin metal frame and mesh back keeps the pack away from my body which keeps me cooler in summer avoids a sweaty back in winter. A replacement badge from the Sport model Road ID is slipped over the elastic on the upper part of the left strap near my head, providing easily-visible identification and emergency contact info.

While many folks are moving to frame bags and waist packs, I’ve stuck to a pack because it allows me to carry a lot of water, easily transition gear between bikes, and it doesn’t rub on the frame. Frame packs seem like a great option and work out well for many folks, but as of now they just aren’t for me.

Here’s the two setups, summer and winter, tiered to show how things are packed:

Default / Summer MTB Pack:

  • 6″ x 5″ Nylon Zippered Pouch (Amazon Link)
    • Cable (Zip) Ties: 4x each thin/short and wide/long.
    • Nitrile Gloves: 2x, in small plastic bag.
    • Spare Derailleur Hanger(s): One for each bike style.
    • Cash: 1x $20, 1x $10, 2x $5, 3x $1, in small plastic bag.
    • Glue-Type Patch Kit: In plastic storage box.
      • Tick Key
      • Quick Links: 3x 11 speed, 1x 10 speed, 1x 9 speed, 1 link single speed chain.
      • Folded Paper Towel: Prevents rattling and rubbing, for cleaning tube before patching.
    • Presta to Schrader Adapter
  • Lezyne Sport Drive HP Pump
    • 4′ of 3″ wide black Gaffer Tape: Wrapped around pump body.
  • Tools in Cotton Sock: Prevents rattling and rubbing, doubles as rag.
  • Spare Tube(s) in Cotton Sock / Rag: Prevents rubbing, doubles as rag.
    • Q-Tubes Super Light: 29 x 1.9″-2.3″ for XC/trail bikes, 26 x 2.4″-2.7″ for fat bike.
  • LOKSAK aLOKSAK: 4″ x 7″
    • Phone: Google Pixel 2
    • Driver’s License / Credit Card
    • Toilet Paper
  • Fox 40 Micro Whistle: Pealess, won’t freeze in winter.
  • CamelBak Antidote Reservoir: 3L, aka bladder.
  • Emergency Food in Plastic Zip Top Bag, about 500 calories.
  • House/Car Keys

Winter-Time Changes from Default:

  • No bladder for water; it freezes. Insulated bottles on bike instead.
  • Remove derailleur hanger and tubes for summer bikes.
  • Mylar Emergency Blanket
  • Little Hotties Adhesive Toe Warmers (2x)
  • Extra gloves, head covering, and jacket, depending on conditions, planned length and effort of ride, location, etc.

This all has worked out well for me, being able to handle situations from cut tire sidewalls to puncture flats, broken chains and derailleurs to detached front brake cables.

Pogie Retention: ODI Aluminum End Plugs and Nylon Spacer

Over the years I’ve gone through a few different iterations of bar end plugs for the elastic found inside of pogies such as Moose Mitts and Relevate Designs’ Williwaws. While many of these pogies can be used with the elastic wrapped around the grip, I find this a bit uncomfortable and these iterations happened as I tried to get to something better. Previously attempts were a couple variations on road-type screw-tight bar end plugs with a stack of washers, but after one of these became stuck in my carbon bars during a crash on ice I went looking for something simpler and more robust. I also wanted to avoid the thin washers, as a glancing blow from one during a fall could easily result in a cut.

Shown above is my latest attempt, made from two off-the-shelf parts:

  1. ODI Aluminum End Plugs (Amazon: $15.67)
  2. .531 x .870 x 3/16 Nylon Flat Washers (Lowes: $1.28, P/N 423512, Photo)

This setup meets the following requirements and should be an improvement on previous designs:

  • Easily removable, such as with a screw to tighten / remove.
  • Resistant to being driven into the bar or bending during a crash or bike falling over in the wind.
  • Must not have a sharp or narrow edge that could cut the rider.
  • Compatible with a variety of bar wall thickness; including thick-walled carbon bars such as the Salsa Salt Flat.

To put it all together I disassembled the ODI plug (photo), slipped the nylon washer over the body of the plug (photo), reassembled the plug, then inserted the plug into the bar and and tightened it down like normal. The washer is perfectly sized to set in the recess in the bar end plug while spacing it out from the end of the grip/bar. This ensures there’s a slight gap left for the elastic (photo), keeps the plug from hammering in during a crash, and the rounded bar edges of the plug should minimize injury. It’s also just large enough that it cannot slip past the expander wedge of the bar end plug, which should make removal extremely simple.

Prior to this I’d tried the ODI plugs without a nylon spacer, leaving them set a little ways out from the bar (photo), but whenever the bar end hit the ground during a fall they’d push in and trap the elastic. An alternative would be the Relevate Designs Pogie Bar End Plugs, but at $10 (plus shipping) per pair they aren’t much cheaper and won’t as easily be removable. Being all plastic and press-fit they seem more likely to pull out or be damaged during a crash.

TrainerRoad PowerMatch: Disabled

After getting the CycleOps Hammer smart trainer I’ve been experimenting with how it, my Stages power meter on the Salsa Vaya, and the TrainerRoad PowerMatch function work together. In short, PowerMatch is designed for those who have a power meter on their bike and want to ensure that the resistance and workouts are consistent indoors (with the smart trainer) and out (with just the power meter). While I only use power data for training indoors during the winter (never for outdoor training), I do like to look it over after outdoors rides and thus want to be sure the two are as in line as possible.

To automatically handle differences in power meters, TrainerRoad’s PowerMatch calculates the offset between the power meter and smart trainer, then adjusts the resistance every 10 seconds to accommodate the difference. On its face this makes sense to me, but whenever I’d enable it the resistance would get bit surge-y feeling during harder efforts leading me to think something wasn’t quite right. I suspect this is because of the Stages being single-leg, I likely have a bit of an imbalance between legs, and my recent rides in TrainerRoad have shorter efforts than the sustained stuff that single-leg meters are best at. So, I started to think about if something else was right for me.

In TrainerRoad, on the Power Meter settings, there is a toggle to use the meter for cadence only. In the Smart Trainer setting the options for PowerMatch are Auto, Disabled, or a Manual offset. This results in the following scenarios:

Power Meter Normal, PowerMatch Auto: Displayed power is from meter, with this data used by PowerMatch to determine resistance. Occasional surging feeling, but overall good. While riding it appeared that power data jumped around.

Power Meter Normal, PowerMatch Disabled: Displayed power is from meter, resistance set by trainer’s internal meter. Displayed power data appeared low (5-10W) when holding an interval steady.

Power Meter Cadence Only, Power Match Disabled: Displayed power is from trainer, resistance set by trainer’s internal meter. Feels smooth (no surging) but seemed marginally easier than with PowerMatch.

Power Meter Normal, Power Match Manual: Displayed power is from meter, resistance set by trainer offset adding/subtracting manual value; no automatic adjustment of offset done.

With Power Meter Normal, Power Match Manual looking most like what I wanted, I set out to determine the offset between my Stages meter and the CycleOps Hammer. To do this I first ensured the Stages and Hammer were calibrated. TrainerRoad was set to have PowerMatch disabled and the Stages meter to Use Cadence Only. My Garmin Edge 520 recorded power from the Stages meter and TrainerRoad recorded the Hammer’s data. I then rode a custom TrainerRoad workout that has a warmup, then a series of 1 minute intervals at 60%, 70%, 80%, 90%, 100%, and 110% of FTP with 30 second 50% rests between in Erg mode so  trainer resistance adjusted automatically. After this I did a 30 minute Free Ride where I shifted to adjust speed (and thus power), trying to get a good mix of steady state and short/hard intervals, under different situations, to get sane date to compare. To cut down on data misalignment both of these rides were non-stop spins without pausing, doing my best to start and stop the Garmin along with the TrainerRoad workout.

Both of these sets of data were then compared in DC Rainmaker‘s Analyzer tool, with the results visible here:

Comparing the two, I see two notable things, both most visible in the 30 Minute Freeride:

  1. Sudden transitions decreasing power show 0 values when measured by the Hammer, but still some power with the Stages.
  2. Hammer seemed to measure higher, with the variance becoming greater as power output became higher.

I don’t believe the sudden transitions are a concern nor really something that can be accommodated for, and I don’t think they’ll be a problem for the normal Erg mode workouts where the main desire is to have the trainer providing resistance. This is likely a simple side effect of the large flywheel in the trainer taking a while to slow.

For the scaling disparity between the Stages and Hammer, maybe there’s something there… I’m tending to think that the Stages is reading higher on very hard efforts because with these I’m more apt to be standing and shoving down on the pedals versus a smooth spin. Perhaps this is throwing off the strain gauge? Let’s see…

Here’s how the average powers worked out:

Workout Meter Average Power Weighted Average Power
Custom Test Stages 173.50 191.70
Hammer 174.77 194.20
Free Ride 30 Stages 209.87 228.25
Hammer 211.03 234.05

 

Since I’m trying to compare power meters themselves, I’m looking at Average Power. (I don’t want to use Weighted Average, because this gives increasing priority to greater power outputs, since they are harder on one’s body. For example, it’s a way of reflecting how 300 W feels more than 2x as hard as 150 W.)

Across these two rides the two meters are within ~1 W of each other. While I originally went into this investigation looking to see how much of an offset I’d have to set up in Power Match Manual, I’m now thinking that the Hammer is close enough to the Stages to simply use Power Meter Cadence Only, PowerMatch Disabled. It’s possible this could skew a bit more as I do higher power efforts, but I think this will probably still be within sane ranges. It’s rare that I’ll see the 100W difference like in the high power effort of the Free Ride 30 test (700-800 W range), most things will be in the 200W-300W steady state range where alignment seems sane.

This will cut down on the surging that seems to be coming from the single-leg power meter, still provide sufficient correlation between indoor and outdoor efforts, all while having the benefits of an Erg mode smart trainer.

It’d be nice if TrainerRoad offered some sort of percentage correction, but perhaps this is why PowerMatch instead does a frequent reassessment and is turned on my default; better to check the offset and correct vs. attempting to figure out a scale. Being able to see how PowerMatch is working internally would be nice, but I’m not sure this would add any real value to the product.

2017-2018 Trainer Setup: CycleOps Hammer

For winter 2017-2018 I’ve put together a revamped, and much improved, trainer setup in my basement. Since the last setup with a Kurt Kinetic Road Machine things have been changed pretty significantly. I had previously set things up in front of a CRT HDTV which I’d previously used as a gaming / home theater setup but over the years I didn’t really use it for anything other than movies while on the trainer and basement music; just kind of a waste. This fall I sold the CRT HDTV and stands, picked up a cheap LCD TV (with built-in Netflix and Amazon apps), and put the whole setup on a metal stand in front of the trainer.

The result is a nice setup where a movie plays at eyes-on-the-road level and TrainerRoad is just a glance below. A CycleOps Hammer smart trainer provides resistance when riding, a nice step up from using a power meter, fluid trainer, and shifting to reach power targets. Four speakers (plus two over the workbench) are connected to a home theater receiver / amp, making for great audio from movies, or music via the AppleTV (and iTunes), although I tend to have subtitles on while watching movies to keep the audio at a reasonable level. A squirrel cage fan blows from a distance to keep me cool while riding. To ensure good ANT+ connectivity I’ve located the Garmin USB adaptor to a table next to the bike where it has a short path to the trainer, power meter, and my heart rate strap.

Since I have a Stages power meter on the Vaya, I have the option of using TrainerRoad’s PowerMatch. This uses the on-bike power meter and adjusts the smart trainer so that everything matches. I understand how this will benefit those wanting the same power numbers indoors and out (since no two units match exactly), but I’m still undecided if it’s a good setup for me. I’ll be working that out over the next few rides.

So far this setup is working out very nicely. While expensive initially (almost the cost of a bike) I vastly prefer the feel of a direct drive smart trainer to the fluid trainer with power meter. Both are effective, but I’m really enjoying not having to shift and chase power targets. Both Kristen (she also bought a Hammer) and I are following TrainerRoad plans over the winter, and as it moves into more over-under workouts, especially those with very short high intensity intervals, having a smart trainer is a huge bonus. It’s very difficult to effect radical changes in power and stay on target when shifting and matching speed to a power target. A smart trainer eliminates that need.

Wahoo KICKR Customer Service Disappointment

Planning to follow a TrainerRoad plan with Kristen all winter, and a little irked at the quirkyness of shifting to hit power targets on my current setup, I became interested in a smart trainer. My buddy Mike let me borrow his Wahoo KICKR, something I’d been itching to try after hearing so many good reviews of them. In short, I really liked the experience and was quite impressed by how much easier it made riding indoors. I focused more on putting out effort and selecting my cadence and less on staying on target, and large swings (say, over/unders) were MUCH easier to do when I didn’t have to seek the moving power target. I really wanted one. A few days later I noticed that Wahoo was selling NOS (new old stock) 2016 model for $899, which seemed perfect! The $1199 retail price is a bit more than I can afford, but this was doable for both Kristen and I. Orders were placed and we got ready to sell our fluid trainers.

Not hearing anything on the order after four days we sent notes to Wahoo’s customer service department. The responses indicated the units had accidentally been oversold, so we were offered refurbished 2016 units for $100 less. Having the same warranty and being even cheaper, that sounded great! We both accepted the offer and waited. A day later we were informed that the warehouse had found more stock of the new 2016 units and those were on the way, with the refurb offer rescinded. Not as good of a deal, but still, great! Because of this back and forth Melinda, the customer service person, tossed in a 142×12 Thru Axle Adapter for me and a TICKR X Heart Rate Monitor for Kristen; both things we could use and a really nice gesture.

Unfortunately, when the KICKRs arrived, we found that Wahoo had screwed up. These were not new units, nor refurbished, but instead returns which likely hadn’t been opened since the customers packed them up. Mine was scraped and the end caps were chewed up as if the previous owner didn’t clamp it down properly and had the bike come off while riding. The cassette was slightly greasy, it had a bunch of non-Wahoo stuff (Garmin manual and packaging, Monoprice packaging) in the box, and fine plastic dust from the expanded foam packaging was spread all over, including in the resistance unit. Kristen’s was arguably worse, with a heavily scuffed flywheel area (as if the owner had it resting against something), an empty through axle adapter box, and the previous owner’s personal info: the RMA from Clever Training and — inexplicably — a copy of his vehicle inspection report from Volkswagen Credit.

My KICKR:

 
  

Kristen’s KICKR:

IMG_4727.JPG IMG_4728.JPG IMG_4742.JPG
IMG_4730.JPG IMG_4743.JPG IMG_E4729.JPG

Separately we both immediately contacted Wahoo, but being Saturday didn’t hear back until Monday afternoon. (They’re open M-F, 10am – 7pm, and email responses seem to take about a day.) The first responses offered $100 refunds claiming the units were refurbished. After pushing back indicating that they are simply used and don’t seem like it’d be up to their standards, the refund offer was upped to $200 with the opportunity to test them out before accepting. While $699 is an even better price, neither of us were keen on paying so much for used trainers with plastic dust in sensitive electronics.

Since it’s often easier to work things out over the phone I decided to call Wahoo. I spoke with Micah, who explained that the original customer service person I’d contacted via email, Melinda, was best suited to help me. (I got the impression she’s a lead or manager.) Indicating that what I really wanted was a new trainer, and that I was hoping they could sort this all out, he informed me that the 2016 units are gone, so that’s no longer possible, but he’d get in touch with Melinda and let her know that we had talked. A short while later I heard back from Melinda, offering to return the used trainer and give a 10% discount on a new 2017 KICKR. I replied asking for the RMA, declining to purchase the 2017 model. (In the mean time Kristen had called and set up an RMA for hers, but did not receive a discount offer.)

I understand that things go wrong with warehousing and shipping, especially when winter (trainer time!) is coupled with the busy holiday season, but I can’t help but be left quite soured by this experience. Almost two weeks after making the purchase, with time sunk into a back and forth via email and visiting FedEx, we’re both back where we started… without smart trainers. And waiting on refunds.

Good thing we’ve still got fluid trainers to ride… Because the CycleOps Hammers that we ordered are still en route.