Hacker Spends A Few Cycles Upgrading An Under-Desk Bike

Pandemic got you way behind on your exercise goals? Us too. But not [codaris] who bought an under-desk bike to get in a bit of cycling while banging away on the keyboard. The only bad thing about this bike is the accompanying app — it’s all-around weak and requires too many steps just to get to peddlin’. It pays to know thyself, and [codaris] knows that this will be a major de-motivator and made a desktop app that does it all, including/starting up as soon as the pedals start spinning.

[codaris] built a Windows application that displays workout data in real time and then saves the stats in a SQLite database after the pedaling stops. It took a fair amount of work to get there, logging the Bluetooth traffic during a ride and comparing that with Wireshark output from a live session to decode the communication between the bike and the app. Turns out there are six commands total, and [codaris] really only needs three — Connect, Start Workout, and Continue Workout.

The app displays the elapsed workout time, speed, distance traveled, and the current RPM. We love that it starts logging and displaying data as soon as [codaris] starts pedaling, because that would be a major goal for us, too.

There’s more than one way to hack a bike. [codaris] was inspired by [ptx2]’s excellent work to un-brick a much more expensive bike with a Raspberry Pi.

Thanks for the tip, [Jhart99]!

The Keyboard You Really Don’t Need Or Want

Most people think of a keyboard as a flat, vaguely rectangular thing with around 100ish different keys. A mechanical keyboard enthusiast would heartily disagree and point out various tenkeyless, 75%, 60%, or 40% keyboards that strip down the idea of what a keyboard is by taking keys out. [Stavros Korokithakis] takes that notion and turns it on its side by creating the five-button vertical keyboard known as Keyyyyyyyys.

This keyboard, or keystick, is designed to be onehanded and to be eye-contact-free. With just five keys, it makes heavy use of chording to output all the characters needed. It has a maximum of 32 possible states and taking out pressing nothing as a no-op leaves 31 possible key combinations. So [Stavros] had to get creative and laid out the letters according to their frequency in the English language. The brains of Keyyyyyyyys is the ubiquitous ESP32, emulating a Bluetooth keyboard while being wrapped in a simple 3d printed box. The code is hosted on GitLab.

If you don’t know how hard it is to learn a five-key chording keyboard from scratch, definitely check out [Stavros]’ video embedded below. “C’mon h.” We have heard reports that you can learn these things, though.

While this five-button keyboard may seem small, this two-button keyboard still has it beat by three keys. A one-button keyboard is just a morse code keyboard, and we are looking forward to a wireless Bluetooth version. Continue reading “The Keyboard You Really Don’t Need Or Want”

Pool Temperature Monitor Mollifies Fortunate But Frustrated Children

Who needs the city pool when you can party in the private pool over at Grandma and Grandpa’s house? No need to wait until Memorial Day weekend when it hits 90° F in the first week of May. But how can you placate grandchildren who want to know each and every day if it’s finally time to go swimming, and the pool itself is miles away? Although grandparents probably love to hear from you more often there’s no need to bother them with hourly phone calls. You just have to build a floating, remote pool temperature monitor which broadcasts every 30 minutes to an Adafruit MagTag sitting at kid’s eye level on the refrigerator.

Between the cost of commercial pool temperature monitors and all the reviews that mention iffy Wi-Fi connections, it sounds like [Blake] is better off rolling his own solution. Inside the floating part is an ESP32, a DS18B temperature sensor, and a 18650 cell. Most of the body is PVC, except for the 3D-printed torus that holds some foam for buoyancy. A handful of BBs in the bottom keep the thing pointed upright. For now, it shows the water temperature, but [Blake]’s ultimate goal is to show the air temperature as well.

Maybe it’s still too cold to swim, but the sun shines brightly most days. Why not harness its energy to heat up the water?

DIY Wireless Serial Adapter Speaks (True) RS-232

There is a gotcha lurking in wait for hackers who look at a piece of equipment, see a port labeled “Serial / RS-232”, and start to get ideas. The issue is the fact that the older the equipment, the more likely it is to be a bit old-fashioned about how it expects to speak RS-232. Vintage electronics may expect the serial data to be at bipolar voltage levels that are higher than what the typical microcontroller is used to slinging, and that was the situation [g3gg0] faced with some vintage benchtop equipment. Rather than deal with cables and wired adapters, [g3gg0] decided to design a wireless adapter with WiFi and Bluetooth on one end, and true RS-232 on the other.

The adapter features an ESP32 and is attached to a DB-9 plug, so it’s nice and small. It uses the ST3232 chip to communicate at 3 V logic levels on the microcontroller side, supports bipolar logic up to +/-13 V on the vintage hardware side, and a rudimentary web interface allows setting hardware parameters like baud rate. The nice thing about the ST3232 transceiver is that it is not only small, but can work from a 3 V supply with only four 0.1 uF capacitors needed for the internal charge pumps.

As for actually using the adapter, [g3gg0] says that the adapter’s serial port is exposed over TCP on port 23 (Telnet) which is supported by some programs and hardware. Alternately, one can connect an ESP32 to one’s computer over USB, and run firmware that bridges any serial data directly to the adapter on the other end.

Design files including schematic, bill of materials, and PCB design are shared online, and you can see a brief tour of the adapter in the video, embedded below.

Continue reading “DIY Wireless Serial Adapter Speaks (True) RS-232”

Pedaling Away Under The Cover Of Your Desk

[Wayne Venables], like many of us, found himself sitting more than usual the past few months.  Armed with a Bluetooth-enabled under desk exercise bike, he quickly found the app to be rather sub-optimal and set about reverse-engineering the protocol of his bike.

Custom GUI for the exercise bike

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.

WiFive55: More Than A Smart 555 Replacement

“You could’ve done that with a 555 timer.” But what if all you have on hand is an ESP8266? [TechColab] needed to control a solenoid valve with a short pulse via a solid-state relay (SSR) but found that the trusty 555 timer was tricky to set properly. Additionally, they wanted to add features, such as fixed pulse length, that were difficult to implement—even with multiple timers. Still wanting to keep things cheap and accessible, [TechColab] has created the WiFive55, a 555 replacement based on the ESP-01 ESP8266 board.

[TechColab] began by investigating existing ESP-01 solid-state relay boards but found that many of them momentarily enable the output on startup—a risk [TechColab] deemed unacceptable. This was resolved in the WiFive55 by adding an RC filter to the SSR output, eliminating the output glitches at the cost of slowing switching time to around 20 ms—an acceptable trade for many SSR applications.

Since they were going to design a new PCB to support this improved ESP-01 SSR controller, [TechColab] decided to go all-out. To support loads of widely varying sizes, the PCB supports an optoisolator that switches up to 1 A, a MOSFET that switches up to 2 A, and an on-board relay or SSR that can switch up to 3 A. For heavy loads, it includes connections for an off-board SSR, which allow it to switch whatever current the SSR can handle (easily over 50 A). Because the ESP-01 is slightly more capable than the 555, the WiFive55 supports control via WiFi, GPIO, serial, and push-button. Keeping with the WiFive55’s original role as a 555 replacement, it even includes a header exposing a 555-like trigger and output interface!

We always like seeing inexpensive boards like the ESP-01 being used to their full potential, and we can’t wait to see what software [TechColab] cooks up for this! If you’re interested in getting started with the ESP-01, you might consider starting with this guide to blinking an LED over WiFi.

18650 Brings ESP8266 WiFi Repeater Along For The Ride

We’re truly fortunate to have so many incredible open source projects floating around on the Internet, since there’s almost always some prior art you can lean on. By combining bits and pieces from different projects, you can often save yourself a huge amount of time and effort. It’s just a matter of figuring out how all the pieces fit together, like in this clever mash-up by [bethiboothi] that takes advantage of the fact that the popular TP4056 lithium-ion battery charger module happens to be almost the exact same size of the ESP-01.

By taking a 3D printed design intended to attach a TP4056 module to the end of an 18650 cell and combining it with an ESP8266 firmware that turns the powerful microcontroller into a WiFi repeater, [bethiboothi] ended up with a portable network node that reportedly lasts up to three days on a charge. The observed range was good even with the built-in PCB antenna, but hacking on an external can get you out a little farther if you need it.

While it doesn’t appear that [bethiboothi] is using it currently, the esp_wifi_repeater firmware does have an automatic mesh mode which seems like it would be a fantastic fit for this design. Putting together an impromptu mesh WiFi network with a bunch of cheap battery powered nodes would be an excellent way to get network connectivity at an outdoor hacker camp, assuming the ESP’s CPU can keep up with the demand.