FM
Radio Transmitter with RPI Pico – 16/07/2025
I have
created an FM radio station with a Raspberry Pi Pico.
I first
flashed this .uf2 file to the Rpi Pico (hold BOOTSEL while plugging pico
into PC, then copy the .uf2 file onto the Pico).
The Pico
then reboots to the PC automatically as a sound card. When sound is played
through this output, it is actually transmitted over 87.9FM.
Note: by
default you will get a bad signal. To improve this, attach a wire to GPIO Pin
21. I simply taped a wire to it. The Pin numbers should be labelled on the back
of the pico.
I then made
a python script to be run on a Rpi 4 (running 32-bit
Raspberry Pi OS Lite), with a Rpi pico
connected. It plays the songs in the Music directory in a random order. Ensure
the songs are placed in a parent directory named “Music” from the python file.
The songs must also be in WAV format. See Mp3 to Wav converter
See python code
I made it
run on boot automatically with crontab (crontab -e) and adding the line at the
bottom of the file:
@reboot /usr/bin/python3
/home/USER/code.py |
Replace USER
with your actual user.
I’m using it
to play songs on my bike radio. It is connected to a 10,000 MaH
battery which should give 5+ hours of playtime.
The range is
by default not very far, however I noticed that by moving my finger closer to
the Rpi Pico the range gets better and there is an
increase in quality. It turns out that my body is actually becoming an antenna
for this!
To get good
quality while riding, I put the device in my pocket, with the Pico facing
towards my leg. This seems to work just fine even while riding at relatively
fast speeds.
!NOTE!
There are possible health risks to using your body as an antenna for this.
While the power is so low that it is extremely unlikely to cause any harm, do
this at your own risk!!!
One last
thing to note is that a Rpi Pico W may have
issues as the WiFi/BT chip may interfere with the FM
radio signals.
I hope you
enjoyed this project!