Tagged: rtl-sdr

Decoding a Garage Door Opener with an RTL-SDR

After listening to dock workers with his RTL-SDR for a few days, RTL-SDR.com reader Eoin decided that he wanted to try a more practical experiment. He decided to see if he could reverse engineering the wireless protocol on his garage door opener. Upon opening his remote he discovered a bunch of DIP switches, which are presumably used to program the remote to a particular garage door. Eoin’s next step was to determine at what frequency the garage door opener was transmitting at. He made an assumption that it would be in the 433 MHz unlicenced ISM band as this is where many handheld remotes transmit at. He was right, and found the signal.

The garage door remote showing the DIP switches.
The garage door remote showing the DIP switches.

His next step was then to record the signal audio in Audacity. From the audio waveform he could see a square wave which looked just like binary bits. By manually eyballing the waveform and translating the high/low squarewave into bits he was able to get the binary data. He then confirmed this data with the dipswitch positions and discovered that a 010 binary code matched with the UP position on the dip switch and 011 matched with the DOWN position.

Having decoded the signal manually fairly easily, Eoin decided his next challenge would be to automate the whole decoding in GNU Radio. In the end he was successful and managed to create a program that automatically determines the position of the DIP switches from the signal. His post goes into detail about his algorithm and GNU Radio program.

Showing the decoded DIP switch positions from his GNU Radio program.
Showing the decoded DIP switch positions from his GNU Radio program.

RTL-SDR Blog SDR Unit Sale!

As many of you know we have been working on releasing a new revision of our RTL-SDR Blog SDR units for the last few months. We are a few weeks away from being able to release news about this new unit and begin sales.  At the moment we are still confirming the features and testing the prototypes so cannot release any news, but if you want a hint at what features might be coming you can take a look at our previous poll asking RTL-SDR users what they wanted in a low cost SDR. The new units may include some of these features/improvements.

For now we are selling off our current batch at reduced prices. The dongle only package is reduced from $19.95 to $17.95, and while the dongle + antenna kit is sold out in our international store, we have reduced its price from $24.95 down to $23.95 on our Amazon USA store.

You can purchase our units from our store at www.rtl-sdr.com/store.

These prices will only last until this batch of stock runs out, and there are only a few hundred units remaining. This special offer also combines with our 5% off deal if you buy more than two items from our store.

main_dongleonly_site2

Fixing a long active USB Cable for RTL-SDR Use

Active USB cables allow cable lengths to be stretched to much longer than the maximum length of 5m allowed by the USB specification. However, although the packet timing requirements are met by the repeaters used in the active cables, there is still a significant voltage drop which can affect devices like the RTL-SDR.

Over on YouTube Shaun Dobbie discovered that his RTL-SDR would not run properly on his long active USB cable, and he suspected low voltage. After opening the case on the USB cable head he discovered two pins which allowed for external power input. By simply connecting an external 5V supply from a battery to the 5V input of the active cable he was able to fix the low voltage problem. If you’ve ever found that a long active USB cable doesn’t work then this may be the problem you have experienced. An alternative to this home solution might be to use an external powered USB hub, or buy an active USB cable that already has an external power input like this or this one.

RTL SDR USB Extension Cable

Updates on using an RTL-SDR for GPS on a High Powered Rocket

Back in April we posted about Philip Hahn and Paul Breed’s experiments to use an RTL-SDR for GPS logging on their high powered small rockets. As GPS is owned by the US military, a standard GPS module cannot be used on a rocket like this, as they are designed to fail if the GPS device breaches the COCOM limit, which is when it calculates that it is moving faster than 1,900 kmph/1,200 mph and/or higher than 18,000 m/59,000 ft. The idea is that this makes it harder for GPS to be used in non-USA or home made intercontinental missiles. As SDR GPS decoders are usually programmed in open source software, there is no need for the programmers to add in these artificial limits.

In their last tests they managed to gather lots of GPS data with an RTL-SDR, but were only able to decode a small amount of it with the GNSS-SDR software. In this post Philip discovers a flaw in the way the GNSS-SDR performs acquisition and retracking that GNSS-SDR decodes in such a way that makes it difficult to obtain a location solution with noisy high-acceleration data. By using a different GPS implementation coded in MATLAB, he was able to get decoded GPS data from almost the entire ascent up until the parachutes deploy. Once the parachutes deploy the GPS has a tough time keeping a lock as it sways around. His post clearly explains the differences in the way the code is implemented in GNSS-SDR and in the MATLAB solution and shows why the GNSS-SDR implementation may not be suitable for high powered rockets.

In addition, they write that while the flight was just under the artificial COCOM GPS fail limits for speed and height, the commercial GPS solution they also had on board failed to collect data for most of the flight too. With the raw GPS data from the RTL-SDR + some smart processing of it, they were able to decode GPS data where the commercial solution failed.

GPS data acquired from the RTL-SDR on the rocket.
GPS data acquired from the RTL-SDR on the rocket (blue line shows solution from MATLAB code, yellow shows GNSS-SDR solution, and red shows commercial GPS receiver solution).

University Course on Digital Signal Processing with the RTL-SDR

Over the past few years the Electrical Engineering department of the University of California, Berkley has been using RTL-SDR’s in their EE123 Digital Signal Processing (DSP) course. We’d posted about this course years before when it first came out, but recently Micheal Lustig (KK6MRI), the Associate Professor of the course wrote in to let us know that the course has evolved and is now better than ever.

The course covers DSP essential material such as the Discrete Fourier Transform, Fast Fourier Transform, RF Filter design, as well as more complex subjects. All the course material is available in note and video form if you scroll down on the main page at https://inst.eecs.berkeley.edu/~ee123/sp16/index.html.

However, the professor writes that the best gem that they have developed in their labs which can be found at https://inst.eecs.berkeley.edu/~ee123/sp16/labs.html. The labs run on the web based Ipython/Jupyter Notebooks and guide you through the implementation of an ADS-B receiver, broadcast FM and subcarrier demodulation, frequency calibration with GSM, and a full python APRS transceiver using the baofeng radio and a custom audio interface. These labs are an excellent tutorial into the world of DSP.

The final project of the class is also very interesting. The students of the class were given the task to send images using a Baofeng UV-5R handheld radio and receive them with an RTL-SDR. On the day of the project demonstration they were given two images, and the challenge was to transmit the best quality image over 75 seconds. Videos of the presentation can be found at https://inst.eecs.berkeley.edu/~ee123/sp16/projectVideos.html. The winning team used a combination of five Baofeng’s for simultaneous transmission of a compressed image and an RTL-SDR for receiving.

Richard-Allan-James

Making use of the Infrared LED on RTL-SDR Dongles

The infrared (IR) LED on most RTL-SDR dongles is a vestigial from the days when it was actually used for its original purpose as an DVB-T HDTV receiver. It was used to read a remote control that allowed you to change TV channels. For SDR use, the IR has little to no purpose and in many new dongles that come in metal cases (like ours) the IR LED is no longer even included on the PCB.

However, not one to waste a perfectly good interface, RTL-SDR experimenter R. X Seger created a new tool called rtl_ir which allows users to read IR data from any remote control with the RTL-SDR IR LED. Seger tested his program with the TV remote that comes included with some RTL-SDR dongles and was able to decode the scancode for power on/off as well as all the other buttons. He also tested an Apple and Siri Remote, and found that he was able to decode their scancodes too.

R. X Segers post goes over in detail what the IR spectrum is, how the IR driver works, and how to use the rtl_ir program and run it simultaneously with other RTL-SDR programs. He also shows an example on how it can be used to remotely power off a Raspberry Pi.

IR data received with rtl_ir.
IR data received with rtl_ir.

LuaRadio: New Flowgraph Based Digital Signal Processing Framework for SDR

LuaRadio is a new Digital Signal Processing (DSP) framework for software defined radios such as the RTL-SDR. It is similar to GNU Radio in that the flowgraph is composed of graphical blocks that can be visually connected to one another in an editor. However compared to GNURadio it aims to be very lightweight in terms of disk space used (1 MB footprint) and the number of dependencies required (zero dependencies required unless you need real time highly optimized libraries). It is also written purely in the Lua programming language. The authors of LuaRadio write “LuaRadio is more inclined towards scripting and prototyping than GNU Radio, and emphasizes fast block development.”

On their website there are already several example application flowgraphs uploaded, such as decoders for WBFM Mono/Stereo, NBFM, AX.25, POCSAG, RDS, AM and SSB. Looking and building such flowgraphs is extremely helpful for learning DSP, and DSP languages like this are excellent for prototyping new signal decoders. In addition, if you are new to SDR they also have a very useful page that explains basic SDR and radio concepts.

A LuaRadio based POCSAG decoder flowgraph.
A LuaRadio based POCSAG decoder flowgraph.

Building an ESP8266 Based Plane Spotter with an RTL-SDR Feeder

Living near Zurich airport, Daniel Eichorn wanted an easy way to show his house guests what planes are flying near him. Usually he opens up his Flightradar24 app on his phone, but he wanted a more permanent always on display. To do this Daniel has built an ESP8266 based OLED display which automatically displays the ADS-B flight information of aircraft outside his window. The ESP8266 is a very cheap and highly popular WiFi module which can give a microcontroller access to WiFi networks.

Daniel feeds his locally received ADS-B data to adsbexchange.com using a Raspberry Pi and RTL-SDR. While actually feeding ADS-B data with an RTL-SDR is not required to make the ESP8266 module work, this step ensures that he has good local coverage of his area. The ESP8266 module then queries the adsbexchange.com database via WiFi for information about planes in his area and displays the information on the OLED screen.

In previous posts we also showed how the ESP8266 could be used to transmit data like NTSC TV in a similar way to Rpitx.

ESP8266 + OLED screen displaying ADS-B data.
ESP8266 + OLED screen displaying ADS-B data.