Rtl_433 is an RTL-SDR compatible command line based tool for monitoring various 433 MHz ISM band devices, such as temperature sensors, weather monitors, TPMS, energy meters etc. A full list of support devices can be found on the rtl_433 Github.
Over on his blog “raspberrypiandstuff” mentions that he’s been using rtl_433 and an RTL-SDR on a remote headless Raspberry Pi to receive and monitor temperature and humidity from his weather station. From the data he’s able to produce some nice graphs that show changes over time.
However, one problem that he ran into was that the USB controller on the Raspberry Pi would sometimes hang. The only solution he’d previously found to fixing it was to physically disconnect and then reconnect the RTL-SDR. But now “raspberrypiandstuff” writes that he’s found a new solution which is to use a small C-program called usbreset.c. Combined with a bash script that detects which device the RTL-SDR is on the bus, this tool helps to automatically reset the USB on the Pi if it fails to keep the RTL-SDR logging 24/7 without physical intervention.
This may be a solution to look into if you’re experiencing similar issues with 24/7 monitoring on the Raspberry Pi. If you’re also interesting in rtl_433 monitoring, “raspberrypiandstuff” also has a post on creating a simple GUI for rtl_433.
With an RTL-SDR dongle, Raspberry Pi, piece of wire and literally no other hardware it is possible to perform replay attacks on simple digital signals like those used in 433 MHz ISM band devices. This can be used for example to control wireless home automation devices like alarms and switches.
In this tutorial we will show you how to perform a simple capture and replay using an RTL-SDR and RPiTX. With this method there is no need to analyze the signal, extract the data and replay using a 433 MHz transmitter. RPiTX can replay the recorded signal directly without further reverse engineering just like if you were using a TX capable SDR like a HackRF to record and TX an IQ file.
Note that we’ve only tested this replay attack with simple OOK 433 MHz devices. Devices with more complex modulation schemes may not work with this method. But the vast majority of 433 MHz ISM band devices are using simple modulation schemes that will work. Also replay attacks will not work on things like car keys, and most garage door openers as those have rolling code security.
A video demo is shown below:
RPiTX is open source software which allows you to turn your Raspberry Pi into a general purpose transmitter for any frequency between 5 kHz to 500 MHz. It works by using square waves to modulate a signal on the GPIO pins of the Pi. If controlled in just the right way, FM/AM/SSB or other modulations can be created. By attaching a simple wire antenna to the GPIO pin these signals become RF signals transmitted into the air.
Of course this creates an extremely noisy output which has a significant number of harmonics. So to be legal and safe you must always use bandpass filtering. Harmonics could interfere with important life critical systems (e.g. police/EMS radio, aircraft transponders etc).
For testing, a short wire antenna shouldn’t radiate much further than a few meters past the room you’re in, so in this case you should be fine without a filter. But if you ever connect up to an outdoor antenna or amplify the signal then you absolutely must use adequate filtering, or you could find yourself in huge trouble with the law. Currently there are no commercially made 433 MHz filters for RPiTX available that we know of, so you would need to make your own. Also remember that you are still only allowed to transmit in bands that you are licensed to which for most people will be the ISM bands.
The Odroid C2 is a $40 USD single board computer with a 1.5 GHz ARM-A53 quad core CPU and 2 GB of RAM. Compared to a Raspberry Pi 3 it is more powerful and costs almost the same. YouTube uploader radio innovation recently wrote into us and wanted to share his video showing SDR-J decoding DAB+ smoothly on his Odroid C2. It seems that SDR-J works perfectly and only uses a small amount of CPU.
DAB stands for Digital Audio Broadcast and is a replacement/alternative to standard broadcast FM stations. SDR-J is a software suite that includes a DAB decoder for the RTL-SDR. It is compatible with Windows, Linux and the Raspberry Pi (and evidently also the Odroid C2). Over on their website they also provide a ready to go Raspberry Pi 2 image, and they write that it should perform well on the Rpi2 platform as well.
A radio repeater is usually a radio tower that receives weak signals from handheld, desktop or other radio, and rebroadcasts the same signal at a higher power over a wide area at a different frequency. This allows communications to be extended over a much greater area.
Rpitx is software for the Raspberry Pi which we have featured on this blog several times in the past. We’ve also seen the qtcsdr software which also uses Rpitx and an RTL-SDR to create a transceiver. Rpitx allows the Raspberry Pi to transmit radio signals without the need for any transmitting radio hardware at all. It works by modulating signals onto a General Purpose I/O (GPIO) pin on the Raspberry Pi. If the GPIO pin is modulated in just the right way, FM/AM/SSB or other signal modulation approximations can be created at a specified frequency. The signal is however not clean, as this type of modulation generates many harmonics which could be dangerous if amplified. If you use Rpitx, always use appropriate filtering hardware.
ZR6AIC’s post goes into detail about how to install and set up the required software onto the Raspberry Pi and how to set up the script to piece all the programs together into a repeater. He’s also uploaded a video demonstrating the system in action on YouTube.
A few days ago we posted about the release of Rpidatv, a program that allows a Rapberry Pi to transmit DATV without the need for any additional hardware. DATV stands for Digital Amateur TV, and can be received with an RTL-SDR using a program called leandvb.
Over on YouTube, the programmer of Rpidatv (Evariste F5OEO) has uploaded a video that shows a Rpidatv + leandvb system in action. The video demonstrates the touch screen GUI which can be used if a touch capable LCD screen is connected to the Raspberry Pi. It also shows the whole system in action with a video being transmitted from the Raspberry Pi camera to a Linux PC with an RTL-SDR running leandvb.
Another video uploaded to YouTube by Qyonek also shows Rpidatv + leandvb in action.
F5OEO writes that the software is capable of generating a symbol rate from 64k symbols to 1M symbols, which is enough to transmit one video with good H264 encoded quality. He also writes that using a low symbol rate may be useful for long distance transmissions as the signal will take up a smaller bandwidth. For example a 250K symbol transmission would only need 300kHz of bandwidth. He writes that this type of transmission could easily be used in the ISM band to replace WiFi video for FPV, but that at the moment video latency is about 1 – 2 seconds and is still being improved.
Once again we remind you that if you intend to transmit using these methods where a GPIO pin is modulated, then you MUST use a bandpass filter at the frequency you are transmitting at, and that you must be licensed to transmit on those frequencies.
Over on YouTube user Tobias Härling has uploaded a video showing how he used a Raspberry Pi and RTL-SDR dongle to set up an AIS receiver. AIS stands for Automatic Identification System and is a radio system similar to ADS-B which allows you to create a radar-like system for boats. For Windows we have a tutorial on AIS reception here.
In his setup he uses rtl_ais and the kplex software and shows how to install everything from scratch. He also shows how to set the system up so that decoding automatically starts up and begins outputing NMEA data through the network when the Raspberry Pi is powered on. This way an a device like an iPad could be used to run OpenCPN to view the plotted ships.
Over on his blog rtlsdr4everyone author Akos has recently uploaded three new posts. The first post is about the Raspberry Pi minicomputer and the post discusses the merits of using the Raspberry Pi with an RTL-SDR dongle. The second post provides information to help people new to RTL-SDR choose their first dongle, and weighs up options between dongles that cost $10, $20, $25, $35 and $50 dollars. Finally, the third post compares two dongles on HF performance.