Capturing Signals
Record and decode SubGHz signals from remotes and transmitters
Capture signals from remote controls, garage door openers, and other SubGHz devices. GhostESP automatically decodes supported protocols and saves signals for later replay.
Before you start
- Hardware: Board with CC1101 SubGHz support (see Hardware Support).
- SD card: Inserted and mounted so GhostESP can save
.subfiles under/mnt/ghostesp/subghz/. - Frequency: Know or determine the target frequency using Scanning or Frequency Analyzer.
Capture modes
GhostESP supports two capture modes:
- Normal capture - Attempts to decode the signal using supported protocols. Best for known remotes and standard devices.
- Raw capture - Records raw timing data without decoding. Use for unknown protocols or when normal capture fails.
Capturing a signal
On-device UI
- Open SubGHz โ Capture to start scanning on the current frequency.
- Press the button on your target remote while the scanner is running.
- When a signal is detected, GhostESP will attempt to decode it.
- Review the decoded information (protocol, bits, frequency) in the preview.
- Confirm to save the signal to the SD card.
Command line
# Start the scanner
subghz start
# Enable raw capture mode (optional)
subghz capture_on
# Disable raw capture (return to normal mode)
subghz capture_off
# Capture the current signal
subghz capture [name_hint]
# Save the captured signal
subghz save [name_hint]
Protocol decoding
GhostESP automatically attempts to decode captured signals using 20+ protocols including:
- Princeton
- CAME
- Nice Flo
- PT2260/PT2262
- Chamberlain
- Linear
- KeeLoq
- And many more (see Supported Protocols)
If the protocol is recognized, GhostESP displays:
- Protocol name
- Bit count
- Decoded code in hexadecimal
- Frequency
If decoding fails or the protocol is unknown, the signal is saved as raw timing data.
File storage
Captured signals are saved as .sub files in /mnt/ghostesp/subghz/ using the Flipper SubGhz Key File format. See Files for details on the file structure.
File names are auto-generated based on:
- Decoded protocol and code (if successful)
- Timestamp (if raw capture)
- Optional name hint provided during capture
Tips for successful captures
- Frequency matching: Ensure you’re scanning on the correct frequency band for your target device.
- Distance: Start with the remote within 1-2 meters of the device for best signal quality.
- Multiple presses: Some remotes use rolling codes; capture multiple presses to identify patterns.
- Interference: Avoid areas with strong RF interference (near other transmitters, power lines, etc.).
- Raw fallback: If normal capture consistently fails, try raw capture mode to record the signal timings.
Notes
- Captured signals are stored in Flipper-compatible format, allowing interchange with Flipper Zero devices.
- Rolling code protocols (like some KeeLoq implementations) may not replay successfully due to counter synchronization.
- Some devices require multiple button presses to transmit the full command sequence.
Troubleshooting
- No signal detected: Verify the frequency band, check antenna connection, and ensure the target device is transmitting.
- Decode fails: Try raw capture mode, or move closer to the target device to improve signal quality.
- Save fails: Check that the SD card is mounted and the
/mnt/ghostesp/subghz/directory exists. - Replay doesn’t work: Some protocols use rolling codes or require specific timing; raw capture may be necessary.
