checking the microphone and webcam

How to make your own pirate radio station

Free radio

Another variation on the term pirate radio came about during the “Summer of Love” in San Francisco during the 1960s. These were “Free radio”, which usually referred to secret and unlicensed land-based transmissions. These were also tagged as being pirate radio transmissions. Free Radio was used only to refer to radio transmissions that were beyond government control, as was offshore radio in the UK and Europe.

The term free radio was adopted by the Free Radio Association of listeners who defended the rights of the offshore radio stations broadcasting from ships and marine structures off the coastline of the United Kingdom.

Félix Guattari points out:

Technological development, and in particular the miniaturization of transmitters and the fact that they can be put together by amateurs, ‘encounters’ a collective aspiration for some new means of expression.

— Félix Guattari[5]

In Europe, in addition to adopting the term free radio, supportive listeners of what had been called pirate radio adopted the term ‘offshore radio, which was usually the term used by the owners of the marine broadcasting stations.

More recently the term “free radio” implied that the broadcasts were commercial-free and the station was there only for the output, be it a type of music or spoken opinion. In this context, ‘pirate’ radio thus refers to stations that do advertise and plug various gigs and raves.

Running the installer

Just to reiterate, you’ll need an internet connection to run this installer. Pop the SD card into your Pi, make sure that the pHAT BEAT board is attached to your Pi (on its GPIO pins), and then plug in the power and boot up your Pi. Because you’re using Stretch Lite, your Pi will boot straight to a terminal, but don’t be scared!

You’ll need to connect to Wi-Fi. To do this, you need to edit a file called wpa_supplicant.conf. Type the following:

Use the arrow keys to move to the bottom of the file, and add the following, replacing the parts that say “YOURSSID” and “YOURPASSWORD” with the SSID and password for the Wi-Fi network to which you’d like to connect (make sure to keep the quotes; they’re important).

Once you’ve made those changes, press control and x, then y, and then enter to save and close the file.

Now, type sudo reboot and press enter to reboot. Your Pi should now be connected to Wi-Fi.

To run the installer, type the following:

The installer will prompt you several times, and you should type y for all of these, and the installer should also ask if you’d like to reboot once the installation is complete. If it doesn’t, then restart by typing sudo reboot again.


broadcast (currently Mac only)

  • set soundflower 2ch to default input and output (System Preferences.app)
  • run pirr -l <playlist path> -b
  • if you don’t want your system sounds dumping into the radio broadcast
    • set default sound input/output back to the built-in
  • navigate to http://localhost:8000/, or whichever host/port you configured in .service/icecast.xml


In any mode:

  • -s – shuffle a playlist. Used only with -l, and is forgotten upon subsequent calls with -l, unless -s is included again.

  • -l <playlist> – load a playlist. If a broadcast is active, the playlist is loaded in the broadcast.

  • -e [<preset or EQ>>] – set equalizer to a preset or literal value, in the same format as [mplayer’s equalizer audio filter]( FILTERS).


    • boom2:8:0:0:0:0:0:0:0:0 (boost the 31.25-62.5 Hz range, big buttery bass)
  • -f – force past warnings (e.g. quitting daemons)

Only when starting:

  • -b – broadcast to icecast on the port set in .service/icecast.xml
  • -S – make the broadcast sticky, so that it doesn’t die when mplayer stops; use with -b
  • -v – verbose output

Only while a broadcast is active:

  • -n – skip to the next track in the playlist
  • -p – skip to the previous track in the playlist
  • -a – appends the loading playlist to the one already playing; used with -l
  • -k – stop a broadcast
  • -q – quiet: suppress all output to stdout
  • -c – pass an input command to mplayer (e.g. pause or loadfile /home/me/music/lovely.mp3)
  • -x – apply an effect before (must be the first option) or after any other command.
    • fade – fade volume to a new value, e.g. -x "fade 5"
    • fadeout – fade volume to 0 over 1 second
    • fadein – fade volume to 25 (default starting volume) over 1 second
  • -y – pipe a spoken message into Soundflower, thus the broadcast (excludes all other options)
  • -V – select a voice to speak in with -y. Pass -V ? for a list of voices; used with -y
  • -t <1-9> – seek to a portion of the video
  • -i – show file information
  • -Y <YouTube URL> – download a video or playlist from YouTube, and create a new playlist -l.
  • -I – Interactive mode: use mplayer normally; still controllable by -x and -c later.

Adding your own stations

The list of stations is in a file in /home/pi/.config/vlc called playlist.m3u. You can edit it by typing sudo nano /home/pi/.config/vlc/playlist.m3u in a terminal, adding the URLs for the stations, one per line, and then pressing control and x, then y, then enter to save and exit. After rebooting (type sudo reboot) the new stations should be available.

There’s also an easier way to do this. Shut down your Pi (type sudo shutdown -h now in the terminal) and remove the micro SD card. Pop it into your desktop or laptop’s SD card slot, and it should mount the boot partition. You can now use your favourite text editor to add the URLs of the internet radio stations, one per line, saving the file with the filename playlist.m3u. When you put the SD card back into your Pi, our software will copy that file across to /home/pi/.config/vlc/playlist.m3u and the new stations that you added should be available.

You should be able to find URLs for streaming internet radio stations by Google-ing something like “internet radio stream URLs”.

featured paper

Sponsored by Texas Instruments

The integration evolution continues, from low-level mechanical integration to high-level electronic integration. System complexity will increase as the integration level increases. However, integrating powertrain end-equipment components enables you to achieve improved power density, increased reliability, optimized cost, and a simpler design and assembly, with the ability to standardize and modularize.

Click to read more


Once you remove the idea of pirate radio from its mythology, you realize that it exists largely for people who live in the margins. This special series of features and podcasts explores a complicated narrative of what illegal transmissions can do and who they reach.