element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum RPI Pico2 SDR - First Attempt
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 10 replies
  • Subscribers 680 subscribers
  • Views 319 views
  • Users 0 members are here
Related

RPI Pico2 SDR - First Attempt

scottiebabe
scottiebabe 7 days ago

Have been experimenting with implementing an SDR on a RPI Pico 2.

I put together a bare bones SDR for narrowband FM

image

Diagram created with https://app.diagrams.net/ Source: (remove the .txt extension)/cfs-file/__key/communityserver-discussions-components-files/91/pico2sdr.drawio.txt

The input is IF is oversampled, frequency translated to baseband, filtered, and then decimated by a factor of 3. A polar discriminator demodulates the narrow FM signal and is low-pass filtered and output to an I2S DAC.

As a first test I am applying a narrowband FM signal directly to the ADC input of the pico2

image

The I2S DAC I used has a class-d BTL output. I had to add an LC filter to the output for the scope to display the audio output and not the class-d pulse train.

A few different input signals and demodulated output shown on my o-scope

image

image

image

image

When the input is below 10 mVpp the SDR starts to struggle.

The output amplitude is a function of the frequency deviation, not the input amplitude. 

Pretty cool.

  • Sign in to reply
  • Cancel
  • gpolder
    gpolder 7 days ago

    Cool!, couple of years ago I didi this with a PSOC (https://www.agri-vision.nl/portal/projects/5-software-defined-radio-with-psoc) and somewhat later with a Teensy, for the latter I needed a codec to get the audio into the Teensy.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe 7 days ago in reply to gpolder

    That is awesome! Thank you for sharing, my google has struggled to turn up sdr projects. I will have to borrow some ideas. Neat that the psoc has hardware accelerated digital filters. On the Pico2 the floating point co-processor has a multiply accumulate instruction (VFMA) and a divide instruction, otherwise it would be a struggle 

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • dang74
    dang74 7 days ago

    Impressive.  Just so I am on the right track, the blocks depicted within the dotted lines and labeled "RPI Pico2 Software Defined" are all implemented as code being run on the Pico2?

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • robogary
    robogary 7 days ago

    nice

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz 7 days ago in reply to dang74

    I don't want to pre-empt the actual answer, but generally, yes : ) once it's been ADC'd, all the math can happen internally in code.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz 7 days ago in reply to scottiebabe

    A friend pointed me to this project recently:

    https://github.com/dawsonjon/PicoRX

    However there's no nice flow chart so it's not easy to follow (I didn't get time to peek at the source code yet).

    Hardware-wise it's very cut-down, they are trying to do everything in the Pico, whereas personally I would have used I2S DAC too, and maybe Si5351 or some other external freq synth.

    Looking at the schematic, they went with zero-IF it seems, since they generate IQ externally to the Pico. I didn't think that would work, but I guess the Pico ADC is fast enough to sample both close enough. I think they are using Pico and not Pico 2 so that must be impacting performance (just speculating, I have not tried that project). 

    For 90 deg oscillator output I don't know if say Si5351 can be programmed to do that, it would then be a useful freq synth for zero IF. For a PC-based SDR project I used D-type flip-flops to generate quadrature from a single clock, but that's limiting, since it won't operate at the high speeds for say 144MHz Rx. But personally I think low-IF is the way to go when there's only one ADC in the pico.

    image

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • dang74
    dang74 7 days ago in reply to shabaz

    Thanks shabaz  I was pretty sure that was the case... just needed assurance.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe 6 days ago

    Tuning to 462 MHz

    I tuned my LO such that my FRS radio was down converted to a low IF

    image

    I have a T5725 from years ago.

    Pressing the paging/call tone button

    Play this audio clip

    Unfortunately the local weather radio station officially went off the air April 1, otherwise I would tune to that.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe 6 days ago in reply to shabaz

    Thank you so much for the project link!

    I believe the author has shared some more details on their personal site

    https://101-things.readthedocs.io/en/latest/radio_receiver.html 

    I will definitely have to try it out once I find some low rdson quad switches 

    I wanted to avoid the complexities of IQ sampling so its easier to tune in VHF. There may be tuner ic's with IQ outputs. I am trying to just start simple.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • DAB
    DAB 6 days ago

    Very cool project.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube