explaingit

f5oeo/rpitx

4,488CAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

rpitx turns a Raspberry Pi into a radio frequency transmitter using just a GPIO pin as an antenna, supporting modes from FM broadcast and amateur radio voice to SSTV image transmission across 5 kHz, 1500 MHz.

Mindmap

mindmap
  root((rpitx))
    What it does
      RF transmitter from Pi
      GPIO pin as antenna
      5 kHz to 1500 MHz
    Transmit Modes
      FM broadcast with RDS
      Single-sideband voice
      SSTV still images
      Pager and digital voice
    Receive Mode
      USB SDR dongle
      Record and replay
      Cross-mode relay
    Hardware Needs
      Wire antenna on GPIO4
      Band-pass filter recommended
      Most Pi models supported
    Audience
      Amateur radio hobbyists
      RF education
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Transmit FM radio with RDS song-title data from a Raspberry Pi for a personal low-power station at 434 MHz

USE CASE 2

Send slow-scan television (SSTV) still images over radio to other amateur radio operators

USE CASE 3

Record a radio signal with a USB SDR dongle and replay it on a different frequency for relay experiments

USE CASE 4

Explore amateur radio transmission modes like single-sideband voice, pager signals, and digital voice without buying dedicated radio hardware

Tech stack

CRaspberry PiGPIOSDR

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a physical Raspberry Pi and a short wire antenna on GPIO pin 4, a band-pass filter is strongly recommended to avoid interference.

GNU GPL, you can use, modify, and share this software freely as long as you release your changes under the same license.

In plain English

rpitx is a software tool that turns a Raspberry Pi into a general-purpose radio frequency transmitter. A Raspberry Pi is a small, inexpensive single-board computer. rpitx uses the GPIO pins on the board (the row of small electrical pins used to connect components) to emit radio signals, covering frequencies from 5 kilohertz up to 1500 megahertz. That range spans from very low frequencies up through UHF territory. The only hardware needed is a short wire connected to GPIO pin 4, which acts as an antenna. The README warns that a filter should be added to avoid causing interference with other devices, and it states clearly that the software is made for educational purposes only. The user is responsible for complying with local laws on radio transmission. Installation is a few commands on a Raspberry Pi: clone the repository, run the included install script, and reboot. Most Raspberry Pi models are supported, Pi 4 is noted as still in beta. An included demo menu called easytest lets you try different transmission modes at 434 MHz, a frequency band available for unlicensed use in many countries. The modes available include: a plain carrier wave, a chirp (a frequency that sweeps up and down), spectrum painting (drawing a picture visible on a radio waterfall display), FM broadcast with RDS (the same system FM radio stations use to show song titles), single-sideband audio (a voice mode used in amateur radio), slow-scan television (transmitting still images over radio), pager signals, digital voice, and a beacon mode. A second menu called rtlmenu adds receive capability when you plug in a cheap USB software-defined radio dongle. This lets you record a radio signal and replay it later, relay an FM station on a different frequency, or receive in one mode and retransmit in another. The project was created by an amateur radio operator (F5OEO is a French amateur callsign) and is intended as an educational platform for exploring radio systems.

Copy-paste prompts

Prompt 1
Using rpitx on a Raspberry Pi 3, show me how to broadcast an FM audio stream from an MP3 file at 434 MHz with RDS metadata showing the track title.
Prompt 2
How do I add a band-pass filter to the GPIO antenna output on rpitx to reduce harmonics and comply with RF regulations?
Prompt 3
Write a shell script that uses rpitx to transmit a SSTV image file on 14.230 MHz in Robot36 mode.
Prompt 4
How do I use the rtlmenu in rpitx to receive a signal on my RTL-SDR dongle and retransmit it on a different frequency?
Prompt 5
Show me how to install rpitx on a Raspberry Pi 4 and run the easytest demo to verify transmit capability at 434 MHz.
Open on GitHub → Explain another repo

← f5oeo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.