HackRF One · Volume 12

HackRF One Volume 12 — Cheatsheet (the Laminate-Ready Field Card)

One-pagers and decision flowcharts — the synthesis volume

Contents

SectionTopic
1About this Volume
2Page 1 — Identification & First-Bench Tests
·USB IDs
·First commands
·Hardware revision identifier (printed near MAX5864 / U18)
3Page 2 — hackrf_* CLI Quick Reference
·hackrf_transfer
·hackrf_sweep
·hackrf_info / hackrf_clock / hackrf_spiflash / hackrf_cpldjtag
4Page 3 — Frequency Reference
·Common bands (US)
·Modulation tells
5Page 4 — Antenna Quick Reference
·Field kit defaults
·Bias-T
·Quick LNA / filter calculus
6Page 5 — GNU Radio Companion Block Hotlist
·Standard FM-broadcast flowgraph
7Page 6 — Mayhem Quick Reference (PortaPack)
·Navigation
·Most-used apps
·settings.ini essentials
·Frequency Manager file (FREQMAN/freqman.ini)
8Page 7 — Legal Quick Reference
·Always legal
·Legal with license
·NEVER TX
·Bench discipline
9Page 8 — Troubleshooting Flowchart
10Cheatsheet Maintenance
11Resources (single-page summary)

1. About this Volume

The cheatsheet is the synthesis of every other volume — the bench card you keep next to the HackRF + PortaPack, laminated and abused, when memory of which gain stage does which thing and which hackrf_* flag means what fades. It is the only volume designed to be printed and physically deployed, not just read on screen.

Each section below is one printable page (target: ~8.5×5.5 inches when laminated, fits a standard A5 pouch). Print double-sided to halve the page count.

2. Page 1 — Identification & First-Bench Tests

USB IDs

StateVID:PID
HackRF One running1d50:6089
HackRF One DFU1d50:6088
Jawbreaker1d50:604b
rad1o (CCC badge)1d50:cc15

First commands

lsusb | grep -i hackrf      # confirm enumeration
hackrf_info                  # firmware, rev, serial
hackrf_sweep -f 80:1000 -1   # rough RX sanity check

Hardware revision identifier (printed near MAX5864 / U18)

RevYearsSwitchTransceiverClock genBias-T diode
r1–r42014–2020SKY13350MAX2837Si5351Cno
r62020SKY13453MAX2837Si5351Cno
r72021SKY13350MAX2837Si5351Cno
r82021–2022SKY13453MAX2837Si5351Cno
r92023SKY13453MAX2839Si5351A+yes
r102024+SKY13453MAX2837Si5351Cyes

3. Page 2 — hackrf_* CLI Quick Reference

hackrf_transfer

# RX: capture
hackrf_transfer -r FILE -f FREQ -s RATE -g VGA -l LNA -a AMP -p BIAS -n N

# TX: replay
hackrf_transfer -t FILE -f FREQ -s RATE -x TX_VGA
FlagMeaningRange
-rRX to fileint8 IQ interleaved
-tTX from filesame format
-fCentre freq Hz1e6–6e9
-sSample rateup to 20e6
-gRX VGA gain0–62 in 2 dB steps
-lRX LNA gain0–40 in 8 dB steps
-aRF amp on/off0 or 1
-pBias-T enable0 or 1
-xTX VGA gain0–47 in 1 dB steps
-nSample count0 = until Ctrl-C
-bBaseband filter1.75/2.5/3.5/5/5.5/6/7/8/9/10/12/14/15/20/24/28 MHz

hackrf_sweep

hackrf_sweep -f LO:HI -w BIN -n FFT -1 > sweep.csv

Output: date,time,hz_low,hz_high,bin_width,num_samples,bin0_db,bin1_db,...

hackrf_info / hackrf_clock / hackrf_spiflash / hackrf_cpldjtag

hackrf_info
hackrf_clock -i
hackrf_clock --set-input-source external
hackrf_spiflash -w firmware.bin     # routine update
hackrf_spiflash -R                   # reset to DFU
hackrf_cpldjtag -x default.xsvf     # CPLD reflash (rare)
dfu-util -i 0 -s 0x0000:leave -D firmware.bin  # DFU recovery

4. Page 3 — Frequency Reference

Common bands (US)

BandNotes
88–108 MHzFM broadcast (RX)
108–137 MHzAviation AM (RX only)
121.5 MHzAviation distress (RX only — never TX)
144–148 MHzAmateur 2-m (TX with license)
162.40–162.55 MHzNOAA weather (RX)
220–225 MHzAmateur 1.25-m (TX with license)
410–470 MHzAmateur 70-cm (TX with license at 420-450)
433.05–434.79 MHzISM (Part 15 TX OK at low power)
462.55–467.7125 MHzFRS (license-by-rule) / GMRS (license)
902–928 MHzISM (Part 15 TX OK)
1090 MHzADS-B (RX only — never TX)
1.5754 GHzGPS L1 (RX only — never TX, felony)
1900–1995 MHzCellular PCS (never TX)
2.4–2.4835 GHzISM / WiFi / BLE (TX OK with rules)
2.412/2.437/2.462 GHzWiFi channels 1/6/11
5.18–5.825 GHzUNII (WiFi; TX with rules)

Modulation tells

What you seeLikely modulation
Amplitude humps in waterfallOOK / ASK
Two-frequency hopsFSK / GFSK
Phase rotation (constellation)PSK / QAM
Chirps (frequency sweep)LoRa (CSS)
Many narrow channels, hoppingBluetooth Classic
Continuous wide channelOFDM (WiFi)

5. Page 4 — Antenna Quick Reference

Field kit defaults

AntennaRangeWhen
ANT50075 MHz – 1 GHzSub-1 GHz default
ANT700400 MHz – 7.2 GHz1+ GHz / 2.4 GHz / 5.x GHz
17.3 cm whip433 MHz onlyTuned single-band; outperforms wideband
Discone25 MHz – 1.3 GHzPermanent station
Yagiband-specificDirection finding, weak-signal pulls
Mag loopHF (< 30 MHz)Indoor HF reception

Bias-T

hackrf_transfer -p 1 enables bias on the SMA (3.3 V default; 5 V on some configurations). For NooElec SAWbird LNAs, this is the power source.

Quick LNA / filter calculus

Noise floor = -174 + 10 log10(BW Hz) + NF_dB
At 2 MHz BW + 5 dB NF: -106 dBm
With 2 dB NF (good LNA): -109 dBm
3 dB improvement = 2× receive distance

6. Page 5 — GNU Radio Companion Block Hotlist

BlockUse for
osmocom Source/SinkHackRF I/O
ThrottleCap rate when reading from a file
Low Pass Filter (FIR)Pre-decimation anti-alias
Decimating FIR FilterSample rate reduction
Polyphase Arbitrary ResamplerNon-integer rate change
WBFM ReceiveWide FM (broadcast)
NBFM ReceiveNarrow FM (voice)
AM DemodAmplitude modulation
Quadrature DemodFSK (output is real-valued frequency)
Costas Loop + Symbol SyncPSK demod chain
Frequency Sink (QT GUI)Real-time FFT
Waterfall Sink (QT GUI)Real-time spectrogram
Audio SinkSpeaker/headphone output
File SinkWrite samples to disk
Char to FloatConvert HackRF int8 IQ to GR float32

Standard FM-broadcast flowgraph

osmocom Source ──► Low Pass (cutoff 100k) ──► WBFM Receive ──► Audio Sink
   2e6 sr             2e6 sr                  quad=2e6           44.1k
   98e6 ctr                                   audio_dec=5

7. Page 6 — Mayhem Quick Reference (PortaPack)

ControlAction
5-way navMove highlight
Centre pressSelect
OPTIONSContext menu
BACKOne level up
MENUHome (long-press = power off)

Most-used apps

CategoryAppUse
RXAudioNFM/WFM/AM voice + audio out
RXCaptureIQ to SD card
RXSpectrum analyzerMini-hackrf_sweep UI
RXADSB1090 MHz aircraft positions
RXTPMSTire pressure monitor decode
RXReplayPlay back IQ from SD
TXEncoders TXGarage / sensor remote codes
TXAudio TXVoice TX (use only on licensed ham bands!)
UtilSettingsPPM offset, audio, theme
UtilNotepadBench notes on-device
UtilFile managerBrowse SD
DebugAboutFirmware version / git hash

settings.ini essentials

[mayhem]
ppm_offset = -3                  ; calibrated against known reference
audio_volume = 24                 ; 0..63
agc_enabled = 1
[clocks]
clkin_enabled = 0                 ; set 1 for external 10 MHz reference
[capture]
default_rate = 2000000
auto_filename = 1

Frequency Manager file (FREQMAN/freqman.ini)

f=433920000, n=Garage door, m=AM
f=144390000, n=APRS, m=NFM
f=121500000, n=Aviation distress, m=AM
f=2412000000, n=WiFi ch1, m=NFM

8. Page 7 — Legal Quick Reference

  • Receive anything in HackRF range (FCC Part 15.119)
  • Transmit on Part 15 ISM bands at low power (433.05-434.79, 902-928, 2.4-2.4835 GHz) following channel rules
  • Bench TX into 50 Ω dummy load (no radiation)
  • Faraday-tent TX for closed-loop testing
  • Ham bands (Technician → 2-m, 70-cm, etc.) — $35 license
  • GMRS — $35 / 10 yr / household
  • Marine VHF — license per vessel

NEVER TX

  • Cellular bands
  • GPS L1 / L2 (1.5754 / 1.2276 GHz)
  • Aviation transponder (1090 MHz)
  • Aviation voice (108–137 MHz, especially 121.5 distress)
  • Public safety (police, fire, EMS)
  • Marine VHF without vessel license
  • Government bands (NIST, military, federal use)

Bench discipline

  • Always have antenna or dummy load on SMA before TX
  • Power off before changing connectors
  • Document captures: YYYYMMDD_HHMMSS_<freq>_<rate>_<gain>_<desc>.cfile
  • Pin firmware versions for reproducibility

9. Page 8 — Troubleshooting Flowchart

USB plugged, no enumeration
    └── Try another cable / port → fix?
        └── No: hold DFU + replug; lsusb shows 1d50:6088?
            └── Yes: dfu-util -i 0 -s 0x0000:leave -D firmware.bin → fix?
            └── No: Hardware fault — open GitHub issue with hackrf_info output

USB enumerates, hackrf_info errors
    └── Linux: udev rules missing → install plugdev rules + relogin
    └── Windows: driver not WinUSB → Zadig replace driver
    └── Permission errors → group + udev as above

hackrf_info OK, hackrf_transfer no samples
    └── CPLD bitstream → hackrf_cpldjtag -x default.xsvf
    └── If still no: USB chain bottleneck → reduce sample rate or change USB hub

Frequency reads off by 20+ ppm
    └── Cold device → wait 30 min warm-up
    └── Or: feed 10 MHz GPSDO to CLKIN + hackrf_clock --set-input-source external
    └── Or: HackRF Pro upgrade

Strong signal in band masks weak signal of interest
    └── 8-bit ADC dynamic range exhausted
    └── Add band-pass filter before HackRF
    └── Reduce gain on strong signal direction (different antenna)
    └── Different SDR: 12-bit class (Airspy HF+ Discovery / SDRplay RSPdx)

Mayhem boots but USB host doesn't see it
    └── Mayhem replaces stock firmware; host won't see HackRF
    └── To use host tools: hackrf_spiflash -w hackrf_one_usb.bin
    └── To go back to Mayhem: hackrf_spiflash -w firmware.bin (Mayhem)

CPLD reflash done but still no samples
    └── Power-cycle (unplug + replug), not just reset
    └── If still not: more involved firmware diagnosis (Vol 4 §8)

10. Cheatsheet Maintenance

This volume is intentionally dense and revision-able. When something on the cheatsheet becomes outdated:

  1. Update the relevant volume’s “Cheatsheet Updates from this Volume” section (it’s the seed).
  2. Update the corresponding page in this volume.
  3. Re-render with python3 build/build_html.py --volume 12.
  4. Reprint and re-laminate.

The expected stale-fast items:

11. Resources (single-page summary)

ResourceURL
Official docshttps://hackrf.readthedocs.io/en/latest/
Firmware repohttps://github.com/greatscottgadgets/hackrf
Mayhem firmwarehttps://github.com/portapack-mayhem/mayhem-firmware
GNU Radiohttps://www.gnuradio.org/
Universal Radio Hackerhttps://github.com/jopohl/urh
FCC frequency allocationhttps://transition.fcc.gov/oet/spectrum/table/fcctable.pdf
ARRLhttp://www.arrl.org/
RTL-SDR.com (HackRF news)https://www.rtl-sdr.com/tag/hackrf/
PySDR (free book)https://pysdr.org/

End of Volume 12. The series is complete.

To continue learning: drop into the GSG Slack, the r/HackRF subreddit, or the Mayhem GitHub issues. The HackRF community is friendly.