Bluetooth RC Car Packs In A Few Sensors

Have you ever been walking around the house, desperate to know the ambient temperature, humidity, and barometric pressure? Have you ever wanted to capture that data with a small remote-controlled platform? If so, this project from [TUENHIDIY] will be exactly what you’ve been looking for. 

The little remote-control car is built around a Seeed Wio Terminal. This is a microcontroller platform that comes with a screen already attached, along with wireless hardware baked in and Grove connectors for hooking up external modules. Thus, the car adds a DHT11 temperature and humidity sensor, along with a BMP280 air pressure sensor using the Grove connectors.

Driving the car is done via a Blynk smartphone app that communicates with the Wio Terminal. Small DC motors at each wheel are driven via a DFRobot quad-motor shield. With the built-in screen, the RC car displays commands received from the smartphone app, as well as the temperature, humidity and pressure in the immediate environment.

We really like the simple PVC-based chassis design, and it’s a straightforward project that demonstrates how to build a Bluetooth-controlled car. Data collected by the sensors is also visible on the smartphone app, so if you need to sample conditions in the next room without getting off the couch, you could do that pretty easily.

Projects like these are a good way to get familiar with working with motors and sensors. It’d be a great base for simple robotics development, too. We’ve featured builds from [TUENHIDIY] before, too, like this great rotary plotter that can draw on bottles. Video after the break.

Continue reading “Bluetooth RC Car Packs In A Few Sensors”

Hackaday Podcast 138: Breakin’ Bluetooth, Doritos Rockets, Wireless Robots, And Autonomous Trolling

Hackaday editors Elliot Williams and Mike Szczys peruse the great hardware hacks of the past week. There’s a robot walker platform that wirelessly offloads motor control planning to a computer. We take a look at automating your fishing boat with a trolling motor upgrade, building the Hoover dam in your back yard, and playing Holst’s Planets on an army of Arduini. Make sure you stick around until the end as we stroll through distant memories of Gopher, and peek inside the parking garages of the sea.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (60 MB or so.)

Continue reading “Hackaday Podcast 138: Breakin’ Bluetooth, Doritos Rockets, Wireless Robots, And Autonomous Trolling”

Bluetooth Vulnerability: Arbitrary Code Execution On The ESP32, Among Others

Bluetooth has become widely popular since its introduction in 1999. However, it’s also had its fair share of security problems over the years. Just recently, a research group from the Singapore University of Technology and Design found a serious vulnerability in a large variety of Bluetooth devices. Having now been disclosed, it is known as the BrakTooth vulnerability.

Full details are not yet available; the research team is waiting until October to publicly release proof-of-concept code in order to give time for companies to patch their devices. The basic idea however, is in the name. “Brak” is the Norweigan word for “crash,” with “tooth” referring to Bluetooth itself. The attack involves repeatedly attempting to crash devices to force them into undesired operation.

The Espressif ESP32 is perhaps one of the worst affected. Found in all manner of IoT devices, the ESP32 can be fooled into executing arbitrary code via this vulnerability, which can do everything from clearing the devices RAM to flipping GPIO pins. In smart home applications or other security-critical situations, this could have dire consequences.

Other chipsets are affected to varying degrees, including parts from manufacturers like Texas Instruments and Cypress Semiconductor. Some parts are vulnerable to denial of service, while audio devices may be frozen up or shut down by the attack. The group claims over 1400 products could be affected by the bug.

Firmware patches are being rolled out, and researcher [Matheus E. Garbelini] has released code to build a sniffer device for the vulnerability on GitHub. If you’re involved with the design or manufacture of Bluetooth hardware, it might pay to start doing some homework on this one! Concerned vendors can apply for proof-of-concept test code here.

How To Modify Your Car Stereo For Bluetooth Or Aux-In

If you’re an automotive enthusiast of taste, you can’t stand the idea of fitting a janky aftermarket stereo into your nice, clean ride. Flashy, modern head units can spoil the look of a car’s interior, particularly if the car is a retro, classic, or vintage ride.

Thus, we’re going to look at how to modify your existing stock car stereo to accept an auxiliary cable input or even a Bluetooth module. This way, you can pump in the latest tunes from your smartphone without a fuss, while still maintaining an all-original look on the dash.

Fundamentals

A simple Bluetooth module designed for wiring into car audio systems. There are two wires for 12 V power from the vehicle, and the audio signal is sent out over the RCA plugs. The RCA plugs can be cut off and the module hard wired inside your stereo if you have room. Cutting off the plastic case can help too.

Depending on your choice of audio player, you may prefer a 3.5 mm aux jack, or you might want to go with Bluetooth audio if your smartphone no longer has a headphone port. Whichever way you go, the process of modifying the stereo is largely the same. To achieve your goal, you need to find a way of injecting the audio signal into the head unit’s amplifier stage, while making sure no other audio sources are getting sent there as well.

Whether that audio source is a 3.5 mm jack or a Bluetooth module doesn’t matter. The only difference is, in the latter case, you’ll want to buy a Bluetooth module and hardwire it in to the auxiliary input you create, while also splicing the module into the stereo’s power supply. In the case of a simple headphone jack input, you simply need to wire up an aux cord or 3.5 mm jack somewhere you can get to it, and call it done.

This guide won’t cover every stereo under the sun, of course. Edge cases exist and depending on the minute specifics of how your original car radio works, these exact methods may or may not work for you. However, this guide is intended to get you thinking conceptually about how such mods are done, so that you can investigate the hardware in front of you and make your own decisions about how to integrate an external audio input that suits your usage case. Continue reading “How To Modify Your Car Stereo For Bluetooth Or Aux-In”

Vintage Remote Control Gets Bluetooth Upgrade

This swanky Magnavox remote is old enough to predate the use of infrared, and actually relies on ultrasound to communicate with the television. It’s a neat conversation starter, but not terribly useful today. Which is why [Chad Lawson] decided to gut the original electronics and replace it with a Adafruit Feather 32u4 Bluefruit LE that can actually talk to modern devices.

We know, we know. Some in the audience will  probably take offense to such a cool gadget being unceremoniously torn apart, but to be fair, [Chad] does say he has a second one that will remain in its original state. Plus a quick check on eBay shows these old remotes don’t seem to be particularly rare or valuable. In fact, after some browsing through the recently concluded auctions, we’re fairly sure he paid $27 USD for both of these remotes.

Anyway, [Chad] found that a piece of perfboard in his collection just happened to be nearly the same size as the PCB from the remote, which made the rest of the conversion pretty straightforward. He simply had to mount tactile switches on one side of the perfboard so the remote’s original buttons would hit them when pressed, and then wire those to the Adafruit on the other side. We know there’s a 3.7 V 500 mAh pouch battery in there someplace as well, though it’s not immediately clear where he hid it in the images.

The code [Chad] came up with tells the Adafruit to mimic a Bluetooth Human Interface Device (HID) and send standard key codes to whatever device pairs with it. That makes it easy to use as a media remote on the computer, for example. We’ve seen something similar done with the ESP32, if you’ve already got one in the parts bin and are looking to revamp a remote control of your own.

At the end of the write-up, [Chad] mentions he may try developing an ultrasonic receiver that can pick up the signals from the unmodified remote control. That would be a nice way to bring this whole thing full circle, and should appease even the most hardcore vintage remote control aficionados.

This ESP32 Bluetooth Page Turner Can’t Get Any Easier

Commercial Bluetooth pedals, designed to allow musicians to flip pages of sheet music on a tablet, have the sort of inflated price tag you’d expect for a niche electronic device. Rather than forking as much as $100 USD over for the privilege of hands-free page flipping, [Joonas Pihlajamaa] decided to build his own extremely low cost version using an ESP32 and a cheap foot pedal switch.

In terms of hardware, it does’t get much easier than this. All [Joonas] had to do was hook the pedal up to one of the ESP32’s digital pins, and plug the microcontroller into a USB power bank. From there, it became a software project. With the ESP32-BLE-Keyboard library, it only took a few lines of code to send RIGHT_ARROW or LEFT_ARROW depending on whether the pedal was quickly tapped or held down for a bit; allowing him to navigate back and forth through the pages with just one button.

[Joonas] mentions that the ESP32 development board he’s using is too large to fit inside the pedal itself, though we wonder if the bare module could get slipped in there someplace. Of course you could always build your own pedal with a bit of extra room to fit the electronics, but for less than $2 USD on AliExpress, it’s hard to go wrong with this turn-key unit.

Looking for an alternate approach? We covered a Bluetooth page turner last month that doubled the inputs and packed it all into a handsome wooden enclosure.

Continue reading “This ESP32 Bluetooth Page Turner Can’t Get Any Easier”

Soundbar Bested By Virtual Android Bluetooth Sniffer

Out of the box, the Yamaha YAS-207 soundbar can be remotely controlled over Bluetooth, but only when using a dedicated application on iOS or Android. Users who want to command their hardware with their computer, or any other Bluetooth device for that matter, are left out in the cold. Or at least they were, before [Wejn] got on the case.

To capture the communication between the soundbar and the application, [Wejn] first installed Android-x86 in a virtual machine on his computer and then enabled the “Bluetooth HCI snoop log” within Developer Settings. From there, a netcat command running on the virtual Android device continually sent the contents of the btsnoop_hci.log file out to Wireshark on his Linux desktop. As he hit buttons in the Yamaha application, he could watch the data come in live. We’ve seen plenty of people use Android’s integrated Bluetooth packet capture in the past, but never quite like this. It’s certainly a tip worth mentally filing away for the future.

The Pi can now control the TOSLINK connected speakers.

From there, things move pretty quickly. [Wejn] is able to determine that the devices are communicating over a virtual serial port, and starts identifying individual command and response packets. It turns out the commands closely mirror the NEC IR codes that he’d previously decoded on a whim, which helped clear things up. Once the checksum was sorted out, writing some code that can talk to the soundbar from his Raspberry Pi media player was the next logical step.

[Wejn] combined this with the Shairport Sync project, which lets the Raspberry Pi turn on the speaker and switch the input over when he wants to stream AirPlay from his phone. But of course, the same technique could be applied to whatever source of digital audio captures your fancy.

This is one of those posts you should really read in its entirety to truly appreciate. While every device is going to be different, the basic principles and workflow that [Wejn] demonstrates in this project will absolutely be useful in your own reverse engineering adventures. If you’re more of a visual learner, we recently covered a series of YouTube tutorials that cover sniffing BLE devices that’s not to be missed as well.