Using An AI And WiFi To See Through Walls

It’s now possible to not only see people through walls but to see how they’re moving and if they’re walking, to tell who they are. We finally have the body scanner which Schwarzenegger walked behind in the original Total Recall movie.

Seeing through walls: real life, poses, skeletonsThis is the work of a group at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL). The seeing-through-the-wall part is done using an RF transmitter and receiving antennas, which isn’t very new. Our own [Gregory L. Charvat] built an impressive phased array radar in his garage which clearly showed movement of complex shapes behind a wall. What is new is the use of neural networks to better decipher what’s received on those antennas. The neural networks spit out pose estimations of where people’s heads, shoulders, elbows, and other body parts are, and a little further processing turns that into skeletal figures.

They evaluated its accuracy in a number of ways, all of which are detailed in their paper. The most interesting, or perhaps scariest way was to see if it could tell who the skeletal figures were by using the fact that each person walks with their own style. They first trained another neural network to recognize the styles of different people. They then pass the pose estimation output to this style-recognizing neural network and it correctly guessed the people with 83% accuracy both when they were visible and when they were behind walls. This means they not only have a good idea of what a person is doing, but also of who the person is.

Check out the video below to see some pretty impressive side-by-side comparisons of live action and skeletal versions doing all sorts of things under various conditions. It looks like the science fiction future in Total Recall has gotten one step closer. Now if we could just colonize Mars.

Continue reading “Using An AI And WiFi To See Through Walls”

LoRa With The ESP32

If you are interested in deploying LoRa — the low power long-range wireless technology — you might enjoy [Rui Santos’] project and video about using the ESP32 with the Arduino IDE to implement LoRa. You can see the video below. He uses the RFM95 transceivers with a breakout board, so even if you want to use a different processor, you’ll still find a lot of good information.

In fact, the video is just background on LoRa that doesn’t change regardless of the host computer you are using. Once you have all the parts, getting it to work is fairly simple. There’s a LoRa library by [Sandeep Mistry] that knows how to do most of the work.

Although the project uses an RFM95, it can also work with similar modules such as the RFM96W or RFM98W. There are also ESP32 modules that have compatible transceivers onboard.

This is one of those projects that probably isn’t useful all by itself, but it can really help you get over that hump you always experience when you start using something new. Once you have the demo set up, it should be easy to mutate it into what you really need.

We’ve been talking about LoRa a lot lately. We’ve even seen it commanding drones.

Continue reading “LoRa With The ESP32”

Teardown Locates Fractal Antenna

[IMSAI Guy] tore apart a device with a wireless network card and decided to investigate what was under the metal can. You can see the video of his examination below. Overall, it was fairly unremarkable, but one thing that was interesting was its use of an antenna on the PCB that uses a fractal design.

You probably know fractals are “self-similar” in that they are patterns made of smaller identical patterns. The old joke is that the B. in Benoit B. Mandelbrot (the guy who coined the term fractal) stands for Benoit B. Mandelbrot. You can think of it as akin to recursion in software. Antennas made with fractal patterns have some unusual and useful properties.

Continue reading “Teardown Locates Fractal Antenna”

FPGA Persistently Rick Rolls You

When [Im-pro] wants a display, he wants it to spin.  So he built a persistence of vision (POV) display capable of showing a 12-bit color image of 131 x 131 pixels at 16 frames per second. You can see a video about the project below, but don’t worry, you can view it on your normal monitor.

The project starts with a Java-based screen capture on a PC. Data goes to the display wirelessly to an ESP8266. However, the actual display drive is done by an FPGA that drives the motor, reads a hall effect index sensor, and lights the LEDs.

Continue reading “FPGA Persistently Rick Rolls You”

WiFi Pool Controller Only Cost $20

Pools have come a long way. It used to be you had a pump and if you were lucky it had a mechanical timer switch on it. That was it. Now you have digital controllers and spa jets and heaters. You can even get them that connect to your home automation system. If your pool isn’t new enough to do that already, you can get a range of add-on accessories. For a price. [Rob] paid $500 to get a remote for his pool. It wasn’t even WiFi, just a simple RF remote. In 3 years, the transmitter had burned out ($300 to replace) and he decided he had enough. For $20, [Rob] added MQTT control and monitoring to his pool using an ESP8266. You can see the video description of the project below.

Naturally, the instructions are a bit specific to the Pentair system he has. However, it isn’t as specialized as you might think. The project relies on the connection for a wired “spa-side remote” that most modern pool systems support. The electrical connections for these aren’t quite standard, but they are all very similar, so you have a good chance of reproducing this for your setup assuming you have a connection for one of these wired remotes.

Continue reading “WiFi Pool Controller Only Cost $20”

Homebrew SDR Ham Radio in 9 Parts

It used to be homebrew ham gear meant something simple. A couple of active devices that could send CW. Maybe a receiver with a VFO. But only the most advanced builders could tackle a wide range SSB transceiver. Today, that goal is still not trivial, but it is way easier due to specialty ICs, ready access to high-speed digital signal processing, and advances in software-defined radio techniques. [Charlie Morris] decided to build an SSB rig that incorporated these technologies and he shared the whole process from design to operation in a series of nine videos. You can see the first one below.

The NE612 is a child of the popular NE602 chip, which contains a Gilbert-cell mixer, and an oscillator that makes building a receiver much easier than it has been in the past. The chips are set up as direct conversion receivers and feed a Teensy which does the digital signal processing on the recovered audio.

Continue reading “Homebrew SDR Ham Radio in 9 Parts”

Dead Simple Ultrasonic Data Communication

Some of the best hacks are the ones which seem perfectly obvious in hindsight; a solution to the problem that’s so elegant, you wonder how it never occurred to you before. Of course we also love the hacks that are so complex your eyes start to water, but it’s nice to have a balance. This one, sent in by [Eduardo Zola] is definitely in the former group.

In the video after the break, [Eduardo] demonstrates his extremely simple setup for using ultrasonic transducers for one-way data communication. Powered by a pair of Arduinos and using transducers salvaged from the extremely popular HC-SR04 module, there’s a good chance a lot of readers can recreate this one on their own bench with what they’ve got lying around. In this example he’s sending strings of text from one computer to another, but with a little imagination this can be used for all sorts of projects.

For the transmitter, the ultrasonic transducer is simply tied to one of the digital pins on the Arduino. The receiver is a bit more complex, requiring a LM386 amplifier and LM393 comparator to create a clean signal for the second Arduino to read.

But how does it work? Looking through the source code for the transmitter and receiver, we can see it’s about as basic as it gets. The transmitter Arduino breaks down a given string into individual characters, and then further converts the ASCII to eight binary bits. These bits are sent out as tones, and are picked up on the receiving end. Once the receiver has collected a decent chunk of tones, it works through them and turns the binary values back into ASCII characters which get dumped over serial. It’s slow, but it’s simple.

If you’re looking for something a bit more robust, check out this guide on using GNU Radio with ultrasonics.

Continue reading “Dead Simple Ultrasonic Data Communication”