The first step was to use some apps on his Android phone to reveal the profiles on the bike, which showed his particular machine used a Nordic Bluetooth UART. This meant the only work would be decoding the stream of bytes coming off the wireless serial port. Using Wireshark and Bluetooth logs on his phone, [Wayne] was able to correspond the various commands to points in the video. There were still a few bytes that he wasn’t able to identify, but [Wayne] had enough to whip up a quick .NET app that can start a workout and log it all to a database. The code for his app is on his GitHub.
While [Wayne] doesn’t specifically name the bike he uses in this project, we tracked down the image he shows on his writeup to the Exerpeutic 900e. It appears to be discontinued but the reverse engineering approach should be usable on a range of Bluetooth-connected machines. This isn’t the first bike we’ve seen liberated by reverse engineering here at Hackaday. And we have a feeling it won’t be the last.
Hamsters are great pets, especially for those with limited space or other resources. They are fun playful animals that are fairly easy to keep, and are entertaining to boot. [Kim]’s hamster, [Mr. Fluffbutt], certainly fits this mold as well but [Kim] wanted something a little beyond the confines of the habitat and exercise wheel and decided to send him on a virtual journey every time he goes for a run.
The virtual hamster journey is built on an ESP32 microcontroller which monitors the revolutions of the hamster wheel via a hall effect sensor and magnet. It then extrapolates the distance the hamster has run and sends the data to a Raspberry Pi which hosts a MQTT and Node.js server. From there, it maps out an equivalent route according to a predefined GPX route and updates that information live. The hamster follows the route, in effect, every time it runs on the wheel. [Mr Fluffbutt] has made it from the Netherlands to southeastern Germany so far, well on his way to his ancestral home of Syria.
This project is a great way to add a sort of augmented reality to a pet hamster, in a similar way that we’ve seen self-driving fish tanks. Adding a Google Streetview monitor to the hamster habitat would be an interesting addition as well, but for now we’re satisfied seeing the incredible journey that [Mr Fluffbutt] has been on so far.
Here at Hackaday we’re always exited to see hacks that recycle our favorite childhood consoles into something new and interesting. In that context, it’s not so uncommon to see mods which combine new and unusual control methods with old devices in ways that their manufacturers never intended. What [Mike Choi] has built with the Labo Fit Adventure Kit is the rare hack that combines radically new control schemes with a modern console: without actually modifying any hardware.
In short, the Labo Fit Adventure Kit lets the player play Mario Kart on the Nintendo Switch by riding a stationary exercise bike, steering with a wheel, and squeezing that wheel to use items. The Fit Kit combines the theme of Labo, Nintendo’s excellent cardboard building kit for the Nintendo Switch with the existing Ring-Con accessory for the unrelated Nintendo game Ring Fit Adventure plus a collection of custom hardware to tie it all together. That hardware senses cadence on the stationary bike, watches for the user to squeeze the handheld wheel controller, and translates those inputs to button presses on the controller to play the game.
The most fascinating element of this project is the TAPBO module which adapts the Joy-Con controller to remote input. The module includes electronics, actuators, and a clever mechanical design to allow it to be mounted to the Ring-Con in place of an unmodified Joy-Con. Electrically the components will be familiar to regular Hackaday readers; there is a breakout board for a Teensy which also holds an XBee module to receive inputs remotely and drive a pair of servos. The entire module is described in detail starting at 4:42 in the video.
Mechanically the TAPBO relies on a pair of cam-actuated arms which translate rotational servo motion into linear action to press shoulder or face buttons. The module directly measures flex of the Ring-Con with an added flexible resistor and receives cadence information from another module embedded in the stationary bike via Zigbee. When these inputs exceed set thresholds they drive the servos to press the appropriate controller buttons to accelerate or use an item.
We’ve focused pretty heavily on the technical aspects of this project, but this significantly undersells the level of polish and easy to understand documentation [Mike] has produced. It includes a TAPBO Amiibo in customized packaging, and more. Check out the full video to get the complete scope of this project.
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.