Piraterf
PIrateRF transforms your Raspberry Pi Zero W into a portable RF signal generator that spawns its own WiFi hotspot. Control everything from FM broadcasts to digital modes through your browser - hack the airwaves from anywhere! ๐กโก
Install / Use
/learn @psyb0t/PiraterfREADME
๐ดโโ ๏ธ PIrateRF - Software-Defined Radio Transmission Platform

PIrateRF transforms your Raspberry Pi Zero W into a portable RF signal generator that spawns its own WiFi hotspot. Control everything from FM broadcasts to digital modes through your browser - hack the airwaves from anywhere! ๐กโก
๐ฌ Click here for PIrateRF Promo Video
๐บ Click here for PIrateRF Showcase Video
โ ๏ธ LEGAL NOTICE
PIrateRF is designed for amateur radio experimentation and education - including safe indoor testing without external antennas. Built for engineers who understand that good RF practices matter more than arbitrary administrative boundaries. Users are responsible for compliance with all local RF regulations and licensing requirements. I am not responsible for any of your stupid fuckin' decisions!
All demonstration images and testing in this documentation were performed indoors without an antenna, with a maximum range of approximately 5 meters.
๐ Table of Contents
- ๐ฏ 12 Different Transmission Modes
- ๐ Quick Setup Guide
- ๐ Pirate Crew Mode
- ๐ Antenna Setup
- ๐ก Transmission Modes Explained
- ๐พ Preset System
- ๐ ๏ธ Development Commands
- ๐ Project Structure
- ๐ดโโ ๏ธ Legal and Safety Notice
- ๐ก Standard Operating Frequencies
- ๐ Core Dependencies
- ๐ License
- ๐ Changelog
- TODO
๐ฏ 12 Different Transmission Modes
- ๐ต FM Station - Full FM broadcasting with RDS metadata, playlists, and audio processing
- ๐๏ธ Live Microphone Broadcast - Real-time microphone streaming with configurable modulation (AM/DSB/USB/LSB/FM/RAW)
- ๐ FT8 - Long-range digital mode for weak-signal communication on HF bands
- ๐ RTTY - Radio teletype using Baudot code and FSK modulation
- ๐ FSK - Frequency Shift Keying for digital data transmission
- ๐ฑ POCSAG - Digital pager messaging system
- ๐ป Morse Code - CW transmission with configurable WPM
- ๐๏ธ Carrier Wave - Simple carrier generation for testing
- ๐ Frequency Sweep - RF sweeps for antenna testing and analysis
- ๐บ SSTV - Slow Scan Television image transmission
- ๐จ Spectrum Paint - Convert images to RF spectrum art
- ๐ก IQ - Raw IQ sample replay for signal reproduction and testing
All controlled through a standalone WiFi access point - connect any device and start transmitting like the RF rebel you were meant to be! Perfect for international waters operations and regions with more... flexible spectrum policies.
๐ Quick Setup Guide
Prerequisites
- Raspberry Pi Zero 1 W (original model, recommended) with 4GB+ SD card
- Other Pi models: rpitx itself works on Pi 1, 2, 3, 3B+, Zero, Zero W, and Pi 4 โ but PIrateRF's deployment scripts, WiFi AP setup, cross-compilation, and pre-built image are all built specifically for the Pi Zero 1 W. Other boards may work with manual setup but are untested.
Option 1: Pre-Built Image (Recommended)
Skip all the build bullshit and get straight to RF chaos:
- Download the pre-built image: PIrateRF Image v2025-11-23
- Flash to SD card using:
- Raspberry Pi Imager (recommended): Select "Use custom image" and choose the downloaded
.imgfile - Command line:
sudo dd if=piraterf_2025-11-23_22-18-49.img of=/dev/sdX bs=4M status=progress(replace/dev/sdXwith your SD card)
- Raspberry Pi Imager (recommended): Select "Use custom image" and choose the downloaded
- Boot the Pi Zero W and connect to WiFi: "๐ดโโ ๏ธ๐ก" (password: "FUCKER!!!")
- Open browser:
https://piraterf.localand start transmitting immediately!
Default Settings:
- WiFi AP: SSID "๐ดโโ ๏ธ๐ก", Password "FUCKER!!!"
- SSH Access: User
fucker, PasswordFUCKER, Hostnamepiraterf.local - Web Interface: https://piraterf.local
Option 2: Manual Build Setup
๐จ IMPORTANT: Pi Zero Setup First!
Before you do ANYTHING else, get your fucking Pi Zero W connected and accessible via SSH. Follow this tutorial that actually works:
๐ Pi Zero W USB Connection Tutorial
This will get your Pi Zero connected via USB with SSH access so you can actually deploy PIrateRF to the little bastard.
๐ INTERNET SHARING REQUIRED: After USB connection is working, you MUST share internet from your computer to the Pi Zero. The setup scripts need to download packages and dependencies - no internet, no RF chaos.
Set up internet sharing on Ubuntu/Linux:
-
Set connection to shared: In Ubuntu Network Settings, find the USB connection (usually
usb0), click on it, go to IPv4 settings, and change the method from "Link-Local Only" to "Shared to other computers" -
Stop Docker services (they interfere with networking):
sudo systemctl stop docker.socket
sudo systemctl stop docker
- Restart NetworkManager:
sudo systemctl restart NetworkManager
- Configure iptables rules (replace
usb0andenp5s0with your actual interfaces):
sudo iptables -A FORWARD -i usb0 -o enp5s0 -j ACCEPT
sudo iptables -A FORWARD -i enp5s0 -o usb0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.42.0.0/24 -o enp5s0 -j MASQUERADE
- Test it: SSH into your Pi with
ssh fucker@piraterf.local(or whatever user@host.local you set up) and runping 8.8.8.8- if it works, you're ready to cause some RF mayhem!
Find your interfaces: Use ip link show to see usb0 (Pi connection) and your main internet interface.
1. Initial Setup
# Clone the repository
git clone https://github.com/psyb0t/piraterf.git
cd piraterf
# Configure your Pi settings
nano scripts/pi_config.sh
# Set: PI_USER, PI_HOST, PI_PASS, AP_SSID, AP_PASSWORD
Example configuration (modify to match your Pi setup):
PI_USER="fucker" # Pi username
PI_HOST="piraterf.local" # Pi hostname/IP
PI_PASS="FUCKER" # Pi password
AP_SSID="๐ดโโ ๏ธ๐ก" # WiFi AP name
AP_PASSWORD="FUCKER!!!" # WiFi AP password
AP_CHANNEL="7" # WiFi channel (1-14)
AP_COUNTRY="US" # Country code
2. Complete Pi Setup
# Run the full automated setup
make pi
This command will:
- Install rpitx and dependencies
- Configure WiFi access point
- Build and deploy PIrateRF
- Install systemd service
- Reboot into full pirate mode ๐ดโโ ๏ธ
3. Connect and Use
- Connect to WiFi: Your configured SSID (default: "๐ดโโ ๏ธ๐ก")
- Open browser:
https://piraterf.local - Select transmission mode and start broadcasting like a proper RF pirate!
๐ Pirate Crew Mode
Connect multiple devices to the PIrateRF access point and all access the web interface simultaneously! While only one transmission can run at a time (because GPIO doesn't fucking share), all connected devices see real-time transmission status, output logs, and can take turns controlling the RF transmissions. Perfect for fucking around with friends in a radio wave gangbang! ๐ก๐ฅ
Multi-Device Features:
- Shared Control: Any device can start/stop transmissions
- Live Status: All devices see real-time transmission progress
- Output Streaming: Live RF transmission logs visible to everyone
- Turn-Based Chaos: Pass control between devices for collaborative broadcasting
๐ Antenna Setup
Connect your antenna to GPIO 4 (Physical Pin 7) on the Pi Zero W:
- No antenna: Extremely weak signal contained within your home - perfect for safe chaos without pissing off the neighbors
- Short wire (10-20cm): Minimal range for indoor experimentation
- Wire antenna (75cm): Longer range but square wave harmonics travel farther than intended - keep this shit indoors
- Low-pass filter + antenna: For proper outdoor transmission (get your fucking license first)
- Low-pass filter + amplifier + antenna: Fo
