Wirelessly Activated Facial Recognition with a Raspberry Pi, Camera and RTL-SDR Dongle

Over on his blog and YouTube channel Trevor Phillips has shown us how he's created a wirelessly activated facial recognition system using a Raspberry Pi Zero, Raspberry Pi camera, wireless button and RTL-SDR dongle.

He uses a handicap door button with wireless transmitter that transmits at 300 - 390 MHz, and uses the RTL-SDR on the Raspberry Pi Zero to detect whenever the button is pressed. The button detection algorithm simply looks for an increase in RF energy via an FFT transform. Once a button press is detected by the RTL-SDR and Raspberry Pi the camera and facial recognition software on the Pi activate, and a text to speech algorithm asks the button presser to face the camera for identification. If the face is recognized in the database the speech to text welcomes the user.

Facial recognition for less than $80

The LimeSDR Mini Grove Starter Kit

LimeSDR have partnered with Seeed Studio to develop a low cost SDR starter kit for learning SDR basics and experimenting with IoT applications. The kit costs US$249 and includes a LimeSDR Mini and the Grove Starter Kit. The Grove kit is simply a set of various sensors such as temperature, sound, light, ultrasonic, touch, rotary as well as interface components like buzzers, an LCD screen, and LEDs. It also includes the GrovePi+ which is a board that allows you to easily interface the Grove sensors with a Raspberry Pi. Adding a LimeSDR Mini as well as the Grove kit to a Raspberry Pi could allow for easy wireless and IoT experimentation. To make it even easier the LimeSDR team have created a ScratchRadio extension that supports the LimeSDR and Grove kit combination. ScratchRadio is a kid friendly visual programming environment.

The kit packages a LimeSDR Mini with antennas optimised for 433/868/915 MHz unlicensed bands, plus a GrovePi+ and selection of incredibly useful Grove sensors and outputs, many of which are supported by a Scratch extension. When combined with our ScratchRadio extension, this will allow the creation of simple and fun applications that integrate SDR capabilities and peripheral I/O.

Of course, use is not limited to Scratch and educational environments, and we’ll also be putting together examples that demonstrate how the kit can be used to develop applications that integrate with existing off-the-shelf systems, such as wireless thermostats and remote controls.

Kit Contents

  • 1 x LimeSDR Mini
  • 2 x Antennas optimised for 433/868/915MHz unlicensed bands use
  • 1 x Acrylic base plate
  • 1 x Short USB extension
  • 1 x GrovePi+
  • 1 x Grove - Ultrasonic Ranger
  • 1 x Grove - Temp&Humi Sensor
  • 1 x Grove - Temperature Sensor
  • 1 x Grove - Rotary Angle Sensor
  • 1 x Grove - Button
  • 1 x Grove - Light Sensor v1.2
  • 1 x Grove - 3-Axis Digital Accelerometer (±1.5 g)
  • 1 x Grove - Relay
  • 1 x Grove - Sound Sensor
  • 1 x Grove - LCD RGB Backlight
  • 1 x Grove - Buzzer
  • 1 x Grove - Red LED
  • 1 x Grove - LED Bar 2.0
  • 1 x Grove - Touch Sensor
  • 1 x Grove - Piezo Vibration Sensor

Just add your own Raspberry Pi, power supply, and microSD card!

The kit costs US$249 and is currently available for preorder on the LimeSDR Mini CrowdSupply page.

The Grove Starter Kit with LimeSDR.
The Grove Starter Kit with LimeSDR.

Using an Airspy SDR for Optical FM Spectroscopy

Spectroscopy is the study of how electromagnetic radiation interacts with matter and it can be used to study the internal structure of matter. At the DLR Institute for Technical Physics in Stutgart Germany, Peter Mahnke has been using an Airspy software defined radio as a "lock-in amplifier" in a FM spectroscopy setup. A lock-in amplifier is simply a type of amplifier that can extract a signal from a known carrier in an extremely noisy environment. 

In the experiment a laser is fiber optically coupled to an eletro-optic phase modulator, which modulates a 400 MHz FM signal onto the light. The light is then passed into a Carbon monoxide absorption cell with a photodiode used to take the spectroscopic measurements. The signal from the photodiode is passed into a LNA and then into the Airspy where the signal can then be processed on the PC.

The paper is very technical, but describes the setup, and how they characterized and calibrated the Airspy for their measurements. They conclude with the following:

A successful demonstration of a commercially available software defined radio as a lock-in amplifier was performed. For this purpose, the tuner front end and back end were characterized. The sensitivity and non-linearity of the receiver circuit was measured and analyzed. Acquisition of a CO spectral line was demonstrated using FM-spectroscopy with a repetition rate of 1 kHz. This proves the usability of an off-the-shelf SDR as a cheap but powerful lock-in amplifier by adding PLL driven frequency generators. The drawback of the arbitrary initial phase of the used phase locked loops can be either solved by software or hardware measures.

This experiment is somewhat similar to one we posted about earlier in the month where an RTL-SDR was used in an optical interferometer lab experiment.

FM Spectroscopy with an Airspy Software Defined Radio.
FM Spectroscopy with an Airspy Software Defined Radio.

Pseudo-Doppler Direction Finding with a HackRF and Opera Cake

Last week we posted about Micheal Ossmann and Schuyler St. Leger's talk on Pseudo-Doppler direction finding with the HackRF. The talk was streamed live from Schmoocon 18, but there doesn't seem to be an recorded version of the talk available as of yet. However, Hackaday have written up a decent summary of their talk.

In their direction finding experiments they use the 'Opera Cake' add-on board for the HackRF, which is essentially an antenna switcher board. It allows you to connect multiple antennas to it, and choose which antenna you want to listen to. By connecting several of the same type of antennas to the Opera Cake and spacing them out in a square, pseudo-doppler measurements can be taken by quickly switching between each antenna. During the presentation they were able to demonstrate their setup by finding the direction of the microphone used in the talk.

If/when the talk is released for viewing we will be sure to post it on the blog for those who are interested.

OperaCake running with four antennas
OperaCake running with four antennas
Schyler's Poster on Pseudo Doppler from GNU Radio Con 17.
Schyler's Poster on Pseudo Doppler from GNU Radio Con 17.

 

TETRA Decoder Plugin for SDR# Now Available

Back in 2016 cURLy bOi released a Windows port of the Linux based "Telive" TETRA decoder. Now the latest development in TETRA decoders is that a TETRA decoder plugin for the SDR# software has been released. This makes setting up a TETRA decoder significantly simpler than before.

The plugin doesn't seem to be officially released anywhere, but we did find it thanks to @aborgnino's tweets on Twitter, and he found it on a Russian language radio scanner forum. The plugin is available as a direct download zip from here, but we suggest browsing to the last few posts in the forum thread to find the latest version.

Installing the plugin is a little more difficult that usual, as you first need to install MSYS2 which is a compatibility layer for Linux programs. The full installation instructions are included in the README.TXT in the zip file. One clarification from us: you need to copy the files in the msys_root/usr/bin folder from the zip file into the /usr/bin folder that is in your MSYS2 installation directory. 

We tested the plugin and found it to work well without any problems. With the plugin turned on you just need to simply tune to a TETRA signal in WFM mode, and you will instantly be decoding the audio.

TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA. If you have unencrypted TETRA signals available in your area then you  can listen in on them with an appropriate SDR like an RTL-SDR and decoder software like the aforementioned plugin.

SDR# TETRA Plugin Running
SDR# TETRA Plugin Running

Designing an Ultra Wideband Vivaldi Antenna

The LimeSDR mini is able to receive over a huge frequency range (10 MHz - 3.5 GHz), so having recently bought one "hexandflex" wanted to build an ultra wideband antenna to go along with it. On his three part blog post hexandflex introduces us to various ultra wideband antennas, introduces us to and shows us how to design and build a Vivaldi ultra wideband antenna, and measures the performance of the Vivaldi that he built.

The Vivaldi is a fairly well known ultra wideband antenna that is directional. It is fairly easy to build out of a PCB board, but requires some careful design considerations to work well. In the second post hexandflex goes over all the design considerations that he put into his Vivaldi incliding the feed design, substrate choice and additional improvements like adding corrugations and crafting the geometry for a lens effect.

The results show that the antenna works well as a directional antenna above 1.7 GHz, and begins to work more like a standard dipole below 1.7 GHz. Directional gain is greater than 5dB above 1.7 GHz, and becomes negative below 1 GHz. Although hexandflex notes that the gain below 1 GHz is still reasonable, and probably still better than any untuned monopole.

Hexandflex has put up a small number of Vivaldi antennas that he's produced up for sale on Tindie for US$18. Currently he has a limited batch of units to sell, but notes that he may run additional batches if they are popular.

Hexandflex's Vivaldi Antenna
Hexandflex's Vivaldi Antenna

Reverse Engineering Weather Station RF Signals with an RTL-SDR

Johannes Smit wanted to be able to view the live data from his SWR WH2303 weather station and send it to a database. Whilst the weather data acquisition software that he paid for worked well, he thought that there must be a cheaper and more fun way to grab the data. But unfortunately the manufacturers would not respond to his request for the RF protocol specifications. So Johannes decided to reverse engineer the protocol using his RTL-SDR instead.

Johannes has submitted to us a document that very nicely details his every step taken when reverse engineering the weather station (Google docs document). He starts by confirming the signal frequency in GQRX, and then attempting to see is the rtl_433 could already recognise the signal. Whilst rtl_433 saw something, it was unable to decode the packet properly.

Next he fired up Universal Radio Hacker (URH) and captured a sample of the weather station signal. Using URH he was able to determine the modulation type (FSK) and the bit length parameter (150us). Johannes' next step was to open the weather station, find the RF chip, look up the RF chip information on the web and find the spec sheet. From the spec sheet and internet forum searches he was able to determine the properties of the packet including the sync word and preamble. With this data he was able to determine the packet structure.

Finally he captured a packet and recorded the exact data shown on the weather station at the time of the packet. With this he was able to search the binary data string for the data shown on the weather station, indicating the location of a particular piece of data within the string.

Johannes' tutorial shows just how powerful tools like Universal Radio Hacker can be, and his tutorial is an excellent start for those looking at reverse engineering any of their own local RF protocols.

The binary packet data in Universal Radio Hacker.
The binary packet data in Universal Radio Hacker.

Echoes: An RTL-SDR Tool for Meteor Scatter Detection

Echoes Running
Echoes Running

Thanks to "gmbertani" for letting us know about his recently released RTL-SDR compatible software called "Echoes". Echoes is a Windows, Linux and Raspberry Pi/Arch compatible tool that can be used together with an RTL-SDR and appropriate antenna to monitor for meteor scatter detections.

Meteor scatter works by receiving a distant but powerful transmitter via signal reflections off the trails of ionized air that meteors leave behind when they enter the atmosphere. Normally the transmitter would be too far away to receive, but if its able to bounce off the ionized trail in the sky it can reach far over the horizon to your receiver. Typically powerful broadcast FM radio stations, analog TV, and radar signals at around 140 MHz are used. By listening to these signal blips it can be possible to estimate the number of meteors falling.

Below we paste the official description and feature list of Echoes, and at the end is a video demonstrating Echoes in action:

Echoes it's a radio spectral analysis software for RTL-SDR devices, designed for meteor scattering purposes.

Echoes doesn't demodulate neither decode any human-made signal. Its main goal is to analyze and record the total power of natural signals and generate screenshots and tabular data (CSV, GNUplot) output in presence of particular peaks in a selected narrow range of frequencies. Since there is no demodulation, there is no provision for audio listening, except for a notify sound when an event has been recorded.

Features

  • Captures waterfall spectra as PNG screenshots and statistics data files.
  • Optionally generates GNUplot data files
  • Multiple instances can manage separate dongles plugged in the same computer
  • Three operating modes: continuos (records data only), periodic (captures data and screenshot every X seconds) and automatic (record data and screeshot each time a customizable (S-N) treshold is exceeded)
  • HTML report production
  • Installers ready for Windows7++ and RPMs / SRPMs for Linux
  • xz binary package for Raspberry PI / Arch distro
  • It can run headless, recording GNUplot and statistic data only