When you click through from our site to a retailer and buy a product or service, we may earn affiliate commissions. This helps support our work, but does not affect what we cover or how, and it does not affect the price you pay. Neither ZDNET nor the author are compensated for these independent reviews. Indeed, we follow strict guidelines that ensure our editorial content is never influenced by advertisers.
ZDNET's editorial team writes on behalf of you, our reader. Our goal is to deliver the most accurate information and the most knowledgeable advice possible in order to help you make smarter buying decisions on tech gear and a wide array of products and services. Our editors thoroughly review and fact-check every article to ensure that our content meets the highest standards. If we have made an error or published misleading information, we will correct or clarify the article. If you see inaccuracies in our content, please report the mistake via this form.
Group fitness classes are great, but they're expensive. At-home workout classes can be a great alternative, but still often require dipping into your wallet. But if you're already paying for a Netflix subscription, here's some good news: you now have access to free fitness classes.
At the end of last year, Netflix partnered with Nike Training club, giving Netflix subscribers access to stream fitness classes. Divided into programs, each Nike Training Club installment has multiple episodes to stream, totaling 30 hours of exercises.
After Netflix generates the search results, you'll see 10 different programs to choose from. Select which program your body is in the mood to move to. I've personally been enjoying the "Fall in love with Vinyasa yoga" program after my sitting marathon at work.
The Nike Training Club app is still free to use and download. If you have a Netflix subscription, regardless of which plan, the Nike Training Club classes are accessible via Netflix and built into your Netflix membership.
Starting in December of 2022, Netflix officially entered it's fitness streaming era. Partnering with Nike Training Club, Netflix members can now stream HIIT, yoga, and eight other workout programs alongside Netflix's extensive movie and TV catalog.
Netflix is just one option that allows you to stream fitness classes for free. if you don't have a Netflix subscription, you can also just download the Nike Training app for free. YouTube is also a great option for finding free workout videos and even fitness plans. Yoga with Adriene, MadFIt, Officialthenx, and Juice & Toya are some great fitness YouTube channels sure to get you sweating at no (financial) cost.
Now that the cheesy title has pulled you(Fitflix was taken and I didn't want to be sued) I'll tell you about the project, it uses a stationary exercise bike connected to an Arduino Nano to control the streaming of Netflix on a PC, I started this project hoping I could get it working on just a Raspberry Pi but ran into a few problems I couldn't overcome which I'll discuss at the end. But the main gist of the project at the click of a button and some user input, Firefox will open and play Netflix and monitor your speed for the Workout routine you designed, if you are going below the speed for too long, Netflix will be paused until you get back up to speed. If you want to use some other streaming service, it'll only take a few changes.
The main reason I did this project was to learn some python and finally use my Raspberry Pi(which didn't get used in the end) so the code won't be perfect as I was learning as I went but thought I might as well publish the project.
Before I started this project, I've never tried to hack into an exercise bike but I assumed it would output a variable frequency square wave or an analog voltage proportional to the speed, well it looks like my first guess was correct. But I thought it would be a rotary encoder which would be a high frequency due to the number of slots on the encoder but from my testing which I'll describe below, the frequency of the square wave was very slow, at slower speeds the period of the wave was greater than a second. Either this is a very low resolution encoder, high gear ratio or something else, but it doesn't really matter whats in the black box once we know how to use it .
I found out the output was a square wave with varying frequency from hooking up my Bitscope to the speed input of the display(which the manufacturers were nice enough to clearly label) and started pedaling. With the help of a friend, I took multiple screenshots of the waveforms at different speeds. To get the period of the square wave, measure the time between two rising or two falling edges(use TB in bottom left of window not Time/Div). From these waveforms, I found a formula to convert period of waveform to speed on the bike(these pictures are shown above). I did this by plotting the points on a graph and getting the equation from the treadline. You of course draw your own line of best fit, pick two point off the graph and solve:
I did run into a problem that I couldn't recorded the lower speed(around 10Km) because the frequency was so slow that the Bitscope couldn't display the whole period. From my testing it looks accurate enough between 20Km and 40Km but below and above can be inaccurate making me think either the output is none linear, the display isn't accurate or my formula is accurate. But it gives me close enough answers to the real value for most speeds, if I took more points, the equation would be more accurate but this will do.
The circuit is very simple, its just a pull down resistor and two wires connecting to the speed input and ground of the bike circuit. There was four holes already in the back of the casing so I soldered my circuit to some copper strip board, drilled two holes in it and attached it to the casing with two nuts and bolts. If you do use copper strip board, make sure the traces are cut in between the Arduino pins and that the bolt doesn't touch and of the copper.
There isn't too much to the Arduino code, it first waits for the PC to send something to establish a connection. After that it starts looping and reading the analog pin to see if its high or low and calculates the speed by measuring the period of the square wave. I couldn't use interrupts as the voltage from the bike is roughly 1V(when connected to the Arduino) so less than the logic level of the Arduino, you could amplify it but it was easier to fix in code than in circuitry(I have op amp circuits on my other Instructables and on my blog if you want to use them, an optocoupler would work too). Because the shortest period of the waveform is going to be between 100's of milliseconds(Unless you are insert-famous-cyclist-here) we didn't need the speed of interrupts. Every half second a timer interrupt is triggered and if PC has requested the current speed, the Arduino will send it. If the speed hasn't been updated after a few seconds, the speed will be reset to zero.
As I said at the start I couldn't get this to work on a Raspberry Pi, the reasons for this was the browsers and selenium, I couldn't get a browser that could be controlled by selenium that could also stream Netflix. The problem with Firefox was you need the Widevine extension to enable 'Play DRM' which is required to stream Netflix, this extension isn't supported on the Pi. I also tried Chromium and after a while of searching I did find a version of Chromium which could stream Netflix on the Pi but Google stopped supporting Arm for the Chromedriver so I couldn't control it with selenium, I did find an old version of Chromedriver but couldn't get it working.
There is of course a lot of extras I could put in this such as stopping the user unpausing Netflix, adding sound when switching rounds, saving workout details and a few others but if I kept adding these features, the project would never be "done" and right now it has enough functionality for me and after all, it was to help me learn some python and maybe(a big maybe) get me using the exercise bike.
LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
(Disclosure: VG is considered as tabloid newspaper. For this exercise, we are not here to examine the legality or authenticity of all the details of the story, we are here to observe and listen to the story tellers only)
If you want to participate on the final exercise, you would need to dig deeper into social media to read some comments about the documentary and the main parties involved in this story. Places like Reddit would be a good start. Warning: try do not take these comments personally and do not interact with these discussion threads.
First, she was talking about how she met the swindler, by the name of Simon. We observe her facial expressions and her body language. What do you see? Listen to her story. What was she saying about the encounter? Take notes.
The purpose of this part of the exercise is to empathize with people you may not see eye to eye with. It is very easy to exercise empathy to people who have similar background and value as you. If someone tells you they are only good at empathizing with people who are basically their clones, do you think they are actually very good at their empathy skills? Probably no. Just like freedom of speech, sometimes it is about the things you disagree with. Having empathy with someone does not mean you need to be that person and do what they do, act the way they act. You just need to be able to understand what they are thinking and feeling after observing what they are doing, and listening to what they say. What are their wants and needs?
90f70e40cf