Luigi Cruz Turns the Raspberry Pi Pico Into a Software-Defined Radio with the PiccoloSDR Project

Capable of 500ksps, the PicoSDR project takes the Raspberry Pi Pico into a new domain — and boasts GNU Radio compatibility, too.

Gareth Halfacree
3 months agoCommunication

Developer and radio amateur Luigi Cruz has turned his attention to the Raspberry Pi Pico microcontroller, turning it into a semi-functional — albeit modest — software defined radio (SDR): the PiccoloSDR.

Released earlier this year, the Raspberry Pi Pico was the first product to feature Raspberry Pi's in-house RP2040 microcontroller. With two Arm Cortex-M0+ cores running at 133MHz stock and with the ability to reach over 400MHz when overclocked it's fairly beefy, especially given the $4 retail price — but few expected it to be usable as a software defined radio (SDR).

The PicoSDR project turns a $4 Raspberry Pi Pico into a 500ksps software-defined radio, of sorts. (📹: Luigi Cruz)

"A whopping 500 ksps of pure Direct Sampling at 8-bits," Cruz wrote of his project. "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!"

"Yes, I've made this for fun. Don't get too excited. As I said, the RP2040 is very limited in terms of ADC speed and USB speed. This project is just a proof of concept with very limited use cases. But it works!"

While the performance may be lower than true SDR hardware, and a lack of any kind of amplifier prevents it from picking up all but the strongest wireless signals, the PiccoloSDR is functional: Cruz's code sends data from the ADC pins, sampled at 500 kilosamples per second (ksps), over the USB port via the RNDIS protocol. A custom block allows the PiccoloSDR to be then integrated into GNU Radio, or to any other software with RNDIS support.

The PiccoloSDR is far from Cruz's first experiment with putting SDR in in unusual places: Last month he released another proof-of-concept project dubbed CyberRadio Blast, offering an SDR console which runs entirely within the user's web browser via WebAssembly (Wasm) and WebUSB.

Cruz has not yet released the source code for the project, but is expected to write the PiccoloSDR up in more detail on his website soon.

UPDATE 2021-03-11:

This article has been updated to reflect a name change from PicoSDR to PiccoloSDR.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Related articles
Sponsored articles
Related articles