Hackaday Links Column Banner

Hackaday Links: May 12, 2024

Don’t pack your bags for the trip to exoplanet K2-18b quite yet — it turns out that the James Webb Space Telescope may not have detected signs of life there after all. Last year, astronomers reported the possible presence of dimethyl sulfide there, a gas that (at least on Earth) is generally associated with phytoplankton in the ocean. Webb used its infrared spectrometer instruments to look at the light from the planet’s star, a red dwarf about 111 light-years away, as it passed through the hydrogen-rich atmosphere. The finding was sort of incidental to the discovery of much stronger signals for methane and carbon dioxide, but it turns out that the DMS signal might have just been overlap from the methane signal. It’s too bad, because K2-18b seems to be somewhat Earth-like, if you can get over the lack of oxygen and the average temperature just below freezing. So, maybe not a great place to visit, but it would be nice to see if life, uh, found a way anywhere else in the universe.

Attention Fortran fans: your favorite language isn’t quite dead yet. In fact, it cracked the top ten on one recent survey, perhaps on the strength of its numerical and scientific applications. The “Programming Community Index” is perhaps a bit subjective, since it’s based on things like Google searches for references to particular languages. It’s no surprise then that Python tops such a list, but it’s still interesting that there’s enough interest in a 67-year-old programming language to make it onto the list. We’d probably not advise building a career around Fortran, but you never know.

Continue reading “Hackaday Links: May 12, 2024”

A Google Pixel 7 with a detachable Bluetooth keyboard.

BlueBerry Is A Smartphone-Agnostic Keyboard Firmware

If you’re anything like us, you really, really miss having a physical keyboard on your phone. Well, cry no more, because [Joe LiTrenta] has made it possible for any modern smartphone whatsoever to have a detachable, physical keyboard and mouse at the ready. [Joe] calls this creation the BlueBerry.

A couple of metal plates and a mag-safe pop socket connect a Bluetooth keyboard to a Google Pixel 7. The keyboard/mouse combo in question is a little BlackBerry Bluetooth number from ZitaoTech which is available on Tindie, ready to go in a 3D printed case. What [Joe] has done is to create a custom ZMK-based firmware that allows the keyboard be device-agnostic.

In order to easily mount the keyboard to the phone and make it detachable, [Joe] used adhesive-backed metal mounting plates on both the phone and the keyboard, and a mag-safe pop socket to connect the two. The firmware makes use of layers so everything is easily accessible.

Check out the demo video after the break, which shows the board connected to a Google Pixel 7. It makes the phone comically long, but having a physical keyboard again is serious business, so who’s laughing now? We’d love to see a keyboard that attaches to the broad side of the phone, so someone get on that. Please?

Do you have a PinePhone? There’s an extremely cute keyboard for that.

Continue reading “BlueBerry Is A Smartphone-Agnostic Keyboard Firmware”

Bluepad32 Brings All The Controllers To Your MCU

As much as we enjoy spinning up our own solutions, there are times when you’ve got to look at what’s on the market and realize you might be out of your league. For example, take Bluetooth game controllers. Sure, you could make your own with a microcontroller, some buttons, and a couple joysticks. But between the major players like Microsoft, Nintendo, and Sony, as well as independent peripheral companies like 8BitDo, there’s some seriously impressive hardware out there that can be easily repurposed.

How, you ask? Well, Bluepad32 by [Ricardo Quesada] would be a great place to start. This Apache v2.0 licensed project allows you to easily interface with a wide array of commercially available BT controllers, and supports an impressive number of software and hardware platforms. Using the Arduino IDE on the ESP32? No problem. CircuitPython on Adafruit’s PyPortal? Supported. There’s even example code provided for using it on Linux and Mac OS. Sorry Windows fans — perhaps there’s a sassy paperclip or sentient dog built into your OS that can instruct you further.

A few of the controllers supported by Bluepad32.

The nature of the Bluetooth Human Interface Device (HID) protocol means that, at least in theory, pretty much all modern devices should be supported by Bluepad32 automatically. But even still, it’s hard not to be impressed by the official controller compatibility list. There’s also separate lists for Bluetooth mice and keyboards that are known to work with the project.

While it’s somewhat unlikely to be a problem in this particular community, there is an unusual quirk to this project which we think should at least be mentioned. Although Bluepad32 itself is free and open source software (FOSS), it depends on the BTstack library, which in turn uses a more ambiguous licensing scheme. BTstack is “open” in the sense that you can see the source code and implement it in your own projects, but its custom license precludes commercial use. If you want to use BTstack (and by extension, Bluepad32) in a commercial product, you need to contact the developers and discuss terms.

License gotchas aside, Bluepad32 is definitely a project to keep in the back of your mind for the future. You can always build your own controller if you’re looking a challenge, but you’ll have a hell of a time beating the decades of testing and development Sony has put into theirs.

PicoNtrol Brings Modern Controllers To Atari 2600

While there’s an argument to be made that retro games should be experienced with whatever input device they were designed around, there’s no debating that modern game controllers are a lot more ergonomic and enjoyable to use than some of those early 8-bit entries.

Now, thanks to the PicoNtrol project from [Reogen], you can use the latest Xbox and PlayStation controllers with the Atari 2600 via Bluetooth. Looking a bit farther down the road the project is aiming to support the Nintendo Entertainment System, and there’s work being done to bring the Switch Pro Controller into the fold as well.

Continue reading “PicoNtrol Brings Modern Controllers To Atari 2600”

Reggaeton-Be-Gone Disconnects Obnoxious Bluetooth Speakers

If you’re currently living outside of a Spanish-speaking country, it’s possible you’ve only heard of the music genre Reggaeton in passing, if at all. In places with large Spanish populations, though, it would be more surprising if you hadn’t heard it. It’s so popular especially in the Carribean and Latin America that it’s gotten on the nerves of some, most notably [Roni] whose neighbor might not do anything else but listen to this style of music, which can be heard through the walls. To solve the problem [Roni] is now introducing the Reggaeton-Be-Gone. (Google Translate from Spanish)

Inspired by the TV-B-Gone devices which purported to be able to turn off annoying TVs in bars, restaurants, and other places, this device can listen to music being played in the surrounding area and identify whether or not it is hearing Reggaeton. It does this using machine learning, taking samples of the audio it hears and making decisions based on a trained model. When the software, running on a Raspberry Pi, makes a positive identification of one of these songs, it looks for Bluetooth devices in the area and attempts to communicate with them in a number of ways, hopefully rapidly enough to disrupt their intended connections.

In testing with [Roni]’s neighbor, the device seems to show promise although it doesn’t completely disconnect the speaker from its host, instead only interfering with it enough for the neighbor to change locations. Clearly it merits further testing, and possibly other models trained for people who use Bluetooth speakers when skiing, hiking, or working out. Eventually the code will be posted to this GitHub page, but until then it’s not the only way to interfere with your neighbor’s annoying stereo.

Thanks to [BaldPower] and [Alfredo] for the tips!

Diagram from the blog post, showing how GATT communication capture works

Hacking BLE To Liberate Your Exercise Equipment

It’s a story we’ve heard many times before: if you want to get your data from the Domyos EL500 elliptical trainer, you need to use a proprietary smartphone application that talks to the device over Bluetooth Low-Energy (BLE). To add insult to injury, the only way to the software will export your workout information is by producing a JPG image of a graph. This just won’t do, so [Juan Carlos Jiménez] gives us yet another extensive write-up, which provides an excellent introduction to practical BLE hacking.

He walks us through BLE GATT (Generic Attribute Profile), the most common way such devices work, different stages of the connection process, and the tools you can use for sniffing an active connection. Then [Juan] shows us a few captured messages, how to figure out packet types, and moves into the tastiest part — using an ESP32 to man-in-the-middle (MITM) the connection.

Continue reading “Hacking BLE To Liberate Your Exercise Equipment”

A 360° View Of A Classic Drive-In Speaker

Readers of a certain vintage no doubt have pleasant memories of drive-in theaters, and we are chuffed to see that a few hundred of these cinematic institutions endure today. While most theaters broadcast the audio on an FM station these days, the choice is still yours to use the chunky, often crackly speaker that attaches to the car window.

Seeking to relive the drive-in audio experience at home, [codemakesitgo] picked up a drive-in theater speaker on eBay and turned it into a Bluetooth device that sounds much better than it did in its weather-beaten days outside.

There isn’t a whole lot to this build — it’s essentially a new speaker cone, a Bluetooth receiver, an amp, and a battery. The real story is in the way that [codemakesitgo] uses Fusion360 to bring it all together.

After 3D scanning the case, [codemakesitgo] made sure each piece would fit, using a custom-built model of the new speaker and a 3D model of a custom PCB. Good thing, too, because there is barely enough clearance for the speaker. Be sure to check out the brief demo video after the break.

Continue reading “A 360° View Of A Classic Drive-In Speaker”