A free swept spectrum analyzer for Pluto-style AD936x SDRs, with an instrument-style front panel. HackRF One is supported too.

Screenshots

sweepsa

How it works

The AD936x has a built-in fastlock feature: it can store synthesizer profiles and recall one almost instantly, without a full LO retune. The chip only has 8 profile slots, so SweepSA runs a sliding window over them. While the radio dwells on one segment, the profile for a segment a couple of steps ahead is loaded into a free slot, so a span of any width can be hopped through.

The hop, capture, FFT and detection all run on the board’s own ARM CPU (sweepd). Only the reduced spectrum is sent to the desktop app (sweepui). That avoids the USB or network round trip on every hop, which is what makes host-driven sweeps on these boards slow.

Sweep speed

Measured on an AntSDR E310 and a LibreSDR:

SpanSweep time
70 MHz – 6 GHz~500–800 ms
A few hundred MHz~10–60 ms

For comparison, a HackRF One in SweepSA takes ~730 ms for the full span, so the two land in the same range there. On AD936x boards, fastlock gives you a fast, gapless sweep with 40–56 MHz of bandwidth per segment.

Features

  • 4 traces: clear/write, max hold, min hold, average
  • 8 markers: normal and delta, peak search, next peak, marker to center / ref level, noise marker
  • Detectors: peak, negative peak, sample, RMS
  • RBW derived from the actual FFT size and window, with the achieved value shown
  • Waterfall
  • Zero span with free run and video trigger
  • Export: trace CSV, screenshot PNG, instrument state JSON
  • Built-in synthetic source, so you can try it without a radio

Honest about its limits

SweepSA is not a calibrated instrument, and it doesn’t pretend to be one:

  • Levels are in dBFS, and an UNCAL badge stays lit until you load an amplitude correction file
  • Image check: re-sweeps with the LO offset inverted and flags responses that move
  • Segment boundary overlay, so stitching artifacts can be identified
  • Probability-of-intercept readout: shows the revisit interval and which short signals a fast sweep may miss

Supported hardware and platforms

ItemValue
AD936x boardsPluto-style firmware on a Zynq ARM (tested: AntSDR E310, LibreSDR)
HackRF OneOver USB, using its firmware sweep mode
DesktopWindows x86_64, Linux x86_64, macOS arm64

License

Free to use and to redistribute unmodified. Closed source for now; I plan to publish the source later. Third-party libraries keep their own licenses, and an LGPL relink kit for sweepd is attached to every release.

Get

Download Link

Business Contact: [email protected]