PiccoloSDR: A Simple SDR From a Raspberry Pi Pico
The Raspberry Pi Pico is a $4 microcontroller board. Recently radio amateur Luigi Cruz discovered that the ADC on the Pico could be used as a simple direct sampling software defined radio, with a bandwidth of 250 kHz. The idea is that the ADC data is made available to a PC connected to it's USB port via emulated TCP/IP protocol. On the PC side, GNU Radio is then used to process the received ADC data, turning it into an SDR.
Applications of a direct sampling SDR with only 250 kHz are limited, as it's only possible to receive up to the LF band, and there are not many signals that low in frequency. However, it is an interesting project that can be used to demonstrate a simple SDR. If you're interested in trying it out, the code is available over on GitHub.
A whopping 500 ksps of pure Direct Sampling at 8-bits. Yes, you heard it right! Get your samples right away using TCP/IP over the Full Speed USB at up to 12 Mbps. Welcome to 2005!
— Luigi Cruz (@luigifcruz) March 11, 2021
I made a YouTube video demonstrating it working with GNU Radio. https://t.co/1wsx4GgcC3 pic.twitter.com/yom2XTO9IB
Or just combine with a simple mixer to get higher frequencies… though of course it is probably cheaper to use an rtl-sdr dongle by the time you factor that in.
This is basically a simpler, and much lower bit, alternative to using a soundcard, right?
I/Q Modulaor + I/Q Demodulator and a programmable-clock-gen for a local oscillator… I kinda laughed when the article said “…applications for 250kHz of bandwidth are limited…” Most radio channels below 500MHz are less than 25kHz bandwidth.
For RX only, yes an RTL-SDR is going to beat a RP2040 based I/Q SDR front-end because that’s basically what you’re getting in an RTL-SDR (I/Q demodulator, tightly coupled with a pair of ADCs, bypassing a broadcast TV decoder on its way to a USB interface). Adding TX, you’re probably going to beat the cheapest commerically avialable RX/TX SDR – cheapest I’ve found there is a QRP unit around $140USD.
Or a Tayloe mixer instead of analog one; do some DSP in the MCU (there’s more than enough processing power for this), and you basically get uSDX.
It could have applications for recording bats or if waterproofed dolphins by adding an electret microphone. An electret microphone may only be rated up to 20kHz or 40kHz, but since they are a capacitor with a built-in local amplifier they can usually operate much higher but maybe not quite as linear. I’ve used one up to 2MHz using an attenuator and a spyverter.