Recently [Imran Haque]’s family bought the quite popular Peloton bike. After his initial skepticism melted to a quiet enthusiasm, [Imran] felt his hacker curiosity begin to probe the head unit on the bike. Which despite being a lightly skinned android tablet, has a reputation for being rather locked down. The Peloton bike will happily collect data such as heart rate from other devices but is rather reticent to broadcast any data it generates such as cadence and power. [Imran] set out to decode and liberate the Peleton’s data by creating a device he has dubbed PeloMon. He credits the inspiration for his journey to another hacker who connected a Raspberry Pi to their bricked exercise bike.
As a first step, [Imran] step began with decoding the TRRS connector that connects the bike to the head unit. With the help of a multi-meter and a logic analyzer, two 19200bps 8N1 RS-232 channels (TX and RX) were identified. Once the basic transport layer was established, he next set to work decoding the packets. By plotting the bytes in the packets and applying deductive reasoning, a rough spec was defined. The head unit requested updates every 100ms and the bike responded with cadence, power, and resistance data depending on the request type (the head unit did a round-robin through the three data types).
Once the protocol was decoded, the next step for [Imran] was to code up an emulator. It seems a strange decision to write an emulator for a device with a simple protocol, but the reasoning is quite sound. It avoids a 20-minute bike ride every time a code change needs to be tested. [Imran] wrote both an event-driven and a timing-accurate emulator. The former runs on the same board as the PeloMon and the latter runs on a separate board (an Arduino).
The hardware chosen for the PeloMon was an Adafruit Feather 32u4 Bluefruit LE. It was chosen for supporting Bluetooth LE as well as having onboard EEPROM. A level shifter allows the microcontroller to talk directly to the RS-323 on the bike. After a few pull requests to the Adafruit Bluetooth libraries and a fair bit of head-banging, [Imran] has code that advertises two Bluetooth services, one for speed and another for power. A Bluetooth serial console is also included for debugging without having to pull the circuit out.
Getting a wheeled robot to follow a line is relatively simple, but a running human is by no means a stable sensor platform. At the previously mentioned hackathon, developers put together a rough proof of concept with a smartphone, using its camera to recognize a painted line on the ground and provide left/right audio cues. As the project developed, the smartphone was attached to a waist belt and bone conduction headphones were used, which don’t affect audio situational awareness as much as normal headphones.
The shaking and side to side movement of running, and varying light conditions and visual obstructions in the outdoors made the problem more difficult to solve, but within a year the developers had completed successful running tests with [Thomas] on a well-lit indoor track and an outdoor pedestrian path with a temporary line. For the first time in 25 years, [Thomas] was able to run independently.
While guide dogs have proven effective for both daily life and running, they cost approximately $60000 over an average working life of 8 years, putting them out of reach of many sight-impaired people around the world. Project Guideline is still in the early stages, and real-world problems like obstacles and traffic still need to be addressed, but there is massive potential.
We have to hand it to this team, their entry for the 2020 Hackaday Prize is a classic pincer maneuver. A team from [The University of Auckland] in New Zealand and [New Dexterity] is designing a couple of gloves for both rehabilitation and human augmentation. One style is a human-powered prosthetic for someone who has lost mobility in their hand. The other form uses soft robotics and Bluetooth control to move the thumb, fingers, and an extra thumb (!).
The human-powered exoskeleton places the user’s hand inside a cabled glove. When they are in place, they arch their shoulders and tighten an artificial tendon across their back, which pulls their hand close. To pull the fingers evenly, there is a differential box which ensures pressure goes where it is needed, naturally. Once they’ve gripped firmly, the cables stay locked, and they can relax their shoulders. Another big stretch and the cords relax.
In the soft-robotic model, a glove is covered in inflatable bladders. One set spreads the fingers, a vital physical therapy movement. Another bladder acts as a second thumb for keeping objects centered in the palm. A cable system draws the fingers closed like the previous glove, but to lock them they evacuate air from the bladders, so jamming layers retain their shape, like food in a vacuum bag.
A typical bicycle computer from the store rack will show your speed, trip distance, odometer, and maybe the time. We can derive all this data from a magnet sensor and a clock, but we live in a world with all kinds of sensors at our disposal. [Matias N.] has the drive to put some of them into a tidy yet competent bike computer that has a compass, temperature, and barometric pressure.
The brains are an STM32L476 low-power controller, and there is a Sharp Memory LCD display as it is a nice compromise between fast refresh rate and low power. E-paper would be a nice choice for outdoor readability (and obviously low power as well) but nothing worse than a laggy speedometer or compass.
In a show of self-restraint, he didn’t try to replace his mobile phone, so there is no GPS, WiFi, or streaming music. Unlike his trusty phone, you measure the battery life in weeks, plural. He implemented EEPROM memory for persistent data through power cycles, and the water-resistant board includes a battery charging circuit for easy topping off between rides.
We have to admit we weren’t aware of the array of choices that the virtual biking markets offers. [ptx2] went with Zwift, 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 Bluetility let [ptx2] identify the bytes in the Flywheel bike’s packets encoding both the rider’s cadence and the power exerted, which Zwift would need, along with the current resistance setting of the magnetic brake.
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’s a job for another day.
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 less work for the rider, not more. This project was a refreshing change.
Most gyms are closed right now due to social distancing rules, which is what we’re using as our latest excuse to justify our sloth-like lifestyle. But apparently some people miss working out enough that they’re putting together impromptu home gyms. [Michael Pick] has even outfitted his DIY pull-up station with an Arduino to keep track of his exercise while on lockdown. You may not like it, but this is what peak performance looks like.
In the video after the break, [Michael] explains the design and construction of the bar itself which technically could be thought of as its own project. Obviously the Arduino counter isn’t strictly necessary, so if you just wanted to know how to put some scraps of wood and suitably beefy rod together in such a way that it won’t rip off the wall when you put your weight on it, this video is for you.
Towards the end of the video, he gets into an explanation of the electronic side of the project. Inside the 3D printed enclosure is an Arduino Pro Mini, a HC-SR04 ultrasonic sensor, and a 1602 serial LCD. Once the gadget has been mounted in the proper position and activated, it will count how many pull-ups [Michael] has done on the screen.
While we historically haven’t seen a whole lot in the way of homebrew exercise equipment, the current COVID-19 situation does seem to be getting the adrenaline flowing for some of you. We recently covered some DIY dumbbells made from hardware store finds that would be an excellent first project for any hackers who’ve recently been ejected from the Matrix and are trying to use their muscles for the first time.
Due to social distancing, gym rats throughout the world are turning everyday objects into exercise equipment to keep up the routine without actually hitting the gym. A particularly pleasing version of this are these concrete dumbbells whipped up by the unfortunately named hacker [ShitnamiTidalWave].
If you happen to have half a bag of concrete — quick set or otherwise — out in the shed you can follow the lead on this one. But even if you’re not the kind of person who has “arm day” on your calendar (most of us here in the Hackaday bunker do not) this hack is still worth your time. Mold making is one of the uber-useful skills you should have in your hacker toolkit and [ShitnamiTidalWave] has done both an excellent job of building a mold, and of explaining the process.
Raw material for this one couldn’t be easier; each mold is made out of plywood, 2×4 stud, and nails, along with handles made of 3/4″ PVC pipe. The studs were ripped down and used to create the 45 degree chamfers at each edge. Mold-making veterans will tell you that release agent is a must and in this case rubbing the insides of the molds with wax made it a snap to pry the wooden forms off of the set concrete.