Press "Enter" to skip to content

Category: cycling

Suggested First Rides in Marquette

Here’s a quick list of easy to follow mountain bike routes in the Marquette area, as Trailforks routes. Fun, accessible routes friendly to all bike types, from rigid fatbikes to squishy trail bikes, perfect for getting you started riding in the Marquette area. Each loop will take most riders an hour to and hour-and-a-half each, excluding stops, and are excellent on their own or as a basis for exploring other trails.

These trails are all built and maintained by the Noquemanon Trails Network and are constantly being improved and expanded. Without their work you wouldn’t have these great trails to ride, and without donations they can’t exist. Click here to send some money their way to keep these trails great. (Sign up for a full NTN membership here.)

Keep in mind all these trails are two way and quite popular in both directions. Be nice, say hi, yield appropriately, and let others know how many more folks are behind you.

NTN North Trails (from BLP Trailhead)

Kristen’s Favorite Loop: One of the best ways to get started with riding North Trails. An easier route than the South Trails, but by no means boring, this route includes views of the awesome Forestville Dam and Falls, Wright Street Falls, Forestville Basin, the penstock (large wood pipe). Climbing is gradual but sustained, as are the descents, with just enough rock sprinkled in to make things fun.

NTN South Trails (from South Trailhead)

Green / Morgan Creek Loop (Clockwise): Perfect intro to the South Trails, with rolling climbs and descents, riding past and over waterfalls. Scatterings of rocks and roots are all over, but nothing difficult; the perfect everything trail. Follow the green signs.

Red / Pioneer Loop (Clockwise): Begins with the Benson Grade Access Road climb, then starts with a relatively flat but slightly rocky single track before snaking it’s way along a beautiful brook and mildly rocky trails along with views of Lake Superior. A bit more technical than Green, but another great trail to get started on. Follow the red signs.

Gorge-ous to Blue: A step above the Red and Green loops, this heads downhill on the incredibly scenic Gorge-ous trail (part of the Yellow route) and loops back to the trailhead using portions of the Blue loop. Gorge-ous is mostly smooth dirt, with a handful of rocks and roots, and some decent (for Michigan) exposure. Blue, the oldest route in the system, is considerably rougher and has some challenging climbs, but is still a lot of fun. Starts by following Grom (Purple Signs) to Gorge-ous (Yellow Signs) and then continues on Forget-Me-Not (Blue Signs) after reaching the Carp River.

(If you want more information, check out my longer post, Marquette Mountain Biking for Trolls, which gives downstate Michigan folks pointers on getting started riding in the Marquette area.)

Comments closed

Crankbrothers Eggbeater Pedals Wing Wear

Crankbrothers Eggbeater and Candy pedals have been my go-to for years, performing admirably year-round.

All Crankbrothers pedals require periodic maintenance in the form of the Pedal Refresh Kit, which replaces the bushings and bearings and gets them spinning like new. The cleats — made of brass — wear out as well and require replacement roughly once a season, along with the required-for-carbon-soles Shoe Shields.

Unfortunately, there is one kind of wear which puts the pedal near the end of its life: pedal wing wear. Above you can see the pedal wings on the Eggbeater 3 pedals from my Specialized Camber, which worn to a point.

The wings are normally box shaped, providing a nice even load on the cleat and sole of the shoe. After wearing to a point the cleat and Shoe Shield wear are accelerating, to the degree that my cleats have worn out mid-year instead of late autumn.

With all this wear put together, pedaling my Camber felt a bit vague and I’d get squeaking and clicking sounds from the pedals when putting down a lot of steady power. Flipping the pedals 90° to change up the engagement would help, as some of the wings are worn less than others, but it’s now time for the pedals to go.

(Instead of replacing with new Crankbrothers pedals I’m giving Shimano PD-M8100 (Deore XT M8100) SPD pedals a go. I’m hoping the larger contact area between the cleat, pedal, and shoe lugs will help with some foot pain problems I’ve had during longer rides. I also expect cleat replacement will be less frequent, costing less long-term. I have concerns about how well SPDs will clear snow and/or permit very fast exit when suddenly stopping on technical sections, so I won’t be selling off my remaining Eggbeaters any time soon.)

Comments closed

Shimano Hydraulic Brakes May Self-Contaminate Due To Residual Oil In Bleed Nipple

It seems the design of the bleed nipple on Shimano hydraulic disc brakes may result in contamination of the brake pads if extra care isn’t taken to clean residual oil from inside the nipple after bleeding the brakes. Newer Shimano hydraulic calipers, such as the Shimano BR-M7100 (SLX), have this nipple facing downward when installed on most bikes which seems to exacerbate the issue.

After following the Shimano brake bleed procedure and disconnecting the hose, the nipple will still contain about 0.06 mL of brake fluid, roughly a full drop, closed only by a snap-fit rubber cap. (See exploded view, inside of nipple is ~20mm x ~2mm ⌀.) On many brakes, including the BR-M7100 when mounted to a fork or seatstay, the nipple points downward and the residual oil inside slowly weeps out, wetting the outside of the cap and the caliper. Particularly after mixing with dust and forming an oily paste this can fling to the rotor or pads, contaminating the pads, leading to poor performance and noise.

On other Shimano brakes, such as the the BR-M8000, the bleed nipple is on the other end of the caliper. These point up and don’t seem to weep residual oil as readily. However, because bikes are stored and transported in a variety of positions, much less bounced all over the place while riding, any oil in the nipple can cause escape.

To avoid self-contamination it’s necessary to remove all residual oil from inside of the bleed nipple after a bleed. This can be done by twisting the corner of a paper towel into a point, shoving it into the nipple, and blotting the oil up. A couple iterations of this and thorough cleaning of the caliper and inside of the nipple with isopropyl alcohol seems sufficient. After doing this the nipple caps on our bikes have remained dry.

I came to this realization after a handful of dusty rides on the Timberjack when I noticed this cap had a bunch of dark oil-soaked dust on it. A quick check showed the inside of the cap was quite oily. There was also a thin film of oil wicking on to the bleed nipple and caliper body. As the bike is nearly new the brakes had recently been bled and the outside of the calipers thoroughly cleaned, it all fit together. (I suspect this may have led to the contamination problems I had earlier with the pads, although those pads themselves seemed bad from the get-go.)

On Kristen’s fatbike — a 2018 Specialized Fatboy Carbon Comp which received M7100 SLX brakes to replace the failed SRAM Level TLs but has only been kept upright since the brake install — the front brake whose nipple points down had oil in the cap. The rear brake, mounted to the chainstay and pointing the nipple up, was dry, but still had visible oil in the nipple.

This could also explain a mysterious fouled-front-brake problem on my Warbird, whose BR-R7070 (105) calipers have a downward facing bleed port on the front and upward facing on the rear. This was fixed with a sanding of the rotor and pad replacement, but I could not find a source of oil and the system seemed sealed. I now believe residual oil migration past the rubber cap, after I bled the brakes following a fork replacement, fouled the pads.

Comments closed

Preferred Bicycle Lubricants

Here is a list of the lubricants I use for bicycles and a few notes about each one.

General Grease
Park Tool PolyLube 1000 (PPL-1, Tube)
Use for general greasing. Threads of fasteners, coating bearings before installation, etc. This is a go-to grease that gets used on everything unless there’s a specific need for something special.

Chain Lube
ProGold ProLink Chain Lube
Use for all chain lubing purposes. As this lube is a heavier oil in a lighter carrier, I use the following process: Wipe chain with dry paper towel to remove dirt and old lube. Wipe chain with alcohol-soaked paper towel if it’s particularly dirty. Apply one drop to each roller on the inside of the chain. Turn crank backwards for 10-15 seconds to ensure lube is well distributed. Use a new dry paper towel to wipe off the outer plates of the chain (lube does nothing here). Let sit for a while, perhaps overnight, before riding so the the volatile compounds in the lube can evaporate leaving only the useful stuff. It’ll pick up less dirt this way, too.

Waterproof Grease
PEAK Synthetic Marine Grease (branded as Advance Auto Parts Marine Grease)
Used whenever a heavy, highly water resistant grease is needed. I use this on the lower bearing on headsets, bottom bracket spindles, car hitch racks. Use with caution as this grease attracts dirt, thickens, and migrates pretty easily and thus isn’t good for basic lubricating. (Any standard marine grease will work in place of this, the Advanced Auto Parts version was the cheapest when I bought some.)

Anti-Seize
Permatex Copper Anti-Seize Lubricant
Anti-seize is a grease with metal powder in it, used to inhibit galvanic corrosion when dissimilar metals are in contact. Instead of the original parts corroding the small metal flakes in the grease will corrode, prolonging the life of the parts and preventing seizing. I mostly use this on titanium frames as it’ll quickly corrode aluminum parts (such as headset cups, bottom brackets, seatposts, and mounting screws) but also use it on steel and aluminum frames when installing press-fit headsets and threaded bottom brackets, as a preventative measure.

Suspension Grease
Buzzy’s Slick Honey / Slickoleum / SRAM Butter
All three of these products are the same thing. It’s ideal for lubricating anything that slides or is suspension-related. Also works great on dropper posts. It’s also an ideal lube for Hope freehubs.

Small / Fine Parts
Tri-Flow Superior Lubricant (Drip Bottle)
This is a very thin lube which carries PTFE (Teflon). Perfect for lubricating small pivot points such as derailleurs and shifters.

DT Swiss Ratchets
DT Swiss Special Grease (Red, HXTXXX00NSG20S)
DT Swiss hubs, with star ratchets, specifically call for a tacky, yet somewhat thin, red grease which DT Swiss calls Special Grease. So little is used on each cleaning that a small container, one of which comes with every replacement ratchet set, will last for years.

Friction Paste
Finish Line Fiber Grip / Park Tool SuperGrip (SAC-2)
Sometimes things slip when you don’t want them to (eg: seatposts, bars) or you want to add extra grip without torquing tighter. Friction paste, a light grease with sandpaper-like grit in it, is perfect. It’s common to use this on the handlebar clamp part of a stem to ensure the bar doesn’t move, on seatposts in carbon frames, etc. Never use this on anything which is supposed to move, and be aware that it’ll abrade the clamped surfaces of whatever you apply it to.

Spoke Nipple Lube / PTFE Paste
ULTRA Tef-Gel
When building wheels I lube the spoke threads with ULTRA Tef-Gel, which is a PTFE (Teflon) paste. Designed for use on saltwater-exposed fasteners, this is an incredibly tenacious anti-corrosive that keeps spokes and nipples from binding together doubles as lubricant during assembly. Use ensures they’ll still be turnable after years of year-round exposure. This also works well for installing press-fit bottom brackets which call for PTFE paste.

Comments closed

Salsa Timberjack: Fixing a Mistake

After building up the All-City Electric Queen and riding it a handful of times, it just didn’t feel… right. Standing and handling the bike was fine, but seated pedaling — especially when climbing or just after sitting back down — felt quite off. Turns out the problem was the 71° seat tube angle on the frame coupled with my shorter femurs; I simply can’t get the saddle far enough forward on one of these frames.

Unfortunately, the only good solution was to get a different frame. The Salsa Timberjack was my original choice for this hard tail trail bike build, but I got excited by the idea of a steel bike, loved the paint on the Electric Queen, and glossed over the seat tube angle. By the time I realized I needed a new frame the stand-alone black frames were no longer available. Fortunately, over at the excellent Sports Rack Marquette, Evan had some new frames from complete bikes available, and I was able to get a beautiful gloss teal frame from a 2019 Timberjack Deore 27.5+ from them.

Besides matching my wants geometry-wise, the frame is a great choice because all parts except for the headset swapped over, and the frame came with a headset. While the stock Cane Creek 10 is a lower end part, which lacks sealing on the top bearing cover and has a plastic compression rings and crown races and black oxide bearings, it works and will be fine for a while. The fork was already fitted with a higher end matching crown race, and I have a Cane Creek Hellbender 70 headset ready swap in once the bearings and compression ring start to go.

One downside to the Timberjack vs. Electric Queen is that I’ll no longer have a rigid fork for the bike, but if I really want one the Firestarter 110 Deluxe is a perfect match. The top tube on this bike is also a little bit tall, as it’s also designed for bikepacking and fitting a top tube bag, but it’s plenty comfortable to ride and I love all the bottle cage options.

To round out the build and get the colors nice I ordered some new fork decals from Slik Graphics. Unfortunately, I screwed up and ordered the decals for the Factory-series forks, so while it looks good, I technically have the wrong upper logo on the fork lowers. I’ve since ordered another set with the proper Performance decals for the upper, and am waiting for them to arrive. Since this order was placed Slik became involved in a dispute with Fox, so I’m hoping to receive the updated decals. Even if they don’t arrive, at least the colors are right on the fork. I could even remove the upper decals and have it still look good.

When finishing up the build I ran into a significant problem with the brakes: squealing and vibration. Due to part availability I’d purchased the calipers and levers as a non-retail / meant-for-complete-bikes / likely grey market set from a well-known eBay seller, ronde-cycling. I was never able to get them bedded in properly, and after a few rides they began squealing horridly and shuddering under hard braking. This seller offers different pads options with the brakes, and I began to suspect they handle the pads with each brake set sale, did so poorly, and contaminated the pads before they got to me.

I tried the normal recommendations of cleaning everything, sanding the pads and rotors, and even baking the pads in the oven, but on each bed-in procedure they’d begin squealing again. Resolution a set of new J04C pads and a bed-in and now the brakes are working great. At ~$50 for a new set of pads this really added to the cost of the brakes, but at least they are now working.

Final build, with water bottle cages, pedals, and computer came out to right around 27 pounds. And, it fits! Since building it I’ve put over 180 miles and nearly 16 hours on the bike, haven’t touched the geometry, and I’m really happy with the result. It’s exactly what I wanted; a high quality hard tail trail bike.

Full details below:

Frame: Salsa Timberjack (Large, Teal, 2019)
Fork: Fox 34 Step-Cast (Performance, FIT4 damper, Black Upper Tube Finish, 120mm, 51mm offset, 15QR)
Fork Decals: Slik Graphics Fox 34 Step-Cast Factory Style Decal Kit / Fox 34 Step Cast Performance Elite Decal Kit (Color 1: Medium Grey, Color 2: Dark Grey, Finish: Matte)
Headset: Cane Creek 10 (Black, ZS44/ZS56)
Crankset: SRAM X1 1400 GXP
Bottom Bracket: SRAM GXP (Black)
Chainring: SRAM X-SYNC 2 (32t, steel, Direct Mount, 3mm / Boost)
Derailleur: SRAM GX Eagle
Shifter: SRAM GX Eagle
Shift Cables / Housing: Shimano Bulk
Cassette: SRAM XG-1275
Brakes: Shimano SLX M7100 (Levers: BL-M7100, Calipers: BR-7100)
Brake Pads: Shimano J04C (Finned, Metal)
Front Rotor: SM-RT86-L (203mm)
Rear Rotor: SM-RT86-M (180mm)
Front Brake Adapter: SM-MA-F203P/P (160mm Post to 203mm Post)
Rear Brake Adapter: Shimano SM-MA-R180P/S (IS to 180mm Post)
Stem: Salsa Guide (+6°, 60mm)
Bar: Salsa Salt Flat (750mm)
Wheels: Industry Nine Trail S Hydra 28H (29″)†
Tires: Maxxis Rekon (29 x 2.4″, 3C/EXO/TR)
Seatpost: Fox Transfer Performance Elite (2020, Black, 125mm, 30.9mm, Internal)
Dropper Lever: Wolf Tooth ReMote Light Action (Black, 22.2mm Clamp)
Seatpost Collar: Salsa Lip-Lock (Black, 35.0 mm)
Saddle: Specialized Power Expert (143mm)
Pedals: Crank Brothers Eggbeater 3 (Green, from Blackborow)
Grips: ESI Extra Chunky (Black)
Bottle Cages: Specialized Zee Cage II (Black Gloss, 1x Left, 2x Right)
Computer: Garmin Edge 530, Garmin Speed and Cadence Sensors (v1), Best Tek Garmin Stem Mount
Bell: Mirracycle Original Incredibell (Black)
Derailleur Hanger: QBP FS1373
Frame Protection Tape: 3M 2228, McMaster-Carr UHMW PE
Cable Rattle Prevention: Frost King EPDM Weatherseal (V25A, slipped over dropper housing)

Comments closed

CRAMBA Trails Outline Poster from OSM Data

Finding myself a little bored, I put together a poster (11″ x 17″) showing outlines of the CRAMBA-supported trails on one overview. (Link)

This ended up being more popular than I expected, with a handful of people wanting to know how I did it, so I’ll detail the steps here:

  1. Ensure that all the trail routes are in OpenStreetMap.
  2. Using JOSM load each trail area one at a time and make an OSM XML file with just the data you want outlined:
    1. Select the ways which comprise the trail you want shown.
    2. Create a new data layer (Command-N).
    3. Make the original data layer active.
    4. Copy the selected data from the first layer to your new layer with EditMerge Selection (Shift-Command-M).
    5. Hide the original data layer.
    6. Review the new layer to be sure it has everything you want.
    7. Select all nodes and ways (Command-A) and remove all tags to make later processing easier.
    8. Look good? Is everything you want in the new layer? Save it to a .osm file and do the next trail.
  3. Once you have an OSM file for each trail, convert them to Adobe Illustrator format using this version of osm2ai.pl.
    1. Get osm2ai.pl working on your computer. I run this on macOS, and it works fine on Linux as well. Since it’s a Perl script there are probably some dependencies; likely resolved by installing a few modules.
    2. Process each OSM file with: osm2ai.pl --input infilename.osm --projection mercator --output outfilename.ai
  4. Open each file in Illustrator, combine them into a larger document, make it look the way you want, etc.
  5. Done!

Comments closed

Seat Tube Angle Makes a Big Difference

When I started planning the All-City Electric Queen my main goal was to have a hard tail version of my 2016 Specialized Camber. That is, nice suspension, 120mm of travel in the fork, dropper, and a very similar RAD / RAAD. The only dimension I wanted to change was the seat tube angle, as with the 75° tube on the Camber and I need to position a saddle pretty far back on the rails, even with the 10mm setback on the setback Command Post IRCC.

Unfortunately, I think I went too far.

When comparing geometries I saw the Electric Queen has a 71° seat tube and figured that’d be perfect for moving the saddle back, better centering it in the zero-offset Fox Transfer post. What I failed to do was the sort of calculation shown above to illustrate just how far back the saddle would be moved by every degree of seat tube angle change.

It turns out that, at 725mm of saddle height, every degree of seat tube angle change moves the saddle about 12mm. Thus, on my Camber which has a 75° seat tube, 10mm offset post, and the saddle about 15mm behind centered, I should have been looking for a ~73° seat tube angle in order to roughly center the saddle on a straight (0mm offset) seatpost. Going to a 71° seat tube moved the center point a full 48mm — nearly two inches — rearward.

During single track rides on the Electric Queen I’ve ended up with a sore lower back when pushing, I’m not comfortable at higher cadences, and my stomach brushes my thighs when leaned over and seated. All of this is a sign of the saddle being too far back. With the 71° seat tube angle I simply can’t get the saddle far enough forward: it’s center position is 38mm behind where it is in the Camber (with it’s 10mm offset post). There’s just not enough fore/aft room for adjustment on a saddle to make up for this. When just 5mm or 10mm, especially rearward, makes a difference this isn’t good.

This all then brings about the question: did I buy too large of a frame? The answer is: no, I bought a frame with the wrong seat tube angle for my body.

Fitted forward of the bottom bracket — based on stack and reach — the frame fits properly. Where it doesn’t work is from the bottom bracket to the saddle, all due to the 71° seat tube angle. All of the Electric Queen frames have the same seat tube angle, with the only real variances between sizes being stack, reach, and seat tube length.

The problem is that my body shape (shorter legs, likely shorter femurs specifically, longer torso) not being compatible with this frame.

This consistent 71° seat tube angle, from X-Large all the way down to the X-Small frame, makes me wonder how this frame can fit smaller size riders, unless maybe they have exceptionally long femurs. I wear pants with a 30″ inseam — fairly short but not tiny by any stretch — and my legs seem normally proportioned, so if this setback doesn’t work for me there’s likely a whole bunch of other folks it won’t work for either. Or maybe I just have short femurs?

So, where do I go from here?

I’m going to experiment with some other saddles around home (eg: Specialized Phenom) and see if I can make it fit, but it looks like the only choice for getting a comfortably ridable bike will be another frame with a steeper seat tube angle. On first look it seems like the Ritchey Ultra (Large) or Kona Honzo ST (Medium) would work, with the Ultra having a slight edge in with 73.5° seat tube and taking the same size seatpost as the Electric Queen.

Comments closed

All-City Electric Queen: Rugged XC / Trail Hard Trail Bike

Nearly four years after getting a full suspension XC / trail bike (2016 Specialized Camber) and beginning to really enjoy riding with a bit more travel and a dropper post I started getting the itch to build a similarly spec’d hard tail. Picking up a few particularly good deals (frame/fork), shopping smartly, using some parts I’d collected over the years, and getting some parts from friends, I ended up putting together an All-City Electric Queen.

This steel frame from a QBP brand best known for urban bikes, fitted with a smart choice drivetrain (SRAM GX), higher end wheels (I9 Hydra hubs) and suspension (Fox 34), and reliable brakes (Shimano SLX) is the solid spec build that I was wanting. The frame came complete with a matching rigid fork, and I anticipate switching over to the rigid fork in springtime or when the Fox 34 is out for service.

After the first shakedown ride at Stony Creek I’m pretty happy with the bike. The geometry of the frame itself is a little curious, but it seems to fit me well. Specifically, it has a fairly slack seat tube, tall head tube, tall seat tube, and rather high top tube. This means I have minimal stand-over (akin to the Titus Racer X 29er) and the saddle has to sit quite-forward on the rails, but it seems to work and feels good when pedaling. It also results in the controls (dropper lever and shifter) hitting the top tube when turning the bars, so I’ve had to pad the top tube with some 3M mastic tape.

I suspect this frame would work well for the sort of long-leg/short-torso rider who often finds themselves on a custom frame, but it also works well for me. It also means that a slim top tube bag like the Relevate Designs Tangle would fit along with bottles. Or, it could have been placed almost 1.5″ lower (with a shorter head tube and seat tube) and still been good… But I’m not a frame designer, so I suspect there’s some good but unknown-to-me reason why this was done.

Coming in at 28 pounds it’s not a light bike, but being a cheaper steel frame, 120mm fork with 34mm stanchions, 2.4″ wide quite-knobby tires, dropper post, and aluminum rims I’m okay with it. Going to some carbon bits (eg: bar) I could drop some weight, but I don’t think it’ll matter much, as this is roughly the same weight as the Camber, which I love riding.

Part details are below, and photos of the build showing everything from parts to checking clearances, can be found here: All-City Electric Queen.

Frame: All-City Electric Queen (Large, Lavender/Lime w/ Splatter)
Fork: Fox 34 Step-Cast (Factory, FIT4 damper, Black Upper Tube Finish, 120mm, 51mm offset, 15QR)
Headset: Cane Creek SlamSet (Black, ZS44/EC44/40)
Crankset: SRAM X1 1400 GXP
Bottom Bracket: SRAM GXP (Black)
Chainring: SRAM X-SYNC 2 (32t, steel, Direct Mount, 3mm / Boost)
Derailleur: SRAM GX Eagle
Shifter: SRAM GX Eagle
Shift Cables / Housing: Shimano Bulk
Cassette: SRAM XG-1275
Brakes: Shimano SLX M7100 (Levers: BL-M7100, Calipers: BR-7100)
Front Rotor: SM-RT86-L (203mm)
Rear Rotor: SM-RT86-M (180mm)
Front Brake Adapter: SM-MA-F203P/P (160mm Post to 203mm Post)
Rear Brake Adapter: Shimano SM-MA-R180P/S (IS to 180mm Post)
Stem: Specialized Stout XC, (+6°, 75mm)
Bar: Salsa Salt Flat (750mm)
Wheels: Industry Nine Trail S Hydra 28H (29″)†
Tires: Maxxis Rekon (29 x 2.4″, 3C/EXO/TR)
Seatpost: Fox Transfer Performance Elite (2020, Black, 125mm, 30.9mm, Internal)
Dropper Lever: Wolf Tooth ReMote Light Action (Black, 22.2mm Clamp)
Seatpost Collar: Salsa Lip-Lock (Black, 33.3mm)
Saddle: Specialized Power Expert (143mm)
Pedals: Crank Brothers Eggbeater 3 (Blue, from El Mariachi Ti)
Grips: ESI Extra Chunky (Black)
Bottle Cages: Specialized Zee Cage II (Black Gloss, 1x Left, 1x Right)
Computer: Garmin Edge 530, Garmin Speed and Cadence Sensors (v1)
Bell: Mirracycle Original Incredibell (Black)
Derailleur Hanger: QBP 687
Frame Protection Tape: 3M 2228, McMaster-Carr UHMW PE

Rigid Fork: All-City Electric Queen (Large, Lavender/Lime w/ Splatter)
Crown Race: Cane Creek BAA0009S (40-Series 52/30mm Steel)
Front Brake Adapter: Shimano SM-MA-F203P/S (IS to 203mm Post)

† Per I9, these are built with Sapim Race Straight-Pull spokes, 303mm all around. (For 29er. If these were 27.5 wheels they’d be 285mm.)

Comments closed

High Resolution Strava Global Heatmap in JOSM

Mapping trails in OpenStreetMap (OSM), using JOSM, is done by overlaying one or more data sources, then hand-drawing the trail locations using this background data as a guide. While not a default in JOSM, with a little know-how and a paid Strava Subscription the Strava Global Heatmap data for this can be used as well.

While there’s a fair bit of info about doing this scattered across some JOSM tickets (eg: #16100), this post is to document how I make this work for me by creating a custom Imagery provider. Because there isn’t an official (and robust) plugin to authenticate JOSM against Strava it’s a little tricky, but overall isn’t bad.

First, you need to sign into Strava, then go to the Global Heatmap and get the values of the three cookies CloudFront-Key-Pair-ID, CloudFront-Policy, and CloudFront-Signature. These values are essentially saved credentials, and by using them in a custom Imagery provider URL, JOSM will use these to access the Global Heatmap data via your account and make it available as an Imagery layer.

The easiest way to get these cookie values is to use the Developer Tools built into your web browser:

  1. Launch your web browser, either Firefox, Chrome, or Edge.
  2. Go to the Strava Global Heatmap, sign in if needed (check the Remember me checkbox), and be sure it’s properly displaying high resolution data.
  3. Load the developer tools for your browser to show cookie details:
    • Firefox: Click the Hamburger MenuWeb DeveloperStorage Inspector (or press Shift-F9), expand Cookies and click https://www.strava.com.
    • Chrome: Click the Three Dots Menu → More tools → Developer tools (or press Ctrl-Shift-I), select the Application tab, expand Cookies, then click https://www.strava.com.
    • Edge: Click the Three Dots Menu → More tools → Developer Tools (or press F12), select the Storage tab, expand Cookies, then click heatmap.
  4. Get the value of three cookies, CloudFront-Key-Pair-ID, CloudFront-Policy, and CloudFront-Signature, and make note of them (in Notepad or such). You’ll need them to build the custom URL. Here’s examples of what the three cookies will look like:
    • CloudFront-Key-Pair-ID: VB4DYFIQ7PHQZMAGVMOI
    • CloudFront-Policy: FTUGYikErADOqGmqEnPTaaZ3LCE2QbOJSSsmPD9vdY0hfjSWWHZBgnRai1aQcvUe
      2YtgkG3KdP8IencRaGrS3I5bHAeabQ4I776T7UipDPFzNVh9PBIRvb3DjDqVfssp
      mBA5IrxacQGfB2YmKwegp9OTBfUFkvtEQOlzeXfqeuc34cp408GYXSvp2DsnxKFh
      ofbwygraae3VZqnZxp3vBpz3lBoyPnBEN1djJkxpU1fF_
    • CloudFront-Signature: lrMJG0L6zJilpSdGEnWug0zskcMDD5VVGdSRu~P4OOVp5z8iCMBRBO040wxunEQQ
      p0wVHdaCaTFAVqiM0jC0AApW7HigXjx57nsoEVslOzRuoX9S3g-
      FCePWYNPyZcJ95~6SoGdNRHz-
      b-ZZxk4ERhjzXCNIEE8Gt5uImitcPN3HRlhXexS39g30~5OEv~4FHzXfOOIhQ5X5
      cGUD0SpdYviBE~vkAJCk3TbQMXxlJbyX4OOL5xvVPv5WjzMKTuvEk6Z9m6iFBbZc
      8ov4qS60th0tZ1RM4pNMoIWKoqPS3~UPGISe6Xa8Kq-
      tQPxHlfGciI5uhoTp4b7lPussh52QaN__

(Note: These are not real values, you’ll need to look up your own.)

Next is to add a custom imagery provider for the Strava Global Heatmap to JOSM using a URL that you build with these cookie values:

  1. EditPreferences… (F9)Imagery preferences
  2. Create a new TMS string by replacing the [] sections in the following string with the cookie values from above, without the []s:
    • tms[15]:https://heatmap-external-{switch:a,b,c}.strava.com/tiles-auth/all/hot/{zoom}/{x}/{y}.png?Key-Pair-Id=[CloudFront-Key-Pair-ID]&Policy=[CloudFront-Policy]&Signature=[CloudFront-Signature]
  3. Add a new TMS entry by clicking the +TMS button.
  4. Paste the string from Step 2 into Box 4, Edit generated TMS URL (optional), and then give it a name in Box 5, such as Strava Global Heatmap High-Res.
  5. Click OK twice to return to the main JOSM window, and then try to use this layer over some existing data, just as you would aerial imagery.

If it doesn’t work, double-check your URL and be sure the entered cookie values are right, including the underscores after CloudFront-Policy and CloudFront-Signature. Also be sure you haven’t logged out of Strava, as this will expire the cookies. (If you make changes to the URL in JOSM you will need to delete the existing imagery layer and then re-add it to have the new URL used.)

These cookie values, in particular CloudFront-Signature, will occasionally change as cookies are expired and reset or if you log out of Strava. If things were working and then stopped, you may need to get new cookie values from your browser and update the TMS strings.

By default the TMS URL we started with shows the default heatmap, for all activity types, with Hot coloring. Depending on what other data you are working with it may be useful to show just Ride or Run data, perhaps in different colors. In the TMS URL, the first part after tiles-auth is the type of data, and the second is the color. By using this format, replacing [data] and [color], you can create additional heatmap layers:

tms[15]:https://heatmap-external-{switch:a,b,c}.strava.com/tiles-auth/[data]/[color]/{zoom}/{x}/{y}.png?Key-Pair-Id=[CloudFront-Key-Pair-ID]&Policy=[CloudFront-Policy]&Signature=[CloudFront-Signature]

Valid values for type of data: all, ride, run, water, winter.

Valid values for heatmap color: hot, blue, purple, gray, bluered.

Creating multiple layers, riding-only and running-only, of different colors was extremely useful when mapping Avalanche Preserve Recreation Area in Boyne City as cyclists tend to stick to the mountain bike trails and runners to the hiking trails. While I had orthorectified maps from both the city and TOMMBA, the separate riding and running heatmaps made the routes much clearer. In the example image above (link) I have the Ride data as color Hot and the Run data as color Blue; perfect for illustrating the mountain bike vs. hiking trails.

If you’d like to see this area as an example load the are around changeset 85690641 or a bounding box with the following values and see for yourself:

  • Max Lat: 45.2077126
  • Min Lat: 45.1878747
  • Min Lon: -85.0339222
  • Max Lon: -84.9832392
Comments closed

Using OsmAnd Offline Maps during Remote Rides

Many of the popular, long cycling events — or even just solo rides — require a GPS so that one can follow a route in order to navigate. While most of us have bike computers that will show the route, most folks don’t have a GPS with the kind of detailed base maps that become useful for detours, emergencies, or just as an additional tool… Much less something that works when outside of cellular coverage areas.

For this, I recommend you look at offline maps using OsmAnd.

I have (and love) the Garmin Edge 130 as it’s perfect for my riding and training. It’s been great for displaying recording data and following routes from the unmarked 100 mile versions of The Crusher and Barry-Roubaix, to augmenting signage in Marji Gesick and following a route through remote parts of Batchawana River Provincial Park. But occasionally I need a bit more; something to help find a detour around a flooded road, a quick way back to the car in a rainstorm, or just a sanity-check of which branch to take at a fork on the road.

Sure, I could buy a super-high-end bike computer that features detailed base maps, but I rarely need these and don’t want the physically large computer on my bike. So I use my phone, running OsmAnd, loaded with offline maps that display without requiring a data connection. Coupled with putting one’s phone in Airplane mode (turns off the cellular and WiFi radios and saves battery — yet GPS still works) a modern phone will typically get days of battery life while sleeping, with maps and a route quick to access.

Whenever I actually need to see this map I simply pull it out of my pocket or bag, wake it up, get what I need from the map, and carry on. No screwing around with a small touch screen and funky zooming on a Garmin or Wahoo. (I believe that, to date, neither Garmin nor Wahoo have made map perusal as straightforward as it is on a basic mobile phone.)

This is also a great way to get maps on your phone when traveling somewhere costly for cellular data, like during a day-trip to Canada.

Whether you’re doing Marji Gesick or The Crusher or just following a route found on a cycling club’s website, I recommend augmenting your navigation with offline maps in OsmAnd by doing the following:

  1. Visit the OsmAnd site and follow the links to your phone’s store to install the software.
  2. Get a copy of the GPX file on your phone; for Android phones this is often as simple as visiting the download website and downloading the file.
  3. In OsmAnd‘s menu, pick Download Maps and download maps for the regions you want. I personally have Standard Maps, Contour Lines, and Hillshades for Michigan installed all the time, and then if traveling will install for other states/provinces/countries.
  4. Once the offline maps are installed, pick Configure map from the menu, then Map source, and ensure Offline vector maps are selected. The default, OsmAnd (online tiles), is an online map source that requires data.
  5. To display a particular route, pick GPX files…, Add More…, and then browse your phone to add the downloaded GPX file. Ensure this file is enabled (checked), and then go back to the map screen.
  6. You’ll now see the route overlaid on offline maps, easy to zoom in and out of and find your way around. Try turning on Airplane Mode and see that it all still works.

Once I have everything set up, here’s some tips about how I actually use OsmAnd while out on my bike:

  • If in an area with minimal or no cellular service, put the phone in airplane mode so the battery doesn’t get used up while it searches for a signal.
  • Turn off all lock features on my phone (fingerprint / pattern / PIN unlock), so I can wake it up with just a press of the power button.
  • You can use this at the same time as Strava, and Strava generally works in Airplane mode as well.
  • If I’m at a spot where I’m not quite sure which way to turn (based on the single line on my Edge 130), use the map to figure out which branch to turn on. Even the remotest of fire roads and two track are often mapped.
  • If I think I might have missed a route sign (say, in Marji Gesick) I’ll use OsmAnd to see if I’m still on route, and to get back if needed.
  • Look for other nearby roads or trails if I need to detour or shortcut back. I had to do this yesterday during the Founders Fall Fondo as part of the 62 mile Barry-Roubaix route was flooded.
  • Many small, old, sometimes abandoned, yet somewhat navigable roads are still listed in the OpenStreetMap (OSM) data that OsmAnd uses. While these aren’t great for cars and won’t show up on things like Google or Apple Maps, they are often quite useful when on a bike. Look to these for exploring / finding new routes.
  • Many trails open to mountain bikes are included in the OSM data. This includes all CRAMBA trails and most trails in the NTN and RAMBA areas. (Note: Trailforks is a better source for discovering MTB trails themselves.)
  • Periodically update maps to get new OSM data. As roads and trails change, maps get updated.
  • Pay For OsmAnd+ Live ($5.99/year) to get access to more-frequent, automatic map updates and support the open mapping community. 

While this is just a basic overview of using OsmAnd and how I use it when cycling; it does a whole lot more including recording routes, navigation, editing map data, sharing location between contacts, and more. Give the online Help and Features a look for more information.

 

Comments closed