💾 All Software Is Shit - Updating the Shimano EP8

I thought I'd flash the motor in my EMTB, over the weekend, after a chum sold me on some of the new features. Easy enough, right? There's an app. Push a button, bingo bongo. Except, I'm forgetting... All Software Is Shit.

While I don't know the exact implementation -- I don't have the source -- here's what appears to happen:

1. The mobile app downloads the firmware update

2. This is written to the motor as it downloads

3. The bike isn't blocked from going into stand-by

4. When it goes into stand-by, it drops the bluetooth connection.

You can guess what happened next.

So, like a dumb-ass, I didn't make sure that my phone was on the WiFi (I was in the garage). I also didn't sniff about to see if anyone had flagged any problems. And I didn't twiddle any knobs on the bike to stop it going into stand-by, because you know, why would I? It's being updated.

It takes a while to download the motor's firmware over 5G. Long enough, that it was at 60% when the bike zoned out. No problem, right? The download hadn't finished, just switch the bike on, it'll pick-up, and write the firmware when it's downloaded and verified.

Nope. The motor was bricked.

What. The. Actual. Fuck.

I mean, perhaps the "Downloading" message in the app should actually be "Updating Firmware", cos I can't believe anyone would be dumb enough to write a firmware image in place, without verifying it in a staging area first. But apparently Shimano are dumb enough to let the bike go into stand-by when updating.

The only way to retrieve the motor was using the PC connection kit, which costs about 200 quid. My local bike shop had one, but I wasn't holding out much hope, but they managed it. Given a replacement motor would have set me back hundreds of pounds, this was an almighty PHEW...

I'm far from the only person this has happened to. When I searched, I found loads of forum posts detailing the exact same thing. Even more amazing, a previous version of the App had a flakey bluetooth implementation that was bricking motors left and right.

Whatever the real implementation nitty gritty of the update system is, I can categorically say, it's **shit**, and I'm absolutely staggered it got released into the wild.