HackRF One · Volume 2

HackRF One Volume 2 — The RF Chain & the Revision Matrix (r1 → r10, plus HackRF Pro)

A schematic-grade walk of the analogue path, with every PCB-revision delta and the upgrade decision tree

Contents

SectionTopic
1About this Volume
2The Block Diagram
3The Antenna Port and the Bias-T
· 3.1The bias-T
· 3.2Bias-T command reference
4The RF Switches — SKY13350 vs SKY13453
· · 4.1What the switch does
· · 4.2SKY13350 vs SKY13453
5The Front-End Filters (RX side)
6The LNA — MGA-81563
7The Mixer — Qorvo RFFC5072
8The Transceiver — MAX2837 (and MAX2839 on r9 only)
· 8.1What the MAX2839 substitution changed (r9 only)
· 8.2The HackRF Pro’s MAX2831
9The ADC/DAC — Maxim MAX5864
10The Revision Matrix in Detail
· 10.1r1 – r4 (2014–2020) — the original
· 10.2r5 — experimental, not manufactured
· 10.3r6 (2020) — switch change + revision-strap pins
· 10.4r7 (2021) — switch reverted, USB tweaks
· 10.5r8 (2021–2022) — switch change, again
· 10.6r9 (2023) — the chip-shortage rev
· 10.7r10 (2024+) — revert to baseline + keep the diode
· 10.8The “should I upgrade r4 → r10?” decision
11The HackRF Pro vs HackRF One — a Per-Stage Comparison
12The Upgrade Decision Tree
13Bench-Test Procedure (genuineness + revision sanity)
14Cheatsheet Updates from this Volume
15Resources

1. About this Volume

This volume walks the analogue half of a HackRF One — from the SMA connector at the right edge of the board, through the RF switches, the LNA / PA stage, the RFFC5072 mixer, the MAX2837 IF/baseband transceiver, and into the MAX5864 dual ADC/DAC. It is structured as a signal-flow tour following the path of a received photon from antenna to digital sample, then in reverse for the transmit case.

After the schematic walk, §10 covers what changed at every PCB revision (r1 → r10), and §11 puts the HackRF Pro side-by-side with the One on a per-stage basis. §12 closes with a defensible upgrade decision tree.

The digital half — LPC4320, CPLD, SGPIO, USB, clocking — is in Vol 3. The firmware that drives both halves is in Vol 4. This volume assumes you are reading with the HackRF schematic open in another window (it is at https://github.com/greatscottgadgets/hackrf/tree/master/hardware/hackrf-onehackrf_one_v6_schematic.pdf matches r6 onwards; hackrf_one_schematic.pdf matches r1–r4).

2. The Block Diagram

A canonical HackRF One r1–r8 (and r10) signal chain looks like this, omitting the digital domain:

       ┌─────── SMA antenna port ─────────┐
       │                                  │
       │  bias-T (3.3 V or 5 V)           │   ← r9/r10 add a series diode here
       │                                  │
       ▼                                  │
   SKY13350/13453 ──── transmit/receive ─┘
   RF switch          ─── path select

       ├─── RX path ──► MGA-81563 LNA (HackRF Pro path differs) ──► band-select ──► RFFC5072 mixer ──► MAX2837 IF/BB transceiver ──► MAX5864 dual ADC
       │                                                                                                              │
       │                                                                                                              ▼
       │                                                                                                  to CPLD/SGPIO/LPC4320

       └─── TX path ◄── MAX2837 IF/BB transceiver ◄── RFFC5072 mixer ◄── PA driver chain ◄── ───────  ◄── MAX5864 dual DAC


                                                                                                            from CPLD/SGPIO/LPC4320

                       Si5351C clock generator ──► RFFC5072 reference, MAX5864 sample clock, LPC4320 clock
                       25 MHz crystal ──► Si5351C PLL reference

(The ASCII representation above sketches the topology. A hand-authored SVG block diagram lives at figs/hackrf_one_block.svg and is rendered inline in the HTML build.)

The most consequential things about this topology:

  • One analogue chain, multiplexed in time — the SKY13350 (or SKY13453, depending on revision) is a single SP4T switch that routes the antenna port to either the RX LNA, the TX PA driver, or one of two intermediate paths. There is no second receiver; the device is fundamentally half-duplex.
  • The mixer is between the antenna and the transceiver — the RFFC5072 does coarse frequency translation (heterodyne the signal of interest down to roughly 2.4 GHz), then the MAX2837 does fine demodulation in its 2.3–2.7 GHz IF window. This dual-conversion architecture is what gives the HackRF its 1 MHz – 6 GHz tuning range with only two analogue PLLs.
  • The ADC/DAC is a single dual-channel Maxim MAX5864 at up to 22 MS/s — though the HackRF firmware caps usable rates at 20 MS/s for stability headroom. 8-bit resolution is the dynamic-range bottleneck.
  • One reference oscillator in the whole device — a 25 MHz crystal feeds the Si5351C, which then generates everything else. There is no TCXO, no GPSDO unless one is wired into the front-panel CLKIN. The HackRF Pro fixes this; see §11.

3. The Antenna Port and the Bias-T

The board’s RF input is a single SMA female connector on the right edge. SMA is a 50 Ω 18-GHz-rated connector — overkill for a 6 GHz design, but cheap and ubiquitous. There is no second port: the same connector is used for both RX and TX, multiplexed by the SKY switch (§4).

3.1 The bias-T

Pin 1 of the SMA carries both RF and, optionally, DC bias for an external active antenna or LNA. The bias-T injection is a simple inductor + capacitor network on the board (L36 + C159 in the r6 schematic). Bias voltage is selectable by the firmware between 3.3 V and 5 V, with current-limit circuitry that protects against shorted feeds.

In r9 and r10 there is a series diode on the bias-T’s DC feed. The reason: an external active antenna with a stiff DC short or a wired short during connector mating could backfeed current into the HackRF’s 3.3 V rail, occasionally damaging the regulator. The diode (a Schottky in series) stops backflow at the cost of a ~0.3 V drop on the bias rail. If you intend to feed an active antenna, the r9/r10 boards are mildly safer; on r1–r8 (your r4) the discipline is to confirm continuity with a multimeter before mating the SMA.

3.2 Bias-T command reference

From the host, the bias-T is enabled per-direction (RX or TX) via:

hackrf_transfer -r capture.cfile -f 433000000 -s 2000000 -p 1 ...
                                                  ^^^
                                                  enable bias-T (3.3 V on RX path)

Or via libhackrf’s hackrf_set_antenna_enable(). The firmware does not turn the bias on at boot — explicit enablement protects against accidentally feeding voltage into a passive antenna or a dummy load.

Vol 5 §4 covers hackrf_transfer flags in detail; Vol 8 §4 covers what a “needs bias” antenna actually wants to see.

4. The RF Switches — SKY13350 vs SKY13453

The single SP4T RF switch behind the SMA connector is the revision-most-touched part in the whole HackRF history. r1–r5 used SKY13350; r6 went to SKY13453; r7 reverted to SKY13350; r8 went back to SKY13453; r9 / r10 stay on SKY13453.

4.1 What the switch does

It selects, under firmware control, which of four paths the antenna port is wired to:

  1. RX path 1 — goes through a band-pass filter network and the MGA-81563 LNA, into the mixer.
  2. RX path 2 — alternate filtering for the high-band tuning case (above ~2.5 GHz), where the LNA is bypassed.
  3. TX path 1 — drives the antenna from the PA chain at low/mid bands.
  4. TX path 2 — drives the antenna from the PA chain at high bands.

The four paths exist because the HackRF One’s wide tuning range is achieved by switching front-end filters — the same design problem you have on any wideband receiver. See §5 for the filter banks.

4.2 SKY13350 vs SKY13453

ParameterSKY13350 (r1–r5, r7)SKY13453 (r6, r8, r9, r10)
VendorSkyworksSkyworks
TopologySP4TSP4T
Frequency range0.1 to 6 GHz0.1 to 6 GHz
Insertion loss (typ)0.5 dB @ 2 GHz0.4 dB @ 2 GHz
Isolation (typ)25 dB @ 2 GHz30 dB @ 2 GHz
Control4-line decoded2-line encoded + 1 enable
1-dB compression+33 dBm+33 dBm

The SKY13453 has simpler control logic (encoded path select instead of 1-of-4 decoded) and slightly better insertion loss + isolation. The SKY13453 was originally adopted in r6 to reduce GPIO consumption on the LPC4320; r7 reverted because of supply, r8 went back because supply recovered. The firmware handles both transparently — no behavioural difference is visible at the hackrf_transfer layer.

For your r4: this is a SKY13350. It is fine. Insertion loss of half a dB at the front of an 8-bit-ADC chain is unmeasurable in normal use.

5. The Front-End Filters (RX side)

Between the SKY switch and the LNA there is a filter bank that the firmware switches based on the requested centre frequency:

BandFilter typeCut-offs (approx)Used when tuning to
Sub-2.15 GHz LPFLow-passDC – 2.15 GHzAll tunings ≤ 2.15 GHz
Above-2.75 GHz HPFHigh-pass2.75 GHz – 6 GHzAll tunings ≥ 2.75 GHz
Mid-band bypassDirect (no filter)2.15 – 2.75 GHzBand where the IF window itself is the filter

The mid-band gap is interesting — the HackRF’s IF stage at the MAX2837 is centred at 2.4 GHz (because the MAX2837 is a 2.4 GHz transceiver), so any signal in the 2.15–2.75 GHz range is essentially in-band and does not need additional pre-selection. The mixer’s role at those frequencies is degenerate. The firmware handles this transparently — hackrf_transfer -f 2440000000 does the right thing without you having to think about it.

The filters are commodity LC ladders, not surface-acoustic-wave filters; the rejection is modest (≥30 dB out of band) and the insertion loss is about 1 dB. This is fine for a wideband instrument; it is not the right architecture for a serious receive radio. For weak-signal work below 1 GHz, pair the HackRF with a band-specific external front-end (Vol 8 §5).

6. The LNA — MGA-81563

The HackRF One’s RX path uses an Avago MGA-81563 as its first amplifier. This is a vintage GaAs MMIC — the same family of small-signal LNAs Avago/Broadcom produced for cable-TV head-end and 1990s satellite receivers.

ParameterMGA-81563 typicalComment
Frequency range0.1 – 6 GHzThe HackRF uses it across the full band
Gain (typ)~12 dB @ 2 GHzDrops to ~6 dB at 5.8 GHz
Noise figure~3.0 dB @ 2 GHz~3.5 dB at 5 GHz
1-dB compression+6 dBm outputModest — strong signals will saturate the LNA before the ADC
Supply5 V, ~30 mA

The HackRF uses the MGA-81563 in a switchable configuration — for high-band tunings (above ~2.5 GHz), where the LNA’s gain has dropped and its noise figure has risen, the firmware switches the LNA out of the path and feeds the mixer directly. This is cheaper than a band-specific LNA stack and is part of why HackRF performance falls off at the top of the band.

For weak-signal work above 1 GHz, adding an external LNA before the HackRF is one of the highest-leverage upgrades you can make. A Mini-Circuits ZRL-1150LN+ adds 30 dB of gain at <1.5 dB NF for $90; a NooElec SAWbird has band-specific filters built in for $40. Vol 8 §5 covers external-LNA pairing in detail.

7. The Mixer — Qorvo RFFC5072

The mixer / synthesizer between the LNA and the MAX2837 is a Qorvo RFFC5072^[Qorvo (formerly RFMD): https://www.qorvo.com/products/p/RFFC5072 — datasheet at https://www.alldatasheet.com/datasheet-pdf/pdf/545968/RFMD/RFFC5072.html.]. This is a single-chip integrated frequency conversion device: an LO synthesizer (fractional-N PLL + VCO) feeding an internal mixer, all in a 5×5 mm 32-pin QFN.

ParameterRFFC5072 specSignificance
LO range85 MHz – 4200 MHzUsed as part of HackRF’s 1 MHz – 6 GHz tuning
Mixer usable up to6 GHzThe HackRF’s nominal upper limit
Step size1.5 Hz typical (integer + frac-N)More than enough resolution
Phase noise (1 GHz LO)0.18° rmsAdequate for HackRF’s 8-bit resolution
Phase noise (3 GHz LO)0.50° rmsSame
Supply2.7 – 3.3 VStandard digital supply

The RFFC5072 is programmed over a 3-wire serial interface (clock + data + enable) directly from the LPC4320’s GPIOs. The firmware sets the LO synthesizer to translate the band of interest down to (or up from) the 2.4 GHz IF that the MAX2837 wants to see.

The dual-conversion design has the usual heterodyne-architecture characteristics: image rejection is the limiting factor. The HackRF does not do image-reject mixing in hardware — there is one mixer, not two, and the MAX2837’s complex (I/Q) baseband is what gives image rejection in the digital domain (Vol 6 §4 covers complex demodulation in GRC).

8. The Transceiver — MAX2837 (and MAX2839 on r9 only)

The MAX2837 is the single most important chip on the board. It is a complete 2.3 to 2.7 GHz transceiver in a single 7×7 mm 40-pin TQFN — it integrates RX baseband filters, RX gain control, the I/Q demodulator, the I/Q modulator, TX baseband filters, TX gain control, the synthesiser support, and the analogue I and Q outputs that go into the MAX5864.

Parameter (RX)MAX2837
Operating frequency2.3 – 2.7 GHz
Receive gain range0 – 102 dB in 2 dB steps (LNA + VGA + IF)
Receive baseband bandwidth1.75 / 2.5 / 3.5 / 5 / 5.5 / 6 / 7 / 8 / 9 / 10 / 12 / 14 / 15 / 20 / 24 / 28 MHz
Receive noise figure (typ)4 dB at minimum gain
Receive 1-dB compression-19 dBm input at max gain
Receive image rejection-40 dB typical
Parameter (TX)MAX2837
Transmit output-10 to +5 dBm (programmable)
Transmit baseband bandwidthSame selectable filter as RX
Transmit phase noise-100 dBc/Hz @ 100 kHz offset

The HackRF One sits the MAX2837 at a fixed centre frequency around 2.4 GHz and uses it as a fine-tune front-end — the RFFC5072 does coarse heterodyning, the MAX2837 does the I/Q demodulation. This is why the HackRF’s tuning is described as “1 MHz – 6 GHz” even though no chip on the board can intrinsically tune that whole range — it is the mixer + transceiver combination that achieves it.

The MAX2837 is programmed over SPI from the LPC4320. The firmware writes register values that select the RX baseband filter bandwidth, the gain stages, the LO frequency offset within the IF, and the I/Q balance trims.

8.1 What the MAX2839 substitution changed (r9 only)

In r9 (2023), the global semiconductor shortage forced GSG to substitute the MAX2839 for the MAX2837. The MAX2839 is almost pin-compatible — Maxim/Analog Devices designed it as a drop-in alternative for the MAX2837 — but a small number of register addresses moved, and the Si5351A clock generator (also part of the r9 substitution) needed extra clock distribution to feed the MAX2839 differently. This is why r9 has its own block diagram on the GSG docs^[https://hackrf.readthedocs.io/en/latest/hardware_components.html — separate r9 block diagram exists alongside the r1-r8 / r10 baseline.]: the firmware has to know whether it’s talking to a MAX2837 (r1–r8, r10) or a MAX2839 (r9 only), and the build sets the right register table at compile time.

The performance is not meaningfully different at the user level. Both transceivers achieve essentially the same NF, image rejection, and bandwidth. The MAX2837 was reverted in r10 because (a) supply recovered and (b) GSG preferred to keep the firmware path simple — one transceiver, one register table.

For your r4: this is a MAX2837. No special handling.

8.2 The HackRF Pro’s MAX2831

The HackRF Pro replaces the MAX2837 with a MAX2831 — a similar but 2.3 to 2.6 GHz transceiver from the same Maxim family^[https://www.analog.com/en/products/max2831.html. The MAX2831 datasheet covers both the MAX2831 and MAX2832 in one PDF: https://www.analog.com/media/en/technical-documentation/data-sheets/MAX2831-MAX2832.pdf.]. The MAX2831 is more recently spec’d, with somewhat better IIP3, flatter IF response, and tighter I/Q balance. Combined with the Pro’s iCE40 FPGA (which can implement higher-order digital correction), the Pro’s RX flatness is substantially better than the One’s across the full tuning range.

Vol 4 §10 covers Pro-specific firmware paths.

9. The ADC/DAC — Maxim MAX5864

The final analogue stage is the MAX5864 — a dual 8-bit ADC + dual 8-bit DAC in one package, capable of 22 MS/s on each channel, complementary CMOS interface to the CPLD.

ParameterMAX5864
ADC resolution8-bit (each channel — I and Q separately)
ADC sample rateup to 22 MS/s
ADC SNR (typ)47 dB at 22 MS/s
ADC SFDR (typ)60 dB
DAC resolution8-bit
DAC sample rateup to 22 MS/s
DAC settling time4 ns
Interfaceparallel CMOS, 8-bit per direction

The 8-bit resolution is the fundamental dynamic-range bottleneck of the HackRF One. Theoretical SNR is 6.02 × 8 + 1.76 ≈ 49.8 dB; real-world performance lands at ~48 dB on the bench. This means:

  • A signal at -20 dBm at the antenna and a signal at -68 dBm cannot be heard in the same capture without changing the gain settings — the second signal is below the noise floor.
  • Strong adjacent-channel signals desensitise the receiver. Tune to a quiet 433 MHz remote with a strong FM broadcast 100 MHz lower, and the FM broadcast eats your dynamic range even though it’s not in your bandwidth of interest.
  • Pre-filtering matters more than on a 12-bit SDR — band-pass filters before the HackRF (or active filters in the MAX2837’s selectable bandwidth) are how you keep the dynamic range working for you. Vol 8 §6 covers external filters.

The MAX5864 is the one part the HackRF Pro keeps unchanged from the One — the 8-bit ADC is still the sample stage. The Pro’s improvements are around it (better TCXO, better transceiver, better digital correction in the FPGA), not in it.

10. The Revision Matrix in Detail

This expands §4 of Vol 1 (this volume’s parent table) into per-revision detail. The lineage is:

r1 ─── r2 ─── r3 ─── r4 ───┐

                           r5 (experimental, not shipped)

                           r6 ─── r7 ─── r8 ─── r9 ─── r10

10.1 r1 – r4 (2014–2020) — the original

What’s in your H2R4. Identical hardware design across the four manufacturing runs; revision number was incremented to track the BOM as components went obsolete and were swapped silently during the manufacturing lifecycle (e.g. one capacitor model was replaced with an electrically equivalent part from a different vendor, rev was bumped to track which production batch the BOM-as-built corresponds to).

Components:

  • Switches: SKY13350
  • LNA: MGA-81563
  • Mixer: RFFC5072
  • Transceiver: MAX2837
  • ADC/DAC: MAX5864
  • Clock generator: Si5351C
  • Reference: 25 MHz crystal
  • MCU: LPC4320FBD144
  • CPLD: Xilinx CoolRunner-II XC2C64A
  • Flash: Winbond W25Q80BV (8 Mbit)
  • USB: micro-USB

10.2 r5 — experimental, not manufactured

Listed in the GSG docs for completeness. Whatever changes were prototyped in r5 went into the production r6 if they survived; r5 itself never shipped.

10.3 r6 (2020) — switch change + revision-strap pins

  • SKY13350 → SKY13453 (simpler control logic)
  • Hardware revision strap pins added — three strap-tied GPIOs on the LPC4320 are read at boot and reported through hackrf_info so firmware knows the rev. r1–r4 cannot self-report (the firmware reads the pins as floating); r6 onwards reports rev correctly.

10.4 r7 (2021) — switch reverted, USB tweaks

  • SKY13453 → SKY13350 (supply recovered)
  • USB VBUS detection resistor values updated — fixes a sporadic enumeration issue on certain hosts.

10.5 r8 (2021–2022) — switch change, again

  • SKY13350 → SKY13453 (supply went away again)

10.6 r9 (2023) — the chip-shortage rev

This is the revision most affected by the global semiconductor shortage. Three changes:

  • MAX2837 → MAX2839 (transceiver substitution)
  • Si5351C → Si5351A with additional clock distribution added to the board to compensate
  • Series diode added at antenna-port DC bias feed (safety improvement)

The MAX2839 substitution required firmware changes — the build now ships per-revision register tables. Performance is essentially unchanged; the change exists purely because GSG could not source MAX2837 in the volume needed, and Maxim had spec’d the MAX2839 as an intentional drop-in alternative.

10.7 r10 (2024+) — revert to baseline + keep the diode

The current shipping revision. Changes:

  • MAX2839 reverted to MAX2837 (supply recovered; GSG prefers single-transceiver firmware)
  • Si5351A reverted to Si5351C (supply recovered)
  • Diode kept at the antenna-port bias feed

This is, electrically, r8 + the bias-T diode. r10 is the closest current GSG part to your r4. The differences r4 → r10 are: SKY13453 instead of SKY13350 (no behavioural difference); revision strap pins (no behavioural difference at the user level — hackrf_info reports a rev now); diode at bias-T (matters only if you intend bias-T-fed active antennas).

10.8 The “should I upgrade r4 → r10?” decision

Reason to upgradeWorth it?
Bias-T safety (intend to use active antennas)Modest — the discipline of multimeter-checking the antenna before mating fully compensates
Newer silicon with better tolerancesNo — the silicon is the same
Firmware-reported revisionNo — hackrf_info reporting “r4” is fine; the device is r4
Manufacturing freshnessMarginal — modern boards may have better solder joints
Resale value preservedMaybe — r10 holds its value better

Recommendation: do not upgrade r4 → r10 absent a specific need. If the r4 dies or you want a second device for synchronised dual-receiver work, get an r10. Otherwise the r4 is the device. The much more interesting upgrade is to a HackRF Pro (next section) — but that is a different conversation.

11. The HackRF Pro vs HackRF One — a Per-Stage Comparison

This expands Vol 1 §5 into stage-by-stage detail.

StageHackRF One (r1-r8, r10)HackRF ProPractical effect
Antenna portSMA female, 50 Ω, 18 GHzSameNo change
Bias-T3.3 V / 5 V (diode on r9/r10)SameNo change
RF switchSKY13350 / SKY13453 SP4TSKY13453 SP4TSlight insertion-loss improvement on Pro
LNAMGA-81563 GaAs MMICNewer MMIC (datasheet TBD as of 2026-05)Better NF and gain flatness
Front-end filtersLC ladder bandsSame approach, finer band splitSlightly better out-of-band rejection
Mixer / synthesizerRFFC5072 (85 MHz – 4.2 GHz LO)Same (still RFFC5072)No change
TransceiverMAX2837 (or MAX2839 on r9)MAX2831 (newer, flatter, better IIP3)Better RX dynamic range; lower IM3
Lower frequency limit1 MHz100 kHz operating; 0 Hz tunableHF directly without upconverter
Reference25 MHz crystalTCXOSub-ppm stability
ADC/DACMAX5864 8-bit dualSame MAX5864 8-bitNo change at the sample stage
Sample rate (initial)20 MS/s20 MS/s, with planned wider modesFuture-proof software path
Glue logicXilinx CoolRunner-II XC2C64A CPLDLattice iCE40 UltraPlus FPGAHeadroom for digital correction modes
FlashWinbond W25Q80BV (8 Mbit)Winbond W25Q32 (32 Mbit)4× firmware budget; new feature space
USBmicro-USBUSB-CModern cable; faster charging supported
Half / full duplexHalfHalfNo change
MSRP~$300~$400$100 premium

The Pro’s design philosophy is conservative: keep the mixer-then-transceiver-then-MAX5864 architecture (it works), upgrade everything around it (better LNA, TCXO, flatter transceiver, FPGA instead of CPLD, more flash). This means existing software runs unchanged in legacy mode (Vol 1 §5; Vol 4 §10 covers the firmware-level details), and future firmware drops can layer in extended-precision modes that exploit the FPGA’s digital-correction headroom without breaking compatibility.

The 8-bit ADC is explicitly preserved — Mike Ossmann said publicly during the Pro launch that going to 12-bit would have meant a redesign of the entire pipeline (different ADC, different CPLD/FPGA, different USB throughput needs) and would have priced the Pro at $700+ rather than $400. The Pro is a “fix everything around the 8-bit ADC” device, not a “replace the 8-bit ADC” device. For 12-bit-class work, the right answer is a different SDR (Airspy HF+ Discovery, SDRplay RSPdx, or a USRP).

12. The Upgrade Decision Tree

Here is the synthesised decision tree:

Do you intend to do significant HF work below 1 MHz?

├── No → next question

└── Yes → Two paths:

    ├── Already have a Ham-It-Up upconverter? → Stay with the r4. The
    │   upconverter does the job for $50.

    └── No upconverter? → Buy the HackRF Pro ($400). Direct HF reception
        is significantly cleaner than upconverter-mediated, and the
        TCXO solves the related drift problem.

Do you make absolute-frequency claims regularly (RF compliance, GPS
disciplined references, ham-radio digital modes that need stable
carriers)?

├── No → next question

└── Yes → Two paths:

    ├── Have an external 10 MHz GPSDO already? → Stay with the r4 +
    │   GPSDO. The CLKIN port + Si5351C lock-up handles this well.

    └── No GPSDO? → HackRF Pro ($400) is cheaper and self-contained.

Has the r4 hardware degraded (front-end damage, dropped on the floor,
strange behaviour above 4 GHz that wasn't there before)?

├── No → next question

└── Yes → Buy an r10 ($300) for a like-for-like replacement, OR a Pro
    ($400) if any of the above questions also said yes.

Do you want a SECOND HackRF for synchronised dual-receiver work (TDOA,
direction finding, two-channel I/Q analysis)?

├── No → done; stay with the r4 + H2.

└── Yes → Buy an r10 ($300). Two HackRFs synchronise via a shared 10 MHz
    reference (Vol 5 §7 covers `hackrf_clock`). Buying a Pro for this
    case is overkill — you don't need two TCXOs, only one shared
    reference.

The PortaPack upgrade question is independent (Vol 9):

├── Is the H2's mirror-prone screen / phantom drain / lack of battery
│   info a daily friction? → Buy H4M ($+50–100), keep the HackRF One.

└── Otherwise → Stay with the H2.

13. Bench-Test Procedure (genuineness + revision sanity)

Before every serious project, a five-minute bench test confirms the unit is genuine, on the rev you think it is, and behaving on-spec:

# 1. USB enumeration
$ lsusb | grep -i hackrf
Bus 003 Device 005: ID 1d50:6089 OpenMoko, Inc. HackRF One

# 2. Firmware revision report
$ hackrf_info
hackrf_info version: 2026.01.1
libhackrf version: 0.9 (2026.01.1)
Found HackRF
Index: 0
Serial number: 0000000000000000457863c834a45c0f
Board ID Number: 2 (HackRF One)
Firmware Version: 2026.01.1
Part ID Number: 0xa000cb3c 0x004f4747
Hardware Revision: r4 (read from strap pins; for r1-r5 silkscreen is
authoritative)

# 3. Sweep test (confirms RX path, mixer, ADC working)
$ hackrf_sweep -f 80:1000 -w 100000 -n 8192 -a 1 -l 16 -g 20 -1 \
       > sweep_test.csv
# Look at sweep_test.csv with a plotting tool. Should show ~-95 dBm
# noise floor with FM broadcast peaks at 88-108 MHz at -50 to -30 dBm
# in any urban area.

# 4. Loopback test (confirms TX path, DAC, switching)
$ hackrf_transfer -t /dev/zero -f 433000000 -s 2000000 -x 0
# Wait 5 seconds, then Ctrl-C.
# A spectrum analyser (or a second SDR) shows a tone at 433 MHz on
# transmit. With nothing connected to the SMA, the TX power dissipates
# in the internal switch — fine for a quick sanity check.

# 5. Reference clock check (confirms Si5351C, oscillator)
$ hackrf_clock -i
# Reports the 10 MHz reference state. Should say "Internal" unless an
# external reference is attached.

If any of the five steps fails, see Vol 4 §8 (firmware troubleshooting) and Vol 5 §10 (CLI troubleshooting).

14. Cheatsheet Updates from this Volume

These items belong on the field card (Vol 12):

  • USB IDs: 1d50:6089 (HackRF One running), 1d50:6088 (DFU), 1d50:cc15 (rad1o badge variant)
  • Revision strap-pin readout: only valid on r6+
  • r9 is the only rev that runs MAX2839; everything else is MAX2837
  • Bias-T diode added on r9 and kept on r10
  • RFFC5072 LO range: 85 MHz – 4.2 GHz
  • MAX2837 IF: 2.3 – 2.7 GHz (HackRF One); MAX2831: 2.3 – 2.6 GHz (HackRF Pro)
  • 8-bit ADC theoretical SNR: ~50 dB
  • HackRF Pro lower frequency limit: 100 kHz operating, 0 Hz tunable

15. Resources

ResourceURL
HackRF schematics (current)https://github.com/greatscottgadgets/hackrf/tree/master/hardware/hackrf-one
Hardware components (GSG docs)https://hackrf.readthedocs.io/en/latest/hardware_components.html
Hardware revisions (GSG docs)https://hackrf.readthedocs.io/en/latest/list_of_hardware_revisions.html
MAX2837 datasheethttps://www.analog.com/media/en/technical-documentation/data-sheets/max2837.pdf
MAX2839 datasheethttps://www.analog.com/media/en/technical-documentation/data-sheets/max2839.pdf
MAX2831 datasheet (Pro)https://www.analog.com/media/en/technical-documentation/data-sheets/MAX2831-MAX2832.pdf
MAX5864 datasheethttps://www.analog.com/media/en/technical-documentation/data-sheets/MAX5864.pdf
RFFC5072 datasheethttps://www.alldatasheet.com/datasheet-pdf/pdf/545968/RFMD/RFFC5072.html
Si5351 datasheethttp://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351.pdf
Si5351 AN619 register maphttp://www.silabs.com/Support%20Documents/TechnicalDocs/AN619.pdf
HackRF Pro launch announcementhttps://greatscottgadgets.com/2025/06-26-meet-hackrf-pro/
Clone vs original comparison (RTL-SDR.com)https://www.rtl-sdr.com/comparing-a-hackrf-clone-against-the-original/
Clifford Heath modified HackRF (fork)https://github.com/cjheath/hackrf
Mayhem wiki — Clifford’s-version noteshttps://github.com/portapack-mayhem/mayhem-firmware/wiki/Clifford%27s-version
GSG synchronisation checklisthttps://hackrf.readthedocs.io/en/latest/synchronization_checklist.html
External clock interfacehttps://hackrf.readthedocs.io/en/latest/external_clock_interface.html