NEW PRODUCT : Digital Radio for Raspberry Pi

Turn your Raspberry Pi into a real AM / FM / DAB / DAB+ / HD Radio receiver

A complete Raspberry Pi radio shield with local Web UI, CLI control, built-in 1 x 5 W amplifier, headphone output, analog audio output, and I2S digital audio for recording or processing.

Listen to real broadcast radio locally — no internet required for reception.

Why this product matters

The Raspiaudio Digital Radio Shield brings real broadcast radio reception directly to Raspberry Pi boards with a standard 40-pin header. It supports AM, FM, DAB, DAB+, and HD Radio, and can be controlled from a local web interface, from the command line, or directly from the onboard navigation button.

It is designed for both product integration and prototyping: standalone radio devices, embedded audio systems, custom radio software, kiosks, museums, and local radio applications that do not depend on cloud services.

What you can do

  • Receive AM, FM, DAB, DAB+, and HD Radio
  • Control the radio from any browser on your local network
  • Use the CLI for automation or software integration
  • Output audio through headphone jack, analog output, or external passive speaker
  • Use the built-in 1 x 5 W amplifier for standalone projects
  • Record or process digital audio through I2S
  • Build menu-based standalone interfaces with the onboard navigation control

Key features

Radio standards

AM, FM, DAB, DAB+, HD Radio FM, and HD Radio AM

Control options

Local Web UI, CLI control, and onboard 3-position navigation button

Audio output

Analog audio output, audio jack output, switchable onboard speaker output, and passive speaker connector

Audio processing

I2S digital audio path for recording or digital processing

Standalone-ready

Built-in 1 x 5 W amplifier and dedicated onboard navigation control

Open source software

Designed for developers who want to build their own radio applications

What’s included

  • 1 x Raspiaudio Digital Radio Shield
  • 1 x telescopic antenna
  • 1 x riser for mechanical compatibility with Raspberry Pi boards using a 40-pin header

What you need

  • A Raspberry Pi with a standard 40-pin header
  • A suitable power supply for your Raspberry Pi
  • Headphones or an external passive speaker, depending on your setup
  • For AM reception: an external AM loop antenna is recommended

Compatibility

Compatible with Raspberry Pi boards featuring the standard 40-pin header, including Raspberry Pi Zero, Raspberry Pi 4, Raspberry Pi 5, and other compatible Raspberry Pi models.

Use cases

  • Standalone radio products
  • Embedded radio and audio projects
  • Custom Raspberry Pi prototypes
  • Museum, kiosk, or retro-radio installations
  • Developer platform for custom radio software
  • Local radio applications that do not depend on cloud services

AM reception note

For AM reception, an external AM loop antenna is recommended. Reception quality depends strongly on antenna design, orientation, and local electrical noise.

Software

The product includes open-source software for both the local Web UI and CLI-based control.

Legal notice

HD Radio support is subject to licensing. It is the user’s responsibility to verify that they have the legal right to use this technology depending on country, market, and application.

This looks interestIng.

When receiving DAB or DAB+ is the whole multiplex available to software so that, for example, multiple stations can be played at the same time by different remotely connected sessions?

Hi Paul, no this is one tuner only so only one station can be played at the time.

FYI I have an old DAB USB device and it only has one “tuner” but it tunes to the DAB multiplex and then all

Of the stations of that multiplex become available at the same time.

Similar things are possible in the DVB-T world.

You are correct: with one tuner locked to a DAB multiplex, all services from that multiplex are present in the stream, so in theory software could decode several of them.

In this case, though, this product is intentionally designed as a straightforward radio receiver, not as an SDR tool or a multi-user streaming platform. The goal is immediate listening pleasure on a proper Hi-Fi setup, with good sound quality and a built-in amplifier.

So the device is meant to play one station at a time.

Understood - still looks good.

Does the FM-style telescopic antenna work well with DAB?

Yes, it is working well i get more than 60 dab station where I am in Paris Area, for optimal reception I deploy the antenna to 75% of its lenght.

Anybody installed this radio receiver on a Raspberry Pi 5 ?

The python3-rpi.gpio is not compatible with Raspberry Pi 5, and I have replaced it with python3-rpi-lgpio. The server is starting up, but there is no communication with the radio board, CTS timeout waiting for SI468x.

I have a fresh installation with the newest OS :

Linux piradio 6.18.29+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.18.29-1+rpt1 (2026-05-12) aarch64 GNU/Linux

wiringpi/now 3.18 arm64 [installed,local]

/boot/fimware/config.txt

dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on
dtoverlay=adau7002-simple,card-name=si4689_i2s
dtdebug=1

Let me try on Tuesday, it should be an easy fix

Hi,
Your error might not be related to gpios.
Please first enable SPI in Raspberry Pi configuration.

Run:

sudo raspi-config

Then go to:

Interface Options → SPI → Enable
Then reboot
After reboot, check that SPI is active:

ls /dev/spidev*

You should see:

/dev/spidev0.0
/dev/spidev0.1

The SI4689 radio chip is controlled over SPI, so if SPI is not enabled the server can start but communication with the radio board will fail with a CTS timeout.

Also note: the correct config path is /boot/firmware/config.txt, not /boot/fimware/config.txt.

Hello !

Thank you for his answer !

root@piradio:~# ls -l /dev/spidev*
crw-rw---- 1 root spi 153, 0 May 25 19:11 /dev/spidev0.0
crw-rw---- 1 root spi 153, 1 May 25 19:11 /dev/spidev0.1
crw-rw---- 1 root spi 153, 2 May 25 19:11 /dev/spidev10.0

I have several times used raspi-config to enable SPI, but today this must be the solution to my problem, because it is working now !

But I don’t get any audio in my web browser, if I record, then I get audio. “audio_out: both”.

Do I have to open a new windows in my browser and type in piradio.local:8686/audio/live.mp3 to get sound ?

In Norway and Scandinavia we have some special characters, they are not correct shown in my web brower. I have tried both “nb_NO ISO-8859-1” and “nb_NO.UTF-8 UTF-8” in my /etc/locale.gen

Could you also share a example for the file “raspiaudio-radio.service” ?

For recording and local streaming, you need to declare an I2S recording device. Please check the “I2S recording on Raspberry Pi” section in the documentation:

I will try to make a plug-and-play profile for recording, as it should make the installation process easier.

Regading the Norway special chars I will include it in next release

Stay tuned to this channel

Hello !

Scandinavian characters is now working. :slight_smile:

But I still don’t get any audio in my main window, I have to open a second window and type “http://piradio.local:8686/audio/live.mp3”, then I get audio.

I main window, I can record and play the recorded audio file.

Also would like to be able to do a single block scan on DAB and on FM listen/search for week stations manually.

Keep on with the good work !

it is not a bug, this is a feature :slight_smile: you are not supposed to have audio stream in the main windows but just to control the radio playing audio using the amplifier onboard speaker/ext speaker.

another way to control the station after a scan is done is to open the playlist
http://192.168.1.154:8686/playlists/dab.m3u
with VLC and click on the station of your choice, it will auto tune to it. see our git README on VLC section.