How to Load Zwift or TrainerRoad on a Peloton Bike: A Geek’s Guide


This post started almost 100% for my own reference as a simple notepad file. But enough people asked about my random Instagram stories using it for Zwift and TrainerRoad, that I figured I’d write it up into something semi-cohesive. While the concept of loading apps like Netflix on a Peloton bike is hardly new (with much of it documented on Reddit), loading TrainerRoad or Zwift specifically is relatively unheard of. Both are technically easy to load, but Zwift was much trickier to sort out all the nuanced steps.

Now, the only ‘bad news’: You’ll need power meter pedals to make this work. I can’t get around that (and nobody to my knowledge has). The good news is that you can use even crazy-old Vector 1 or Favero BePro pedals if you can find them on eBay or something. That’s because the Peloton bike actually supports connecting to ANT+ sensors. More on this later.

If you’re tech savvy, the overall install process is pretty easy – about 10-15 mins for TrainerRoad and 15-20 mins for Zwift. If you’re familiar with sideloading Android apps, then it’s trivial. Whereas if you come from the iOS world, you’ll probably scratch your head a few times but keep on chuggin’. To my knowledge, there is nothing here that ‘voids’ your Peloton warranty per se (at worst you simply reset your screen to defaults). But then again, they technically void your warranty for changing out your pedals…so…shrug? Either way, you’re on your own.

In any case, the end resultant of loading Zwift or TrainerRoad on a Peloton bike is that you can ride Zwift or TrainerRoad on your Peloton screen.

Some may be asking: Why?

To which I respond: Some idiot many years ago looked at a piece of horribly moldy cheese that might kill them and thought: I should eat that, maybe it’ll taste good!

And thus, we now have blue cheese and stinky fridges everywhere.

Actually, the answer is simple. As I’ve heard from many of you, you might already have the Peloton bike in your home for its primary purpose (riding the Peloton app). So to be able to re-use it for riding TrainerRoad or Zwift is handy for some folks. In fact, I’ve used it a number of times that way over the last 5 months. At home I keep the Peloton bike in our living room, whereas I have a spare bike on a trainer in a shed thing. All the rest of my trainer/bike gear is at the office. So if I’m also keeping an eye on the kids at the same time as I’m doing a workout, then I’ll likely ride the Peloton bike.

Practically speaking riding the Peloton bike for a TrainerRoad workout is not really any different than a non-smart trainer. The same goes for Zwift. The only difference is that instead of shifting you use the resistance knob. It makes for a perfectly functional TrainerRoad session, but realistically a less than optimal Zwift experience. But you already knew that going into this.

Anyway, let’s get moving.

(Ok, and yes, I’m still planning on writing up my full Peloton review touching on accuracy/usage/etc. All the normal bits. The long pole in the tent was honestly moving it from home to the DCR Studio to get final photos/videos, which, I did via cargo bike this morning as some of you saw on my Instagram stories. So now that’s done, expect a review shortly. Also, for those not following along, the TDLR is that I bought a barely used Peloton back in January in Las Vegas while there for CES. I disassembled it into a million pieces in my hotel room, then brought it on the airplane with me back to Amsterdam and re-assembled it. The 200-post long story of that is on my Instagram Stories archive in two pieces. Enjoy!)

Why You Need Power Meter Pedals:


Now as I stated before, you’ll need power meter pedals here. Any pedals will do. Technically a company like Stages, 4iiii, or even Avio could develop a stick-on style power meter for the Peloton crank arms. Though, that’d probably require some incentive to do so. So till then, power meter pedals are where its at.

The reason you need this is that Peloton does not broadcast your power (or cadence) over any standard protocol (ANT+ or Bluetooth Smart). Instead, that’s done via wires directly into the bike itself for its own app. Surprisingly, despite nearly a million of these bikes out in the wild, nobody has actually decided this successfully as a small app that can run on the bike and broadcast that data. And unfortunately, Peloton has no real incentive to follow industry standards either.

The kicker here is that the Peloton bike has both ANT+ & Bluetooth Smart hardware. So if someone did find a way to do that, then any app could be loaded and connect to it.

I really wish there was a way around this. But I’ve searched the crap out of the internet for more hours than I’d like to admit, and nobody has come up with a solution, specifically to being able to detect the resistance knob level. Speed would be trivial using a magnet sensor. The exact calculation Peloton uses is known, also cadence would be trivial using a magnet sensor also. But without knowing what precise setting the Peloton resistance knob is at, you can’t determine output wattage on a spin bike. The closest someone has come is using OCR on the screen to read the digits in the Peloton app live, and then re-transmitting it. But that won’t work here, since we’re using the screen to run Zwift.

So, until then, any of the following power meter pedals will work:

– Garmin Vector 1, Vector 2, Vector 3 (or the single-sided variants)
– Favero BePro or Favero Assioma pedals (or the single-sided variants)
– PowerTap P1 or PowerTap P2 pedals (or the single-sided variants)
– IQ2 pedals
– SRM X SPD pedals
– SRM EXACT Look Pedals
– LOOK Power Pedals
– Polar Power Meter Pedals (these should work as they follow the BLE standards)

I believe that’s it. Or heck, I suppose you could skip that and find an old PowerCal heart rate strap somewhere, that’d work too (and frankly, for longer duration bits the accuracy probably wouldn’t be all that different than the Peloton bike anyway).

Ok, with that out of the way, let’s talk tech.

The Foundational Bits:


Estimated Time: 5-10 mins

These first steps are required no matter what app you’re installing. And realistically this would be the same whether it was Zwift, TrainerRoad, or Netflix. Maybe even apps like The Sufferfest or others. Note that there are numerous ways to slice the Android onion. In my case, I’m mostly just using the various bases that I found elsewhere. So if you’ve got tweaks, feel free to suggest them in the comments.

Note: I’m writing these instructions using a PC because I’m mostly a PC guy. But if someone writes these foundational instructions for Mac, I’m happy to include them.

1) You need a micro-USB cable, specifically one that supports data (note: I’d recommend the longest one you’ve got around). Most support data, but if you’re unsure and have a Garmin/Wahoo/etc lying around, plug it into your computer and ensure that you can see the Garmin/Wahoo/whatever in your computer. That’ll get plugged into the only port on the back of the Peloton console that you can plug it into.

2) Next, turn on developer mode on the Peloton bike:

A) Login to your bike
B) Tap settings in upper right, then ‘Device Settings’, then select ‘About Tablet’, then tap the ‘Build Number’ box repeatedly until it says you’re a Developer.
C) If you press back once, you should see ‘Developer Options’ showing now below ‘About Tablet’, open the ‘Developer Options’
D) Scroll down to ‘USB debugging’ and enable that, this is basically how you get apps on your Peloton bike


3) Next, we need to install the Android Developer tools on your Windows computer. Again, I come from the Windows world mostly, so I don’t know the steps for Mac. But I assume they’re similar. Select the option that says ‘Download SDK Platform-tools for Windows’. To ‘install’ them, you’re basically just copying the contents to a folder. In my case, to keep things simple, I’ve created a folder called Peloton on my hard drive:


(Note: It may unzip into a folder called ‘Platform-Tools’, that’s fine. I just put everything into the Peloton folder for simplicity here.)

4) Now, plug your Peloton bike to your computer using that USB cable. You should see your Peloton bike show up on your computer. It’ll be a funky name, this is actually just the model of your Peloton bike. The folders under there will vary slightly from mine, since the AzRecorderFree is what I use to capture screen recordings.


5) Now, open up a Command Prompt, and get to the same directory as where you installed all these files. In my case, that’s the Peloton folder on my C:\ drive.

Then once there type: adb.exe devices


6) You’ll get a prompt on your Peloton bike to authorize that request from your computer, press to accept (and probably check that box to make your life easier in the future).

7) Now, type the command again: adb.exe devices

You’ll see this time it shows a device returned (IAPLBS182104347), which simply means it successfully connected to my Peloton bike.


Ok, with these steps done we’re ready to install *ANY* app you want. In other words, you accomplished the hard part. Now it’s easy from here on out!

TrainerRoad Install Steps:


Estimated time: 5-10 minutes

We’ll start with the TrainerRoad steps because frankly it’s the fastest. Everything is in one tidy package and you’ll be up and running in no time!

The way ‘side-loading’ works is that Android apps come in an APK file, which is basically a self-contained file that includes the entire apps. Mostly (as we’ll see in Zwift). But you need to get those files. Because the Peloton bike doesn’t simply have the Google Play store installed, we’ll need to use 3rd party sites to download these same APK files. Sometimes companies will also make them available easily too.

In the case of TrainerRoad, the APK file is available from PureAPK. It shows the most recent/current Android version from January 22nd, 2020.

(Note: Anytime you download an app from a 3rd party service, you risk a scenario where the 3rd party app is compromised. That’s a pretty darn low chance here, but just want to be aware of that.)


Now, download that APK file into that Peloton folder. It’ll make your life easier. You can see the file below in that folder:


Ok, back to your command prompt and type the below and press enter:

adb.exe install TrainerRoad_v2020.3.0.92026_apkpure.com.apk

(Pro Tip: After typing the Tra of TrainerRoad, simply press tab and it’ll finish it for you.)


It’ll come back with ‘Success’ a few seconds later.

Now, back on your Peloton bike press the three dots in the lower right corner, then press ‘About’, and then tap the lower right corner of that box 10 times quickly:

20200614_155501 20200614_155510

Here’s the spot:


Now, you’ll be here, which shows all your apps. You’ll see some general Peloton apps (including the ANT+ Demo app no less!), as well as our new TrainerRoad app:


Simply tap it to open, then login to TrainerRoad as normal:


The screen will go sideways for a second while TrainerRoad downloads all the files. This part of the app isn’t optimized for landscape. No worries. It might even turn upside for a second.


Next, press ‘Pair Devices’. Then press ‘Deny’. You won’t be able to ‘Allow’. Don’t worry, we’ll come back to that in a second. Let it finish pulling all the workouts, you’ll see status at the bottom left corner. It’ll probably take 3-5 minutes. This is no different than on any other TrainerRoad device.


Once it’s done, we need to go fix that permissions issue. Don’t worry, it’s easy!

Tap the time/Bluetooth/WiFi icons in the corner of the screen, that’ll bring you here:


Then, you’ll see the ‘Settings’ menu (above), where you’ll tap ‘Apps’ (above), which brings you to a list of apps. Choose the TrainerRoad app:


You’ll see the above. Then select ‘Permissions’ and enable the ‘Location’ option (not enabled above, but you’ll need to enable it).

Now press back a few times till you’re in the TrainerRoad app. It might still be upside-down, sideways, or such. No worries right now.


At this juncture you can now scan for devices successfully! I don’t know why the sensor pairing here in TrainerRoad depends on the location service, but it does. So without it, you can’t get either ANT+ or Bluetooth Smart connectivity (which, you kinda need). Let it scan for devices, and you’ll now be able to select ‘Next’. Keep pressing next through various menus. Each time it’ll probably rotate your Peloton screen once.

But ultimately press Next enough times and you’ll be here, ready to roll!


You can go into the Devices menu as normal to ensure all your pairings – mostly notably your power meter pedals:


With that, you’re done!

Now, anytime you want to open TrainerRoad it’s easy, simply press the three dots in the lower right corner, then press ‘About’, and then tap the lower right corner of that box 10 times quickly, then tap TrainerRoad. All in it’ll take less than 5 seconds. And then you’re doing your TR workouts as normal:


The above was my workout yesterday, on the Peloton bike using PowerTap P1 pedals, but controlling the resistance knob manually. One tip, is that you can use the Peloton logo on the resistance knob to figure out roughly how much of a turn you need for different intervals. It’s not perfect, and is kinda like using a non-smart trainer.

Go forth and enjoy!

Oh, and if you need to get out of TrainerRoad, you can swipe down from the top of the Peloton screen and then tap the Peloton logo at the bottom. Because TrainerRoad will run in the background after you’re done, I’d recommend either Force Closing the app via Settings, or simply restarting your Peloton bike so it doesn’t slow down the main Peloton app when you use that.

Zwift Install Steps:


Estimated time: 10 minutes

Ok, next up is Zwift. Practically speaking it’s not more difficult than TrainerRoad’s, it’s just totally different. Most people (including myself) got snagged up on this because it’s got one minor catch that if you don’t know to create a special folder, it won’t work.

In the case of Zwift, we’re going to get the APK file from APKFab. That’s because they include the added OBB data you’ll need. Other sites don’t have this, and without it, you’re hosed. You’ll see the big blue button ‘Download XAPK (APK + OBB Data)’.

(Note: Anytime you download an app from a 3rd party service, you risk a scenario where the 3rd party app is compromised. That’s a pretty darn low chance here, but just want to be aware of that.)


Now, download that file into that Peloton folder, it’s big, it’ll take a minute or two. But downloading it to that Peloton folder on your hard drive will make your life easier. You can see the file below in that folder:


Now in your C:\Peloton folder, rename the Zwift APK file to be a .ZIP file instead (right-click > Rename > simply replace the .xapk with .zip):


Now, right-click that Zwift file and extract the contents into a new folder, just call it “Zwift”:


We need exactly one file from this entire boondoggle, the OBB file, just keep clicking down a few levels till you see it (it’s the only file there, paths shown below):


Now, using Windows Explorer, navigate to create a new folder within the Peloton bike’s directory, under Android > obb, called:


It needs to be called exactly that. This is SUPER CRITICAL. It won’t work if you screw this up. Just like below:


Now, copy and paste that obb file to your Peloton bike, in the Android > obb  > com.zwift.zwiftgame folder:

image image

Now, back in that command prompt we need to install the Zwift app. Here’s what you’re typing:

adb.exe install .\Zwift\com.zwift.zwiftgame.apk


Got it? Good, almost there.

(At this point I don’t know where exactly your Peloton screen may be, but ultimately you want to be in the app launcher. If you’re not sure, simply press the Peloton icon to get yourself back to the main Peloton screen and then continue on).

Now, back on your Peloton bike press the three dots in the lower right corner, then press ‘About’, and then tap the lower right corner of that box 10 times quickly:

20200614_155501 20200614_155510

Specifically, where this red box is, is where you tap 10 times quickly:


Now, you’ll be here, which shows all your apps. You’ll see some general Peloton apps (including the ANT+ Demo app no less!), as well as our new Zwift app. But don’t be clickin’ anything yet! We need to give it some permissions first.


So instead, open that Settings icon (the big wheel, not the ‘Settings’ text in the upper right corner):


Then press Apps, and then scroll down to Zwift and open it up:


Open the ‘Permissions’ section, and give it all three: Camera, Location and Storage options (I don’t know why it asks for camera, but it does, it’ll fail later if you don’t – I tried.)


(Pro Tip: Look at the size of the app, if it’s not in the 600MB+ range, and is perhaps around 30-40MB, that means something went amiss with the folder you placed the OBB file in. Double-check that. Mine shows 2GB because I’ve finished the install for this screenshot)

Then press back a few times till you’re here:


Now you can go ahead and open Zwift:


It’ll take a little while, don’t worry. It’s doing its thing downloading more data. A minute or two later, it’ll bring you to the welcome screens you can swipe through, then the login screen:


And from there you pair up your sensors like normal. Both ANT+ & Bluetooth Smart sensors are compatible:


Now, go forth and enjoy Zwift like normal…at all its low-resolution Peloton screen processor glory:

vlcsnap-2020-06-15-00h26m48s556 vlcsnap-2020-06-15-00h27m04s192

Note that I mounted a Quadlock mount to my bike to hold my phone for other stuff, but it works well for holding the Zwift companion app too. Though frankly any phone mount will work well here:

DSC_5876 DSC_5874

You do you on that front, at this point in the setup guide, you’re probably just using duct tape to hold it together.

In any case, you’re done, off you go to use Zwift. Oh, and if you need to get out of Zwift, you can swipe down from the top of the Peloton screen and then tap the Peloton logo. Because Zwift will run in the background after you’re done, I’d recommend either Force Closing the app via Settings, or simply restarting your Peloton bike so it doesn’t slow down the main Peloton app when you use that.



Ok, there ya have it: Zwift or TrainerRoad working just fine on your Peloton bike, albeit with power meter pedals.

Now, is it an optimal Zwift experience? No, of course. But it’s totally doable. I’ve used it numerous times this way. It is however a perfectly functional TrainerRoad experience, especially with longer intervals.

Undoubtedly you’ll have ways these steps can be optimized (to which I’m all ears). And perhaps those folks with the latest generation Peloton screens will get better resolution on Zwift than mine. I’m not sure. Also, you’ll need to remember every once in a while to update your Zwift or TrainerRoad app. There are Android tools that can do it for you when new versions come out, but I haven’t tackled any of those. If someone wants to write some steps in the comments below, I’m totally game for adding them in here.

And maybe at some point I’ll write-up steps for other apps like The Sufferfest, though, it’ll likely just follow one of the variants of either the TrainerRoad or the Zwift install. That pretty much covers the two extremes you’re likely to find on Android app sideloading.

With that – hopefully you found this useful, or something. Given there’s a million Peloton bikes out there, it stands to reason that at least some of you have too much time on your hands like me and want to do this. Thus…good luck!

Note: I fully expect to edit/update these installation numerous times. I also fully expect you’ll have some great tweaks in the comments. So if you’re seeing these on Day 0, they might be a bit smoother a few days later.

Post a Comment

Your email address will not be published. Required fields are marked.
If you would like a profile picture, simply register at Gravatar, which works here on DCR and across the web.

You can click here to Subscribe without commenting

Add a picture