{"id":18504,"date":"2020-08-04T20:07:56","date_gmt":"2020-08-04T18:07:56","guid":{"rendered":"http:\/\/cornay.co.za\/wp\/?p=18504"},"modified":"2020-08-04T20:07:56","modified_gmt":"2020-08-04T18:07:56","slug":"unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks","status":"publish","type":"post","link":"http:\/\/cornay.co.za\/wp\/2020\/08\/04\/unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks\/","title":{"rendered":"Unbricking a $2,000 Exercise Bike with a Raspberry Pi Zero and Bluetooth Hacks"},"content":{"rendered":"<p>Really, how did we get the point in this world where an exercise bike can be bricked? Such was the pickle that [ptx2] was in when their $2,000 bike by Flywheel Home Sports was left without the essential feature of participating in virtual rides after Peloton bought the company. The solution? <a href=\"https:\/\/ptx2.net\/posts\/unbricking-a-bike-with-a-raspberry-pi\/\" target=\"_blank\" rel=\"noopener noreferrer\">Reverse engineer the bike to get it working with another online cycling simulator<\/a>.<\/p>\n<figure id=\"attachment_425451\" aria-describedby=\"caption-attachment-425451\" style=\"width: 771px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" data-attachment-id=\"425451\" data-permalink=\"https:\/\/hackaday.com\/2020\/08\/04\/unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks\/sniffing-bluetooth-traffic\/\" data-orig-file=\"http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg\" data-orig-size=\"771,280\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sniffing-bluetooth-traffic\" data-image-description=\"\" data-medium-file=\"http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg?w=400\" data-large-file=\"http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg?w=771\" class=\"size-full wp-image-425451 lazyload\" data-src=\"http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg\" alt=\"\" width=\"771\" height=\"280\" data-srcset=\"http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg 771w, http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg?resize=250,91 250w, http:\/\/cornay.co.za\/wp\/wp-content\/uploads\/2020\/08\/sniffing-bluetooth-traffic.jpg?resize=400,145 400w\" data-sizes=\"(max-width: 771px) 100vw, 771px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 771px; --smush-placeholder-aspect-ratio: 771\/280;\" \/><figcaption id=\"caption-attachment-425451\" class=\"wp-caption-text\">Sniffing Flywheel Bluetotooth packets with <a href=\"https:\/\/github.com\/jnross\/Bluetility\" target=\"_blank\" rel=\"noopener noreferrer\">Bluetility<\/a><\/figcaption><\/figure>\n<p>We have to admit we weren&#8217;t aware of the array of choices that the virtual biking markets offers. [ptx2] went with <a href=\"https:\/\/zwift.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Zwift<\/a>, which like most of these platforms, lets you pilot a smart bike through virtual landscapes along with the avatars of hundreds of other virtual riders. A little Bluetooth snooping with <a href=\"https:\/\/github.com\/jnross\/Bluetility\" target=\"_blank\" rel=\"noopener noreferrer\">Bluetility<\/a> let [ptx2] identify the bytes in the Flywheel bike&#8217;s packets encoding both the rider&#8217;s cadence and the power exerted, which Zwift would need, along with the current resistance setting of the magnetic brake.<\/p>\n<p>Integration into Zwift was a matter of emulating one of the smart bikes already supported by the program. This required some hacking on the Cycling Power Service, a Bluetooth service that Zwift uses to talk to the bike. The final configuration has a Raspberry Pi Zero W between the Flywheel bike and the Zwift app, and has logged about 2,000 miles of daily use. It still needs a motor to control the resistance along the virtual hills and valleys, but that&#8217;s a job for another day.<\/p>\n<p>Hats off to [ptx2] for salvaging a $2,000 bike for the price of a Pi and some quality hacking time, and for sticking it to The Man a bit. We have to say that most bike hacks we see around here have to do with making <a href=\"https:\/\/hackaday.com\/2019\/06\/07\/bikeon-makes-electric-conversion-a-snap\/\">less work for the rider<\/a>, not more. This project was a refreshing change.<\/p>\n<p>[Featured images: <a href=\"https:\/\/zwift.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Zwift<\/a>, <a href=\"https:\/\/www.flywheelsports.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Flywheel Sports<\/a>]<\/p>\n<p>[via <a href=\"https:\/\/www.reddit.com\/r\/gadgets\/comments\/i2glh7\/unbricking_a_2000_bike_with_a_10_raspberry_pi\/\" target=\"_blank\" rel=\"noopener noreferrer\">r\/gadgets<\/a>]<\/p>\n<p>&nbsp;<\/p>\n<p>source <a href=\"https:\/\/hackaday.com\/2020\/08\/04\/unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks\/\">https:\/\/hackaday.com\/2020\/08\/04\/unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Really, how did we get the point in this world where an exercise bike can be bricked? Such was the pickle that [ptx2] was in when their $2,000 bike by Flywheel Home Sports was left without the essential feature of<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/cornay.co.za\/wp\/2020\/08\/04\/unbricking-a-2000-exercise-bike-with-a-raspberry-pi-zero-and-bluetooth-hacks\/\">Read more <span class=\"screen-reader-text\">Unbricking a $2,000 Exercise Bike with a Raspberry Pi Zero and Bluetooth Hacks<\/span><span class=\"meta-nav\"> &#8250;<\/span><\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[],"class_list":["post-18504","post","type-post","status-publish","format-standard","hentry","category-news-2"],"_links":{"self":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/18504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/comments?post=18504"}],"version-history":[{"count":1,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/18504\/revisions"}],"predecessor-version":[{"id":18515,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/18504\/revisions\/18515"}],"wp:attachment":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/media?parent=18504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/categories?post=18504"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/tags?post=18504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}