-
-
Notifications
You must be signed in to change notification settings - Fork 914
ProtoView

ProtoView is a raw signal visualizer that displays received OOK/ASK pulses as a waveform. It does not attempt to decode protocols — it shows the raw on/off timing of any signal, making it useful for inspecting unknown or custom transmissions that other decoders do not recognize.
- Frequency: The frequency to monitor. Adjustable via the encoder knob, on-screen numpad, or a saved freqman entry. Frequency step is 100 Hz.
- RF Amp (0 or 1): Enables/disables the internal RF amplifier.
- LNA gain (0–40): Low-noise amplifier gain. See Receive Quality Issues.
- VGA gain (0–62): Variable-gain amplifier gain. See Receive Quality Issues.
- RSSI: Signal strength indicator in the title bar.
- Volume: Audio output volume for monitoring the raw signal.
- Zoom: Sets the time scale of the waveform display. The value is the number of microseconds (µs) per display pixel. Available steps: 1, 2, 5, 15, 30, 50, 100, 200, 500, 1000. Lower values show finer detail over a shorter time window; higher values compress the signal to show longer bursts.
- Reset: Clears the signal buffer and restarts live capture. Also exits pause mode and resets the shift position.
- Pause / Resume: Freezes the display to inspect the captured waveform. When paused, the Shift field appears (see below). The button label changes to Resume while paused.
The signal is displayed as four stacked waveform rows, each rendered in yellow. Together they represent up to 600 display columns of pulse data. High signal (above threshold) is shown as a raised level; low signal as a flat baseline.
The display is derived from a buffer of up to 400 pulse-timing entries. Each entry stores the duration in microseconds of one continuous high or low state. The threshold between high and low is determined automatically by the baseband processor and adapts continuously to the received signal level.
Pulses longer than 30,000 µs are treated as gap/idle markers and are not rendered.
When paused, a Shift field appears between the Zoom control and the waveform. Turning the encoder knob while the Shift field is focused scrolls the waveform left or right through the captured buffer:
- Positive shift values move the display window to the right (skip earlier samples).
- Negative shift values insert blank padding on the left, moving the signal toward the right of the display.
The shift range is −400 to +400 samples. Use this to align specific pulses or transitions in the center of the screen for easier inspection.
The baseband processor samples at 4 MHz and decimates by 8, producing an effective analysis rate of 500 kHz. Signal presence is determined by comparing the instantaneous IQ magnitude against an adaptive threshold, which is recalculated every 90,000 samples and clamped to the range 50–1700. This allows the app to work across a wide range of signal strengths without manual squelch adjustment.
App settings (frequency, gain, zoom) are saved to rx_protoview.ini on the SD card when App Settings is enabled in the global Settings menu.
How to collaborate
Contributing Guidelines
Trusted contributors
How to ask questions correctly
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
-
Description of the hardware
- Enclosure/cases
- Repairs
- Mods
- 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
- 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
- 📥 Receivers
- 2-Tone-RX
- ACARS
- ADS-B
- AFSK
- AIS Boats
- Analog TV
- APRS RX
- Audio
- BLE RX
- Detector
- EPIRB RX
- ERT Meter
- Flex RX
- Radio
- Fox-Hunt
- FPV-Detect
- gfxEQ
- Level
- Meteor
- Morse RX
- NOAA
- NRF
- POCSAG
- ProtoView
- Radiosonde
- RTTY RX
- Scanner
- Search
- Signal Hunter
- SSTV RX
- SubCar
- SubGhzD
- Tetra RX
- Time Sink
- TPMS RX
- Weather
- WeFax
- VOR RX
- 📤 Transmitters
- 2-Tone-TX
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB TX
- Flex TX
- 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
- Security+ TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- VOR TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
▶️ Replay- 🖲️ Remote
- 🔍 Looking Glass
- 🛠️ Utilities
- 🎮 Games
- ⚙️ Settings
- 💻 HackRF Mode
-
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