Cheap Multimeter Gets Webified

[Mellow Labs] wanted to grab a multimeter that could do Bluetooth. Those are cheap and plentiful, but the Bluetooth software was, unsurprisingly, somewhat lacking. A teardown shows a stock Bluetooth module. A quick search found a GitHub with software. But then he had a fiendish idea: could you replace the Bluetooth module with an ESP32 and use WiFi instead of Bluetooth?

This was as good an excuse as any to buy a cheap logic analyzer. Armed with some logic captures, it was easy to figure out how to fake the meter into thinking a Bluetooth client was connected.

Continue reading “Cheap Multimeter Gets Webified”

Simple Device Can Freeze Wi-Fi Camera Feeds

Wi-Fi cameras are everywhere these days, with wireless networking making surveillance systems easier to deploy than ever. [CiferTech] has been recently developing the RF Clown—a tool that can block transmissions from these cameras at some range.

The build is based around an ESP32, with three tactile switches and an OLED display for the user interface. The microcontroller is hooked up to a trio of GT—24 Mini radio modules, which feed a bank of antennas on top of the device. Depending on the mode the device is set to, it will command these modules to jam Bluetooth, BLE, or Wi-Fi traffic in the area with relatively crude transmissions.

The use of multiple radio modules isn’t particularly sophisticated—it just makes it easier to put out more signal on more bands at the same time, flooding the zone and making it less likely legitimate transmissions will get through. Specifically, [CiferTech] demonstrates the use case of taking out a Wi-Fi camera—with the device switched on, the video feed freezes because packets from the camera simply stop making it through.

It’s perhaps impolite to interfere with the operation of somebody else’s cameras, so keep that in mind before you pursue a project like this one. Files are on GitHub for the curious. Video after the break.

Continue reading “Simple Device Can Freeze Wi-Fi Camera Feeds”

Heart Rate Measurement Via WiFi, The DIY Way

A few weeks back, we reported on a research group that figured out how to measure heartrate using perturbations in WiFi signals. [Nick Bild] was interested in this so-called “Pulse-Fi” technique, but noted the paper explaining it was behind a paywall. Thus, he worked to recreate the technology himself so he could publish the results openly for anyone eager to learn.

[Nick] paid for the research paper, and noted that it was short on a few of the finer details and didn’t come with any code or data from the original research team. He thus was left to figure out the finer details of how to measure heart rate via WiFi in his own way, though he believes his method is quite close to the original work.

The basic concept is simple enough. One ESP32 is set up to transmit a stream of Channel State Information packets to another ESP32, with a person standing in between. As the person’s heart beats, it changes the way the radio waves propagate from the transmitting unit to the receiver. These changes can be read from the packets, and processed to estimate the person’s heart rate. [Nick] explains the various data-massaging steps involved to go from this raw radio data to a usable heart rate readout.

It’s a great effort from [Nick] to recreate this research all on his own in his home lab. Files are on GitHub for the curious. If you’re eager to learn more about these innovative measurement techniques, you might like to read our prior reporting on the tech. Also, it’s worth remembering—don’t use your homebrew prototypes for any serious healthcare purposes. Continue reading “Heart Rate Measurement Via WiFi, The DIY Way”

The Android Linux Commander

Last time, I described how to write a simple Android app and get it talking to your code on Linux. So, of course, we need an example. Since I’ve been on something of a macropad kick lately, I decided to write a toolkit for building your own macropad using App Inventor and any sort of Linux tools you like.

I mentioned there is a server. I wrote some very basic code to exchange data with the Android device on the Linux side. The protocol is simple:

  • All messages to the ordinary Linux start with >
  • All messages to the Android device start with <
  • All messages end with a carriage return

Security

You can build the server so that it can execute arbitrary commands. Since some people will doubtlessly be upset about that, the server can also have a restrictive set of numbered commands. You can also allow those commands to take arguments or disallow them, but you have to rebuild the server with your options set.

There is a handshake at the start of communications where Android sends “>.” and the server responds “<.” to allow synchronization and any resetting to occur. Sending “>#x” runs a numbered command (where x is an integer) which could have arguments like “>#20~/todo.txt” for example, or, with no arguments, “>#20” if you just want to run the command.

If the server allows it, you can also just send an entire command line using “>>” as in: “>>vi ~/todo.txt” to start a vi session.

Continue reading “The Android Linux Commander”

Reverse Engineering A (Toy) Fire Engine

Your kid has a toy remote control fire truck. You have an RTL SDR. See where this is going? [Jacob] couldn’t resist tearing into the why and how of the truck’s remote control protocol.

The entire process began with a basic GNU Radio setup to determine the exact frequency of the signal. Then a little analysis suggested that it might be using amplitude shift keying. That is, the information is in the amplitude of the signal, where one possible amplitude is completely off in some cases.

Continue reading “Reverse Engineering A (Toy) Fire Engine”

Heart Rate Monitoring Via WiFi

Before you decide to click away, thinking we’re talking about some heart rate monitor that connects to a display using WiFi, wait! Pulse-Fi is a system that monitors heart rate using the WiFi signal itself as a measuring device. No sensor, no wires, and it works on people up to ten feet away.

Researchers at UC Santa Cruz, including a visiting high school student researcher, put together a proof of concept. Apparently, your heart rate can modify WiFi channel state information. By measuring actual heart rate and the variations in the WiFi signal, the team was able to fit data to allow for accurate heart rate prediction.

The primary device used was an ESP32, although the more expensive Raspberry Pi performed the same trick using data generated in Brazil. The Pi appeared to work better, but it is also more expensive. However, that implies that different WiFi chipsets probably need unique training, which, we suppose, makes sense.

Like you, we’ve got a lot of questions about this one — including how repeatable this is in a real-world environment. But it does make you wonder what we could use WiFi permutations to detect. Or other ubiquitous RF signals like Bluetooth.

No need for a clunky wristband. If you could sense enough things like this, maybe you could come up with a wireless polygraph.

Homebrew Tire Pressure Monitoring System

When [upir] saw that you could buy tire valve stem caps that read pressure electronically, he decided to roll his own Tire Pressure Monitoring System (TPMS) like the one found on modern cars. An ESP32 and an OLED display read the pressure values. He didn’t have a car tire on his workbench though, so he had to improvise there.

Of course, a real TPMS sensor goes inside the tire, but screwing them on the valve stem is much easier to deal with. The sensors use Bluetooth Low Energy and take tiny batteries. In theory, you’re supposed to connect to them to your phone, although two different apps failed to find the sensors. Even a BLE scanner app wouldn’t pick them up. Turns out — and this makes sense — the sensors don’t send data if there’s no pressure on them, so as not to run down the batteries. Putting pressure on them made them pop up on the scanner.

Continue reading “Homebrew Tire Pressure Monitoring System”