Zwift has just released their Zwift Play controller, which lets you do everything from steering in-game, to quickly accessing settings while riding, all while also hurling burritos at other racers. It’s Zwift’s second piece of cycling hardware they’ve announced in the last year, following the Zwift Hub trainer last fall. And not to spoil too much of this review, Zwift seems to have once again nailed the hardware execution with a product that’s largely affordable and functional.
Interestingly, the Zwift Play controller is not actually a new idea for Zwift. Back in December 2021 when they accidentally leaked their own smart bike and trainer plans, the Zwift Play controller was literally on the text slide (even by name and function), and sure enough, if you looked closely enough, you could even see it on the bike image too. Zwift now says that they continued testing this device for the years since, refining it based on user feedback. And in my testing, I’ve got very few complaints.
With that, let’s dive into things.
In the Box:
Here’s the brown box, matching the styling and look of the existing Zwift Hub trainer box.
Inside it you’ll find all these components laid out:
You’ve got the left and right controllers, a dual-USB-C charging cable, two optional shims (if your handlebars need it), and some paper stuff. Here’s the controllers:
Then we’ve got the USB charger, and finally, the paper stuff:
This is not a complex device. And, since there’s nothing else on the market like it, I get to save myself (and you) doing comparison shots and weights. Also, nobody cares about bike weight on a smart trainer.
Setup & Config:
Getting the controllers physically on the bike is easy. You’ll see them marked left/right on the units, and then you just put them on the appropriate handlebar side.
They don’t use rubber bands or zip ties, but rather, it has a rubber flap that wraps around your bars and then latches on a hook. It works really well. Zwift says they’ve tested it on over 400 bikes with a 97.6% success rate, and indeed, on all my road bikes it worked great.
However, if you’ve got a triathlon/TT bike, you’re kinda hosed. I couldn’t figure out any way to make that work. The closest I could get was putting them vertical, but that looks kinda stupid, and isn’t super practical. That said, you could just latch them onto something else nearby, which would still give you non-steering functions (like changing action bar bits – saving you having to use sweaty fingers on the screen).
Further, they are not compatible with Campagnolo shifters that have a thumb shifter, since that’s blocked.
Also, it does work with some smart bikes. For example, below I tried it on the Wahoo KICKR Bike V1 & V2, the Tacx NEO Bike Plus, and the TechnoGym Ride indoor bike. The Wahoo and Tacx bikes were easy-peasy. But the TechnoGym Ride required using a screwdriver for leverage to get the strap attached, it was a super tight fit! Also note, the Tacx NEO Bike Plus is *DIFFERENT* than the original Tacx NEO Bike, which is not compatible, as the handlebars there are a wonky custom design (versus the standard handlebars on the NEO Bike Plus). Meanwhile, Zwift says the Wattbike ATOM & Stages SB20 bikes are incompatible. For the Stages SB20 bike, it’s the underside/inside SB20 sprint button that gets blocked. Though otherwise, it fits.
Interestingly, on a Wahoo KICKR Bike, which has steering and braking in Zwift already – you can concurrently pair that up, and it actually works. You can use either Zwift Play or KICKR Bike to both steer and brake, at any time (just tried it). In fact, in the main UI portion it’ll even show as a total of 7 devices paired (HR, Cadence, Controllable, Power, Play Left, Play Right, and KICKR Bike). Kinda cool!
Once that’s done, you’ll go into Zwift and pair it up. To turn it on, press the Zwift logo for a second or so, and it’ll power on:
For all platforms except Apple TV, you’ll do this in the Zwift game itself, just like pairing smart trainers and steering devices today. However, for Apple TV, due to the 2-Bluetooth connection limit, you’ll do pairing with the Zwift companion app instead (that little option at the top of the screen). Here you can see the pairing screen on my Mac. If there’s a firmware update, it’ll notify you of that too:
And then you’ll see it’ll show both the left and right side – albeit about half the time the battery icon doesn’t seem to show up:
With that, we’re done. It’s that simple.
Now, a quick geeky aside. I asked Zwift whether or not this used the existing Bluetooth game controller protocol (a long-standing protocol used throughout the tech industry for many years). Zwift said no, and that they actually tried for a while to use it, but found that for some PC users specifically, the bonding to the computer would become challenging if the user had to decouple to use on another device (like an iPad). Thus, they shifted away from that after testing.
Instead, Zwift has developed their own Bluetooth protocol for Zwift play, which they want to use going forward and will be open to 3rd parties to use for game accessories. They don’t have a ‘branded’ name for that protocol, as their “preferred option was taken”. However, as part of this, Zwift acknowledged that the current protocol/process for steering in Zwift wasn’t ideal, specifically in terms of hardware QA, as it required a lot of back and forth between Zwift and companies like Wahoo/Garmin/JetBlack/Elite/Stages/Wattbike etc… As anyone who has been following this space knows, that has been a proper dumpster fire (and unquestionably one where Zwift lit the match).
But, it sounds like Zwift agrees it sucked, and is trying to make it right. They’re still working on all the details, but confirmed the plan is that 3rd party companies will be able to use this open protocol in the future and that “we actually see this as a way to solve a number of headaches and remove the need for custom connection protocols to connect to Zwift.”
I’m never a fan of custom protocols, but at the same time, the existing system clearly isn’t working. Ideally, we’d see such a protocol used beyond Zwift, and across the trainer industry. But that’s probably asking for the days of 2015 sports tech industry agreement to return.
Wait, I’ve got one more geeky aside. What about Zwift Running? Sadly, the UI pairing screen there doesn’t allow it. Obviously, this is designed for bike handlebars, but if I know anything about Zwift runners, it’s that they’re a creative lot. In this case, the controllers actually fit really well on my Peloton Tread treadmill. The strap doesn’t go around, but that’s easily solved with two zip ties. This would give full and instant access to all the main control buttons (non-steering, since Zwift Run doesn’t support steering). But it’s the buttons I want, since using the companion app while running is far harder than on a bike.
However, once you toggle into Zwift Running mode, you can’t pair up the Zwift Play controllers. The UI simply isn’t there:
I’d love to see Zwift add this, easter-egg style. No guarantees or anything, just there. I mean, throw us Zwift Runners a bone…
The Zwift Play controllers have roughly three core buckets of functions that can be used:
1) Controlling all ‘Action Bar’ features
2) Steering (both within the road, but also at road/turn junctions)
3) Changing ERG mode intensity, and responding to Thumbs Up from other riders
To do all those actions, you’ll use a variety of buttons. At present, virtually all of these functions are single-press only. Meaning, aside from the long-press for the Thumbs-Up option, there aren’t other buttons that can be quickly double-tapped or long-pressed to get extra functions. So to that end, here’s the current scheme:
When you use the controllers for the first time, it’ll run through a little tutorial on them:
So, looking at the left side controller, it’s mostly about accessing the action bar. The action bar is the thing that pops from the bottom of your screen on Zwift, and lets you change various settings. Everything from changing the camera view, to turning around, to taking a screenshot or video. Historically speaking, accessing this would require you to either use a keyboard/mouse/touch a screen, or trigger the feature from the Zwift Companion app. Now, you can just use the left-side buttons:
To confirm a section, you’ll use the green ‘A’ select button on the right side controller. Or you can effectively ‘escape’/cancel by pressing the pink ‘B’ back button. It’s actually pretty straightforward and works super well.
All of these top-side buttons work well. Perhaps a little bit stiff, but Zwift says that’s actually by design for the top buttons on the controller, whereas the steering/braking buttons aren’t as stiff. They said they wanted it that way so that in the “heat of the race” you aren’t accidentally brushing across the top and hitting the wrong button. Fair enough.
Where things get a bit more complex is the steering side of it. On the front edge of the Zwift Play controllers are two long tilting orange buttons. Except, they’re not really buttons, just tilty things. They tilt inwards and outwards. Pulling outwards will cause your rider to steer inwards (either left or right, depending on which side you use), while pushing inwards will cause your rider to brake.
I can say this takes a bit of getting used to. Not so much the steering itself, but rather, not accidentally braking. I’d say it took about two sessions before I got pretty good at not accidentally braking. But now I’m in a good spot. The steering here is the same concept of steering within the road that’s been around for years on Zwift. It feels fine, though sometimes a little bit slow to respond (or more specifically, to go shift across the road).
To practice steering, Zwift just released a new Repack Rush. You may remember the mountain-bike based Repack Ridge from a few years back. This new one is a road-based one, that reminds me of F-Zero (yes, that F-Zero, and yes, I’m apparently that old). You aim to pick up the hovering clock icons, which reduce your final finish time. Meanwhile, if you hit the boosts on the road, you’ll go faster, while the red bits slow you down.
It’s a fun little course that took me about 3 minutes after a few tries, albeit without going full-send on intensity. Of course, your time is tied to your speed, so the harder you pedal, the faster you’ll complete it. Yet concurrently, you need to steer to at least avoid the slow-patches, as well as pick up the time-saving icons (and ideally hit the boost ones).
Doing all this at speed is where the steering felt a bit laggy at times in Repack Rush – like I just couldn’t get it to turn fast enough across the road – almost like I was fighting it. I suppose that’s part of the game, but I just wish it were a bit more aggressive. Interestingly, I don’t feel this in regular steering in the rest of Zwift. It sounds like this is specific to Repack Rush, but it sucks there (in the one place you actually want responsive steering).
Meanwhile, to the side of the steering tilter is an actual button. It’s the textured surface section, and this button is used for increasing or decreasing intensity during ERG mode.
If you look closely on my screen from my interval workout last night, you can see at the bottom of wattage targets a little ‘LS’ and ‘RS’, indicating to increase/decrease intensity using the left side and right side buttons.
It’s a nice touch, and super easy to do:
Likewise, you can always turn on/off ERG mode from the action bar using the buttons. Again, another use case of the action bar buttons on the left side.
Now, back in regular riding mode, you can press the blue ‘Y’ button to use a Power-Up. It makes it super quick and easy to burrito someone, or use that feather.
And thus you press it, and boom, feather utilized:
Likewise, you can use the orange ‘Z’ button to return a ‘Ride-On’, or to long-hold to give a thumbs-bomb (to the people around you). This makes it really easy to do this in-game, and I’ve gotta believe we’ll see an increase in Ride-On responding with this, as I rarely Ride-On respond with the companion app today, usually cause my fingers are all sweaty.
While I covered steering within the road above, you can also ‘steer’ at junctions using the buttons. This lets you choose which way to go. For this, it’s really simple: When the road junction info appears, you use the left button to choose left, the right button to choose right, up to go straight, and then you can also long-hold the purple ‘B’ button to do a U-turn:
In addition to all this button pressing, the units also have a vibration motor inside for haptic feedback. Unfortunately, that was turned off in the release/production build, though, it will return in the next software update to all platforms except Android (where it’ll return soonish). The vibration motor will trigger on the following events:
1. Controllers Paired
2. Use Powerup
3. Repack Rush: Boost
4. Repack: Rush Hazard
5. Repack Rush: Bonus Time Pickup
6. Return a RideOn
7. Give a Ride On Bomb
Now, a couple of other things worth mentioning. First, you’ll see the units within the Zwift Companion app under the ‘Zwift Hardware’ section. This shows the current battery state, as well as offers any firmware updates. Also, it shows various hardware version info.
From a battery standpoint, Zwift says the controllers get about 20 hours of usage between charges. I’d say this is pretty conservative actually, doing some battery math, I’d be almost double this based on current usage trends. But I suspect the 20 hours could be for someone constantly steering an entire race, whereas in my cases I was using steering sparingly, but using the action bar/etc…
In terms of charging, you’ll do that via the dual-USB-C charging cable, and then the USB-C ports are covered by rubber flaps. I assume they’re also internally waterproofed as well. The units can be used while charging as well.
I did ask Zwift if the controllers had a specific waterproof standard (e.g., IPX7), and they noted it didn’t because those standards don’t address sweat, which they pointed out is far worse than water (which is true). They said they did over 300 sweat ingress tests, including with dyed liquids and UV lights to track where sweat was going. Obviously, this is really only something one can test super long term, though I haven’t killed them yet.
At $99, the current introduction/beta phase pricing, I think it’s a very good deal if you frequently Zwift. I don’t tend to message other riders in-game while Zwifting, so this reduces the need to use my phone for Zwift-related tasks to zero – ideal when my fingers are drenched in Zwift. Or when I’m holding on for dear life in a race. The Zwift Play controller nails those core use cases. And the hardware seems sturdy and solid (perhaps overly so, but that’s fine).
I think the pricing is a bit more challenging at Zwift’s proposed $149 for normal sales (down the road sometime). While I think that pricing is somewhat fair compared to other electronic products on the market in the ~$150, it changes my mindset from an easy/obvious buy to a “I guess so”. Again, if you Zwift a ton, then at $150 it’s still probably gonna be great for you. But if you skip Zwifting in warmer months, and don’t use a lot of Zwift companion app functions the rest of the year, then it’s less appealing at $150.
It’ll be interesting to see what other functions Zwift lights up on the hardware as it evolves. Zwift says that more things are in the pipeline related to the controllers. It’s unclear if that means new in-game features like the recently released Repack Rush (a revamped steering challenge), or if it means more customization of the Zwift Play buttons for other functions. Zwift has long had an on-again/off-again relationship with all things steering, so I’m hoping that with them now in the hardware game themselves, they’ll actually stick with it.
All of this is at a time when their competitors and partners continue to ramp up steering efforts. Certainly we saw RGT add steering this past winter using your phone, and then just yesterday someone posted about the Tacx Bike now finally having steering in Zwift in a recent beta too. And atop that, Zwift says that they’ve developed this as an open protocol that others can use to connect to Zwift as well. So, we’ll see if other hardware companies take advantage of that going forward.
Either way, for the time being, at $99 – I’d say the Zwift Play is a solid deal and a solid product.
With that – thanks for reading!