rpitx is a software-defined radio transmitter that runs on a Raspberry Pi, generating radio frequency signals from 5 KHz to 1500 MHz using only a GPIO pin. It functions as an analog and digital modulator, an RF signal generator, a radio protocol emulator, and a signal capture and replay system, all without requiring additional hardware.
The project achieves this by combining sample precomputation, direct memory-mapped GPIO toggling, and an interrupt-free timing loop to produce precise carrier frequencies and modulation patterns. It supports a wide range of modulation types including AM, FM, Single Side Band, and digital modes, and can emulate radio protocols such as pager messages, beacon signals, and Radio Data System text.
Beyond basic transmission, rpitx can record incoming RF signals and replay them, and it includes a transmodulation signal chain that demodulates a signal on one frequency and retransmits it on another with a different modulation type. It also supports slow scan television transmission and can generate patterns for spectrum analyzer art. The project is implemented in C and provides command-line tools for direct signal generation and transmission.