Thank you to Michael B for letting us know about recent fixes to the Raspberry Pi kernel which affect RTL-SDR users. If you've been experiencing error "rtlsdr_read_reg failed with -7" when running RTL-SDR software on Raspberry Pi 4's running a Linux kernel with version 6.1 or higher, a Raspberry Pi kernel fix has been pushed which should fix the problem.
This problem "rtlsdr_read_reg failed with -7" appears to occur after having closed any program that uses an RTL-SDR, and then reopening it.
This doesn't seem to have been an issue for the older 5.12 and 4.19 kernels where this issue was previously fixed, but Raspberry Pi recently moved to the 6.1 kernel in May 2023 where the issue came back. Raspbian releases after this date may have been problematic.
The official Raspbian should eventually update, but if you've been experiencing this issue, you could try update your kernel now using:
sudo apt install rpi-update
Alternatively according to Michael, kernel version 6.6.y should also have this problem fixed:
sudo rpi-update rpi-6.6.y
Note that updating the kernel could break other software, so doing this is at your own risk.
Thank you to Joe NE2Z for sharing his Linux distribution called SIGpi. SIGpi is an installable Linux distribution for Ubuntu and Raspberry Pi 3/4 that focuses on providing multiple open source SDR programs that can be used for signal intelligence. Support for RTL-SDR and other SDRs is included.
The distro is actually created via a bash script that installs all the programs automatically on a fresh OS install. It also provides a system for easily upgrading software as developers work on them.
SIGpi is a "go-kit" for Signal Intelligence (SIGINT) enthusiasts with emphasis on capabilities in the VHF, UHF, and SHF spectrum. For completeness, HF spectrum related software is included for optional install. This (bash) shell script builds SIGINT tools on the following platforms:
Raspberry Pi4 4GB RAM or Raspberry Pi 400 with 32GB microSD card running Raspberry Pi OS Full (64-bit)
Ubuntu 22.04 LTS on arm64 and amd64
A headless server only install (Node Install) can be performed on Raspberry Pi3 B+ with 32GB microSD card running Raspberry Pi OS Full (64-bit)
Thank you to Manuel Lausmann for submitting news about the release of the "Raspberry NOAA V2 Edition 2023" image for Raspberry Pi's. This image has been created by Jochen Köster (DC9DD), and contains a few enhancements over the previous image, mainly by including a program that allows users to create composite images of images from the Meteor weather satellites. Manuel writes:
This is based on the well-known Raspberry Noaa V2. In this image, however, the latest MeteorDemod has been added, which makes it possible to generate composite images, which was previously only possible under Windows with Meteorgis.
Furthermore, the image has an additional FTP uploader. The image was created by Jochen Köster DC9DD. It's available from today. This image is also part of my off-grid station in Northern Norway.
The SunFounder TS7-Pro 7-Inch Touch Display is a portable high resolution 1024x600 7-inch touch screen with space on the back for a Raspberry Pi 4 to be mounted. It is also possible to mount an optional 2.5" SSD and 'PiPower' battery mount. The price of the TS7-Pro is currently reduced to $79.99 on Amazon and $89.99 in their direct store.
Last year in October we reviewed the 'RasPad 3.0' another SunFounder product that is a portable tablet enclosure for the Raspberry Pi 4. The RasPad is a more complete setup offering a full enclosure and built in battery. We reviewed the RasPad as we were curious to see how easy it would be to integrate a RTL-SDR on the inside. With some minor modifications we were able to successfully do this and create a portable RTL-SDR station. The RasPad 3.0 is a more costly device at US$259 on Amazon and $219 on their direct store.
This year SunFounder reached out to us again and asked if we wanted to test their TS7-Pro display, and see if it is possible to integrate an RTL-SDR.
Unboxing and General Assembly
The TS7-Pro comes packed well with foam. Inside is the manual, acrylic cover, 2x HDMI and 2x USB cables, 2x USB-USB bridge adapter (one for the Pi 4 and one for the Pi 3), 2x Micro-HDMI to HDMI bridge (one for the Pi 4 and one for the Pi 3), various M3 screws, a screwdriver and the LCD screen itself. The cables are designed for people who want to use the screen as a suppletory PC screen, so we did not end up using them.
The rear of the LCD screen contains all the LCD driver circuity as well as speaker and mounting points for the Raspberry Pi to connect it's GPIO header. The required HDMI and USB connections between the Raspberry Pi and LCD screen are handled by small bridge connectors.
The assembly process is very simple. Just mount the Raspberry Pi on the back, connect up the HDMI and USB bridge adapters, and screw on the acrylic backing plate.
There is also a very useful metal kickstand on the back which allows the screen to sit almost upright for easy viewing when placed on a surface.
The acrylic backing plate is designed to be able to mount a 2.5" SSD and/or a 'PiPower' battery module. Instead of using these accessories we decided to see if we could instead fit an RTL-SDR Blog V3 and our own USB battery pack on the back.
The acrylic plate has several screw and venting holes which we made use of to simply zip tie the RTL-SDR onto the back. We then used a short USB extension cable with a right angle connector between the RTL-SDR and Pi 4. There is plenty of space on the inside between the PCB and acrylic plate, so the RTL-SDR can be hidden away with the antenna port still easily accessible.
The USB battery pack is a bit larger, so fits on the outside of the enclosure also via zip ties.
After tightening down the zip ties, and hiding away the excess cabling, the whole construction is stable and not likely to fall apart easily.
Operating and Testing
Both the LCD screen and Pi 4 need to be powered separately. So you will need a battery pack that can support at least two outputs, and one that can support the required power draw of the Raspberry Pi whilst also powering the LCD screen.
We also initially connected a simple whip antenna to the RTL-SDR, but had to change that later as we will discuss.
For software we installed the Pi64 version of DragonOS, which is a ready to use Pi 4 image that has many RTL-SDR compatible programs built into it. A reminder that any software issues we discuss are unrelated to the SunFounder hardware.
The touchscreen works as expected, however we did notice that there is an initial bug on boot where the onscreen keyboard won't work unless you try to log in once with an empty password first. However, as we discovered in the RasPad review, most SDR programs like SDR++ are not very well suited to touch screens, so in the end we ended up connecting a wireless keyboard for ease of use.
Using a keyboard ended up also being a requirement in our tests, because the way we mounted the RTL-SDR meant that the screen was upside down. Using the screen in this 'upside down' orientation was preferred as the kickstand makes it sit a bit more upright and keeps the antenna more vertical. To get around the upside down screen we had to flip the screen in Ubuntu settings. Unfortunately flipping the screen does not also flip the touch screen inputs, so our touch inputs became inversed. There seem to be ways to fix this but we did not look further into the issue.
One other minor annoyance is that we found that the LCD screen would not get recognized by the Pi 4 when the keyboard's USB dongle was connected at boot. This may just be a Pi 4 issue, or an issue with our power pack unable to provide enough current at boot, as we have encountered similar issues in the past with Pi 4's used in other projects. Once the first text appears on the screen, connecting the keyboard USB dongle is possible.
With a keyboard connected, SDR++ opened and ran smoothly, and looks great on the 7 inch screen. We note that we did have to apply a small configuration fix in the Ubuntu sound settings in order to get the built in speakers to work. The fix is the same one used in the RasPad review, so please see that review for more information.
With it's somewhat open back, cooling doesn't seem to be an issue and we never noticed the Pi 4 throttling, or the RTL-SDR overheating.
LCD Screen Interference
Again as we noted in the RasPad review, LCD screens are known to be big sources of RF interference and having the dongle and antenna this close to the screen electronics is not ideal. The image below shows what interference from the LCD screen looks like on the spectrum. Interference on the TS7 screen appears to be more pronounced when compared to the RasPad, possibly due to a different driver PCB with more exposed ribbon cables.
This interference is not present on all bands, and once an external antenna is used with a few meters of coax distance away from the LCD the problem reduces, but it doesn't go away fully. With an antenna disconnected there is almost no interference seen at full gain, so most of the interference appears to come through the coax cable and antenna. So we recommend using high quality shielded coax, as well as getting the antenna away from the LCD screen too.
The SunFounder TS7 Pro is a nice and low cost product that allows you to easily connect a Raspberry Pi 4 to a touchscreen. Unlike the RasPad it does not come with a battery or enclosure, but this allows for a smaller form factor. The LCD screen itself is high quality, bright and with good viewing angles.
Hacking an RTL-SDR and battery pack onto the back of the SunFounder TS7 LCD display is easily possible and does result in a very nice portable form factor. However, there are still wires hanging out the sides which make it a little less neat to carry around and store away, although all the connections seem secure. Mounting the assembly into a 3D printed enclosure could help neaten things up.
LCD interference remains an issue, but by using an external antenna with a few meters of good quality shielded coax the problem can be managed.
Overall we think the product is an excellent starting point for any RTL-SDR Pi 4 project that requires a screen.
Disclaimer: We do not receive any compensation for this review apart from a free TS7 Pro.
The Raspad 3.0 is a portable tablet enclosure for the Raspberry Pi 4B. It comes with a high resolution 1280 x 800 10.1 inch touch LCD screen, built in speakers, built in battery and a plastic enclosure that houses the LCD driver board and Raspberry Pi. Accessible on the side of the enclosure are the USB, HDMI, ethernet and audio ports which connect via the LCD driver board. They also include an accelerometer shim which allows the screen to autorotate.
A few months ago SunFounder, the company behind the RasPad 3.0 reached out to us and asked if we wanted to review the product with a free sample. Normally we don't review products unrelated to SDR like this, but given the amount of RTL-SDR software available for the Raspberry Pi, and what appeared to be sufficient internal space, we were curious if there was a way to turn this into a portable RTL-SDR tablet...
A few weeks ago the Raspad 3.0 arrived, well packed and with all the advertised components. Note that the Raspad 3.0 does not come with a Raspberry Pi 4B, this is something you will need to provide on your own.
Inside was a mains power cable, 15V DC power brick, two HDMI jumpers, a USB jumper, accelerometer shim, SD card ribbon, small 5V fan, heatsinks for the Pi, screwdriver and mounting screws, a manual and the RasPad LCD screen itself.
Assembly is straight forward. You unscrew the enclosure using the provided screw driver, insert the Pi 4B, screw it down, connect all the cables from the Pi to the LCD driver board and SD card slot, then reassemble. After inserting the Raspberry Pi 4B and attaching all the cables this is what the inside looks like.
Now we could have reassembled the enclosure here, but we wanted this to be a portable RTL-SDR tablet, with the RTL-SDR and an SMA antenna port built in.
It turns out that the best way to fit in an RTL-SDR Blog V3 is to directly connect it to the spare USB port on the Pi. You might also consider using a micro style RTL-SDR which would fit more easily, but those do tend to get quite hot in a small package, and can be quite bad with internal noise. Also good shielding is probably quite critical in this application due to the dongles proximity with the LCD driver board which could be an RFI source.
The SMA side of the RTL-SDR Blog V3 rests nicely on top of the USB port of the LCD driver board providing some stability, and when the bottom lid is assembled there is plenty of clearance and no squashing.
Next we drilled a hole on the rear wall of the bottom half of the enclosure for the SMA female port, and tightened the SMA connector down with a nut. In the future we'll be upgrading this to a long barrel style SMA female connector, as a regular SMA female connector is a bit short. Then a short well shielded SS405 coax cable was used to connect to the RTL-SDR dongle.
ProTip: Do take care to remember to remove the SD card when disassembling the RasPad! If you don't you'll end up with the SDcard slot getting ripped from it's ground traces. This happened to us, but we were able to easily solder it back on. There is a sticker on the backside of the enclosure warning about this.
Software & Testing
SunFounder provide a custom Raspbian distribution designed specially for the RasPad. However, we decided to instead install the DragonOS Pi64 Distro which is an Ubuntu distribution for the Raspberry Pi 4B that has many built in SDR programs. We burnt the image to a SD card, inserted it on the side, plugged the Raspad in to the power connector, and held the power button down for a few seconds to turn it on. Despite a few initial error messages saying it cannot enable the USB ports, everything eventually booted just fine.
We then plugged in a cable going to one of our multipurpose dipole antennas mounted just outside the office window, and tested both SDR++ and GQRX. In both cases we were immediately able to connect to the RTL-SDR and receive signals with signal strength equivalent to that received by our desktop PC, indicating that LCD interference was not a problem.
The resolution of the screen is high enough and images and text are clear. The screen is also decently bright, and brightness can be adjusted using the buttons on the side.
DragonOS Tablet Compatibility Issues & Fixes
As DragonOS is not designed for a tablet setup, there were a few bugs. It should be noted however that these issues are not a reflection on the Raspad hardware, as obviously the official Raspad OS will not have these issues as it's designed specifically for tablet use.
We initially had no sound in SDR++ from the built in speakers. After some troubleshooting we managed to get sound by disabling the headphone jack in the audio mixer settings, which appears to be the default output in DragonOS. To do this, click on the speaker icon on the bottom right task bar and click on Mixer. Then go to the Configuration tab and uncheck the second Built-in Audio entry. Close it, and open SDR++.
In DragonOS the touch screen works fine, although it is difficult to click on small buttons. There is no onscreen keyboard available by default. We couldn't find a way to enable a tablet mode in DragonOS, so instead opted to install an onscreen keyboard called 'onboard' via 'sudo apt install onboard'. The accelerometer is also not enabled in DragonOS. We did not attempt to fix this as we have no need for screen rotation.
LCD screens are well known to be sources of RF interference, and putting an SDR in close proximity to one could result in the spectrum being very noisy. However, without an antenna connected we did not notice any interference across the spectrum from the LCD screen. It appears that the LCD RFI noise levels are not too bad, and the shielding on the RTL-SDR Blog V3 and the coax jumper cable is good enough to prevent any being received. When an antenna with a few meters of coax was connected (such as a magwhip or our portable dipole) we also didn't notice any LCD interference.
However, when a SMA telescopic antenna was connected directly to the SMA port we did start noticing the telltale spikes across the spectrum that are typically generated from LCD screens. If the magwhip or dipole was also moved within 2-3cm of the LCD screen, we also saw these interference spikes appear.
So it would be recommended to use a magwhip or dipole that has a coax run that can sit a few centimeters away from the screen. This limits the handheld ability of the RasPad a little, but you'd probably want a magwhip, dipole or other antenna over a directly connected telescopic whip for better reception anyway.
We tested a worst case scenario, with the RasPad running the RTL-SDR and SDR++ continuously at the brightest screen setting. With this test the battery lasted 2 hours and 10 minutes from a full charge. Presumably if the screen was dimmed and turned off for some periods of time, it would easily last 3-4 hours.
The total weight of the Raspad including our mods is just under 1 kg (2.2 lbs). About double the weight of a modern tablet, but still light enough to be easily carried.
The small 5V fan provided in the kit is unfortunately a bit noisy, and it's cooling ability is seems limited. We've seen these small fans on other Raspberry Pi cooling accessories and found that they are next to useless at cooling. It would be good to see a slightly larger and quieter fan, or perhaps a better passive cooling heatsink.
The power brick output is 15V, 2A. Ideally we would be able to charge the RasPad via a car/boat 12V connection as well. We're awaiting a response to see if this is possible. Update: Unfortunately 12V seems to be a no-go, quoting SunFounder "the 12v supply may cause the Raspad to fail to charge, as the minimum is 15v".
The RasPad 3.0 in our opinion overall a good product. It allows you to easily go portable with your Raspberry Pi 4. While it was designed for other projects, there was just enough hackability left in it for us to fit a RTL-SDR Blog V3 and antenna port into the enclosure, yielding us a clean and portable SDR solution.
With at least 2 hours of battery life when running an RTL-SDR and software, we can easily see this being taken out in the field for spectrum analysis, decoding with rtl_433, or for portable listening to the airband, trunking etc. However, some customization of DragonOS or the RaspadOS is going to be needed to get the most out of the touchscreen.
There are also alternative LCD screen products designed for the Raspberry Pi where you sit the Raspberry Pi on the back of the screen. But it's unclear if there would be enough space inside to fit an RTL-SDR, and not to mention the lack of a battery. We also previously reviewed the Elecrow CrowPi which is somewhat similar, but a lot more clunky if you're just after a pick up and go portable SDR tablet solution. There are also higher end higher priced laptop style enclosure products for the Pi, like the Pi-Top but we're unsure if they're likely to fit the RTL-SDR internally this easily.
Disclaimer: We do not receive any compensation for this review apart from a free Raspad 3.0.
We also recently came across this review from German YouTuber Manuel Lausmann who installed and ran SDR++ on the Raspad with an SDRplay RSP SDR.
Remote SDR V2 is software that allows you to easily remotely access either a PlutoSDR, HackRF or RTL-SDR software defined radio. It was originally designed to be used with the amateur radio QO-100 satellite, but version 2.0 includes multiple demodulation modes, NBFM/SSB transmission capability, CTCSS and DTMF encoders, modulation compression and a programmable frequency shift for relays.
Thank you to David for submitting news about his company Caribou Labs' new product called "CaribouLite" which will be a software defined radio HAT for the Raspberry Pi. The product is currently in the pre-launch stage over on Crowd Funding platform CrowdSupply and you can sign up for future updates on the release. David writes:
I'd like to inform you of a product we have developed called CaribouLite board, which is essentially a Raspberry Pi HAT that enabled up to 6GHz SDR capabilities Tx and Rx, and an additional TxRx Sub 1GHz channel.
It uses Microchip's modem AT86RF215 as an I/Q ADC, DAC and frequency conversion is done using Qorvo's RFFC5072 IC. An FPGA (ICE40) is used to stream data packets (I/Q @ 13 bit x2 / sample) back and forth between the Raspberry Pi and the Modem, over an interesting fast interface called SMI.
I think this project brings new ideas to the table and would be interesting to the SDR community.
The use of the SMI interface is an interesting idea and not something we see utilized often as apparently the official documentation is sparse and poor. But David notes how it allows for up to 500Mbit/s of data to be exchanged between the FPGA and Raspberry Pi, although the true throughput depends on the specific Raspberry Pi model used. Regardless the SMI data rate is more than enough for the 120 MBit/s required by the two streams of 13-bit IQ data that the CaribouLite generates.
The campaign also notes that the sample rate is 4 MSPS, with 4 MHz bandwidth, and up to 14 dBm of transmit power is possible. They also note that they are planning to release a wide range of library code that allows for use cases such as wide range spectrum analysis, a signal / protocol generator, an analog / digital DAB+ receiver, an ADS-B receiver and more.
J.-M Friedt has created a block for GNU Radio called gr-rpitx which allows a Raspberry Pi to be used directly as an output RF sink in GNU Radio. If you were unaware, RPiTX is software that allows you to turn your Raspberry Pi into a transmit capable SDR without any additional hardware apart from a wire antenna connected to a GPIO pin. It works by modulating a GPIO pin in a way to generate any arbitrary signal modulation. gr-rpitx allows this software to be used directly within GNU Radio.
In his presentation uploaded early for the upcoming online European GNU Radio Days conference, J.-M Friedt explains how gr-rpitx works, and shows how you can easily connect any flowgraph to the gr-rpitx output sink. His examples demonstrate retransmitting broadcast FM using an RTL-SDR, broadcasting digital signals like DRM, and how gr-rpitx and RTL-SDR could be used as part of a basic scalar network analyzer.
gr-rpitx uses the GPIO4 output of the Raspberry Pi to generate a radiofrequency stream fed by a GNU Radio signal processing flowchart with sample rates up to 400 kS/s.
European GNU Radio Days/SDRA presentation about gr-rpitx (J.-M Friedt)