|
Soldering Iron Kit |
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
Software-defined radio (SDR) is a radio communication system where components that have traditionally been implemented in analog hardware (such as mixers, filters, amplifiers, modulators, and demodulators) are instead implemented by means of software on a computer or embedded system. The biggest advantage of SDR is its flexibility. Because the functions are handled by software, you can change the radio's behavior by simply updating the software.
This time I will present you a wonderful example of how to make such a receiver using Raspberry Pi Pico.
Even this receiver works completely independently without the use of a PC and all functions are controlled directly on it and displayed on a small OLED display. The original project is presented on the 101 things website and the author is Jon Dawson , so all credits go to him. Also there are many more exelent Raspberry Pi Pico projects on this site and I hope to test and promote some of them in the near future.
This project is sponsored by PCBWay. Visit the PCBWay website and save big, with a time-limited promotion on purple solder mask. From September 1st to September 30th you can get 10 pcs of 2-layer 100x100mm PCBs in purple for only $5. PCBWay has all the services you need to create your project at the best price.

The receiver consists of a minimal number of components, but its huge number of functions and possibilities for various settings can rival even expensive commercial devices of this kind.

I made complete device on a universal PCB, and as you can see, the layout of the components is almost identical to the breadboard version of the schematic presented on the source page. I made the complete project on PCB in less than a day and was positively surprised by the fact that the device worked immediately upon first powering on.
The basic components are clearly visible and they are:
- Raspberry Pi Pico module
- CBTLV3253 Multiplexer IC
- TL082 Dual Operational Amplifier IC (I use it instead of MCP 6022, and NE5532 can also be used)
- SSD1306 OLED Display
- and rotary Encoder and two buttons

I made complete device on a universal PCB, and as you can see, the layout of the components is almost identical to the breadboard version of the schematic presented on the source page. I made the complete project on PCB in less than a day and was positively surprised by the fact that the device worked immediately upon first powering on.
The basic components are clearly visible and they are:
- Raspberry Pi Pico module
- CBTLV3253 Multiplexer IC
- TL082 Dual Operational Amplifier IC (I use it instead of MCP 6022, and NE5532 can also be used)
- SSD1306 OLED Display
- and rotary Encoder and two buttons

With this, the installation of the code is complete.
Now comes the first power-up of the device and a short test. I connected the audio output from the receiver to the "Line In" input of the PC sound card. For now, I connect a simple "long wire" antenna and try to receive a Broadcast station to confirm the functionality.

This is what the finished Pico SDR Receiver looks like placed in a suitable housing with the Display and control buttons on the front panel and the power and antenna connection on the back.

If we look inside the box we will see that in addition to the universal PCB it also have a D-class Audio Amplifier module along with a small speaker so the SDR receiver is completely independent keeping in mind that instead of an external power supply we can install Lithium batteries with charger circuit.

Now I will just briefly "walk" through the menu to look at all the functions and possibilities. To explain all these functions individually would take us a really long time. At the end of this text is the original manual according to which you can study all the functions in more detail. For setting the options we have two buttons MENU and BACK plus Rotary encoder with built-in button.

When turning on the receiver, the display shows the information that has been saved since the last operation.
Even at the start, on this small display it has many useful functions:

- In the middle is shown the current tuning frequency with large numbers
- Then the demodulation mode, in this case AM
- Battery status
- Signal strength in dBm
- Signal strength in the form of a bar
- as well as the tuning step
By pressing the left button we move through several interesting display modes:

- Spectrum display
- Then spectrum plus waterfall
- then just waterfall
- data about the battery and resources of the microcontroller
- Next comes a beautiful Analog Signal Strength Meter
- Schematic of a simple detector receiver as a screensaver
- and finally we return to the home screen
With the Rotary encoder, we set the desired frequency with a tuning step that we can also adjust.

By pressing the rotary knob, we enter the menu where we can select the appropriate BAND, and by pressing it again, we activate the selected BAND.
With the right MENU button we enter the main menu where we can perform detailed settings of the received signal. With the rotary encoder we move through the menu and select the set value, and by pressing it again we confirm the selected value.

In the Menu we have the following options:
-Frequency
-Recall of stored data
- Frequency storage
- Volume value (0 to 9)
- MODE (AM, AM-Sync, LSB, USB, FM, and CW)
- AGC speed ()
- Bandwidth ()
- Squelch
- Auto NOTCH (On or OFF)
- DE-Emphasis
- IQ correction
- Band Strat and Band Sop for scan function
- Frequency setup
- CW Tone frequency
- And finally Hardware settings
We also have more additional functions and shortcuts by pressing the three buttons in combination.
While working on the project, to my great surprise I accidentally noticed that this small SDR radio even has the option of an additional larger color display that shows the spectrum with a waterfall. The code already supports this option and we just need to add the additional display to the menu. I am currently using the case with the display mounted from a previous project of mine, but it would be even better if both displays were mounted in a larger common case.

With this visual addition, this beautiful little radio becomes even more attractive. Below is the diagram for connecting the display, with a Raspberry Pi pico and I did it with a soft flat cable.

Now we need to enable second display in the Hardware menu, and set the rotation and colour.
Next I will demonstrate the reception of Broadcast stations and Amateur radio communications. As you can see, the reception is relatively poor. The reason for this is the fact that in this basic version the receiver does not contain any filter circuits at the input, and also does not have a Low Noise Amplifier that such devices usually have. Also, for the antenna I used a simple 5m wire placed on the roof of my house. In one case I used my antenna tuner and the reception was significantly better.

And finally, a short conclusion. I really have no words to describe this great project. I thank Jon Dawson for the hard work he put into it and I hope that in the future, with the support of the community, this project will develop even more. This project demonstrates the incredible potential of software-defined radio, transforming a few simple components into a powerful and flexible communication tool. I encourage you to build your own and explore the world of radio in a whole new way. It's truly remarkable to see how a simple Raspberry Pi Pico, with a bit of code, can unlock such a wide range of radio functions. I hope this video inspires you to get hands-on and join the ever-growing community of SDR enthusiasts.
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
- Comments(1)
- Likes(1)
-
Mr. Marsupial
Oct 28,2025
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Build simple Retro Style VFO (Variable frequency oscillator) with Crowoanel 1.28 inch Round Display
Today I received a shipment with a Small round LCD display from Elecrow. The device is packed in tw...
-
Human vs Robot – Rock Paper Scissors with MyCobot 280 M5Stack
Today I received a package containing the few Elephant Robotics products. The shipment is well pack...
-
How to Build a Simple Audio Spectrum Analyzer with Adjustable Settings
An audio spectrum analyzer is an electronic device or software tool that measures and visually disp...
-
How to Make a Digital Clock on a Vintage B&W TV using Arduino
These days I accidentally came across this small retro Black and White TV with a built-in Radio, so ...
-
Build a $10 Function Generator with Frequency Meter for Your Lab
A function generator is a piece of electronic test equipment used to generate various types of elec...
-
From Unboxing to Coding - Radar Clock on Elecrow’s 2.1 HMI Display
Today I received a shipment with a large round LCD display from Elecrow. The device is packed in two...
-
Making a Retro Analog NTP Clock with Unihiker K10 - Arduino IDE Tutorial
Some time ago I presented you a way to use standard Arduino libraries on the Unihiker k10 developme...
-
Build a Cheap & Easy HF Preselector - Antenna Tuner
HF antenna preselector is an electronic device connected between an HF radio antenna, and a radio r...
-
DIY Static Charge Monitor - Electrostatic Field Detector (Arduino & TL071)
A Static Charge Monitor also known as a Static Field Meter or Electrostatic Voltmeter is a device u...
-
XHDATA D-219 Radio Short Review with complete disassembly
Some time ago I received an offer from XHDATA to be one of the first test users of their new radio m...
-
How to make Simplest ever Oscilloscope Clock
An oscilloscope clock is a unique and creative way to display the time using an oscilloscope, which...
-
DIY Digital Barograph with BME280 and ESP32 - 24 Hour Pressure Trends
A barograph is a self-recording barometer that continuously measures and records atmospheric pressu...
-
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
Software-defined radio (SDR) is a radio communication system where components that have traditional...
-
DIY Magnet Polarity Detector - How to Identify Poles with a Hall Sensor from a PC Fan
Recently, while working on a project, I needed to determine the polarity of several permanent magne...
-
Light Meter Project - Making Dfrobot Unihiker K10 Work with Standard Arduino Libraries
The other day I received a shipment with a UNIHIKER K10 development board from DFRobot, which I rec...
-
DIY Simple Arduino Whack-a-Mole Game
A "Whack-a-Mole" game is a classic arcade-style game where moles pop up randomly from holes, and th...
-
Wireless Power Transmission, Long-Distance and High-Efficiency with Class-E Tesla Coil
Wireless energy transfer also known as wireless power transmission is a method of getting useful el...
-
-
AEL-2011 Power Supply Module
322 0 1 -
AEL-2011 50W Power Amplifier
296 0 1 -
-
-
Custom Mechanical Keyboard
565 0 0 -
Tester for Touch Screen Digitizer without using microcontroller
230 2 2 -
Audio reactive glow LED wristband/bracelet with NFC / RFID-Tags
237 0 1 -
-
-







