Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
The UI
Replay transmits captured IQ files (.C16 or .C8) over the air. Files can be played individually or organized into a playlist (.PPL) for sequential playback with optional delays between entries.
Display
- Line 1: Name of the currently loaded capture file.
- Line 2: Frequency (editable) and sample rate of the current track. Two stacked progress bars on the right — the top shows position within the playlist, the bottom shows transmit progress of the current file.
- Line 3: Duration of the current track in seconds. TX gain (0–47), TX amp (0/14), Loop checkbox (default: on), and the play/stop button.
- Line 4: Current track number / total tracks (e.g.
1/2) on the left, current playlist filename on the right.
A live waterfall is displayed below the controls during transmission.
Controls
- ◄ / ►: Navigate to the previous or next track in the playlist.
- 📄 (Add file): Opens the file picker to select a
.C16or.C8capture file and append it to the end of the playlist. - 🗑 (Delete): Removes the currently selected track from the playlist.
- 📂 (Open): Opens the file picker to load a
.PPLplaylist file. This replaces the current playlist. - 💾 (Save): Saves the current playlist to the active
.PPLfile. - Loop (checkbox, default: on): When enabled, the playlist restarts from the beginning after the last track finishes.
- ▶ / ■: Start or stop playback.
The frequency field is editable per-track and is not saved to the playlist file.
Playing a Single File
When the app opens with an empty playlist, the Add file button is automatically focused. Press it, select a .C16 or .C8 file, and the play button receives focus immediately — allowing fast two-button playback.
You can also open a capture or playlist file directly from the File Manager app, which will launch Replay with that file pre-loaded.
Playlist Files
Playlist files use the extension .PPL and are stored in the PLAYLIST/ directory on the SD card. They are plain text, comma-delimited files.
Format:
ABSOLUTE_PATH_TO_FILE,DELAY_MS
# Comment lines starting with # are ignored
The delay (in milliseconds) is optional. If omitted, no pause is inserted between tracks.
Warning
The pre-delay is implemented as a blocking sleep on the UI thread. Setting a long delay will cause the device to appear frozen for that duration. There is no way to interrupt it other than resetting the device.
Example:
# Playlist file
/SAMPLES/TeslaChargePort_US.C16
/SAMPLES/TeslaChargePort_EU_AU.C16,100
This plays the US file, then pauses 100 ms, then plays the EU/AU file.
When a new capture file is added to an empty playlist, a new playlist file is created automatically with the name PLAY_XXXX.PPL in PLAYLIST/. The playlist is not saved to disk until you press the Save button.
Metadata fallback: If a capture file has no matching .TXT metadata file, the current transmit frequency and a sample rate of 500,000 Hz are assumed.
Settings Persistence
Settings are saved to tx_replay.ini.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Start here
Contributors
How to collaborate
Contributing Guidelines
How to ask questions correctly
Hardware
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
- Description of the hardware
- Enclosure/cases
- Repairs
- Mods
User manual
Intended use and Legality
- Usage cautions
- First steps
- Firmware update procedure
- User interface
- Powering the PortaPack
- Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- What if I don't like some of the apps
Applications
- 📥 Receivers
- 📤 Transmitters
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
- ▶️ Replay
- 🖲️ Remote
- 🔍 Looking Glass
- 🛠️ Utilities
- 🎮 Games
- ⚙️ Settings
- 💻 HackRF Mode
Misc
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi), or other weird distros
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.