Tagged: gnu radio

Reverse Engineering a RF Controlled Ceiling Fan with the RTL-SDR

Using an RTL-SDR Clayton Smith was able to reverse engineer his remote controlled ceiling fan. To do this he first used his BladeRF to determine that the remote control was transmitting a signal at 303.747 MHz. He then used a simple GNU Radio flow graph with the RTL-SDR to plot the amplitude of the signal over time which suggested that the signal was using on-off keying. From the plot he was then able to visually determine the bit pattern sent from each button on the ceiling fan remote.

Next he used his bladeRF and another GNU Radio flowgraph to replicate and transmit the the bit pattern which was able to control the ceiling fan from the PC.

Clayton notes that all this reverse engineering was done in half an hour, demonstrating the power of software defined radio.

Ceiling Fan Bit Pattern Recovered with an RTL-SDR and GNU Radio
Ceiling Fan Bit Pattern Recovered with an RTL-SDR and GNU Radio

Controlling a Remote Control Car with the HackRF

On YouTube user 王康 has been working with his HackRF One to create a computer keyboard controlled interface for his remote control car. The HackRF is a ~$300 software defined radio similar to the RTL-SDR, but with transmit capabilities.

To control the car he wrote a GNU Radio program to generate a control signal that is transmitted by the HackRF and a GUI to listen to keyboard presses on the PC.

HackRF One with gr-remotecar

Transmitting DVB-T with the BladeRF and Receiving it on a RTL-SDR

The BladeRF is a software defined radio that has transmit and receive capability. Over on his blog, Clayton Smith has recently posted about his experiments which involve using the BladeRF to transmit DVB-T digital TV on one laptop to another laptop running an RTL-SDR in DVB-T mode. This is one of the few applications where the RTL-SDR is used as a DVB-T receiver as it was originally intended. Clayton used GNU Radio, a DVB-T package for GNU Radio and some python scripts to create the BladeRF transmitter.

The newer Linux kernels have DVB-T support for the RTL2832U chip, so the latest version of Ubuntu 13.10 will be able to recognize the RTL-SDR stick as a DVB-T receiver easily. Clayton used VLC in Ubuntu 13.10 to receive the DVB-T signal transmitted by the BladeRF which was tested on the 70cm, 33cm and 23cm bands.

DVB-T Received by the RTL-SDR
Webcam DVB-T TX by a BladeRF and RX by the RTL-SDR

Video Tutorial: Hak5 on Decoding RDS with GNU Radio and GR-RDS

Hak5 has recently posted another video continuing their easy to follow series on GNU Radio and the RTL-SDR. In this video they talk about Radio Data System (RDS) and explain how it is a digital signal that is embedded in broadcast FM signals. They then download GR-RDS, a GNU Radio based RDS decoder program and use it to decode a local RDS signal.

Decoding Digital Subcarriers with a $20 SDR, Hak5 1602

Video Tutorial: Hak5 GNU Radio FM Radio Receiver

The popular YouTube technology show Hak5 has recently been posting videos related to software defined radio and more specifically RTL-SDR. Two of their recent videos are about an easy to follow GNU Radio tutorial for complete beginners. In the first tutorial they show how to add an RTL2832U source in GNU Radio and output it to a FFT Sink. In the second tutorial they go further and show how to build an FM Receiver.

Building Software Radios With A Little Bit Of Python, Hak5 1526

Going Deeper Into GNURadio Companion, Hak5 1601

Demo of Osmocoms ‘Phosphor’ Spectrum Visualizer

Over on YouTube, user superkuh2 has posted a video showing off osmocoms gr-fosphor GNU Radio block which shows a real time spectrum visualization using the GPU. He combines gr-fosphor with multimode for visualizing the ISM and pager bands with his RTL-SDR.

osmocom's fosphor with patchvonbraun's multimode looking at ISM + FLEX pager bands with rtlsdr

Tutorial: Creating an FM Receiver in GNURADIO using an RTL-SDR source

Over on instructables.com, user v3l0c1r4pt0r has created an instructable that shows step by step instructions on how to create an FM receiver in GNU Radio using an RTL-SDR and GNU Radio Companion. His instructable explains a bit about the theory of what is required to decode an FM signal, and shows which GNU Radio blocks are required, and how to connect them up.

GNU Radio Tutorial
GNU Radio FM Receiver

2-Channel AIS Receiver with RTL-SDR and GNUAIS

Blogger OZ9AEC has written a post on his blog showing how he made a 2-channel AIS receiver using the RTL-SDR, GNU Radio and GNUAis. AIS is a radio protocol used by boats to broadcast their position and speed which is then used to create a type of radar system to help avoid collisions. AIS signals are transmitted periodically on one of two channels. Two channels are used to improve capacity and help avoid interference if two signals from different boats are broadcast at the same time.

Before this, most AIS receiver implementations we’d seen that used the RTL-SDR received only on a single channel. OZ9AEC’s GNU Radio program receives on both channels simultaneously like a commercial AIS receiver does and is thus a better receiver. He eventually plans to get this receiver to run on a Beaglebone.

See his post for instructions and to download the GRC files.

Update: Another AIS decoder known as gr-ais is also capable of 2 channel AIS, and bristromat from Reddit has written a tutorial on setting it up and running it with OpenCPN.

Two channel AIS Block Diagram