Title: Capturing Signals Description: Record and decode SubGHz signals from remotes and transmitters URL: /v2.1/subghz/capturing/ Version: v2.1 Section: SubGHz Search index: /search-index.json # Capturing Signals > Record and decode SubGHz signals from remotes and transmitters ## On this page - [Before you start](#before-you-start) - [Capture modes](#capture-modes) - [Capturing a signal](#capturing-a-signal) - [On-device UI](#on-device-ui) - [Command line](#command-line) - [Protocol decoding](#protocol-decoding) - [File storage](#file-storage) - [Tips for successful captures](#tips-for-successful-captures) - [Notes](#notes) - [Troubleshooting](#troubleshooting) --- 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](/v2.1/subghz/hardware/)). - SD card: Inserted and mounted so GhostESP can save .sub files under /mnt/ghostesp/subghz/. - Frequency: Know or determine the target frequency using [Scanning](/v2.1/subghz/scanning/) or [Frequency Analyzer](/v2.1/subghz/freq-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 30+ protocols including: - Princeton - CAME - Nice Flo - PT2260/PT2262 - Chamberlain - Linear - KeeLoq - Dooya - Dickert MAHS - Nord ICE - And many more (see [Supported Protocols](/v2.1/subghz/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](/v2.1/subghz/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.