微信图片_20250625135844

Product Introduction

HackRF Pro is the core RF transceiver unit that performs the actual receiving and transmitting; PortaPack H4M Pro is the handheld touch panel that stacks on top of it and runs the open-source Mayhem firmware, turning the combination into a self-contained handheld software-defined radio that operates completely offline, without a computer.

Compared with the classic HackRF One, HackRF Pro upgrades the main MCU, replaces the CPLD with an iCE40 UltraPlus FPGA, quadruples the onboard flash, adds a built-in 25 MHz 0.5 ppm TCXO, extends the lower frequency limit down to 100 kHz, moves to a USB-C connector, and adds reinforced internal RF shielding together with enhanced antenna surge protection. The PortaPack H4M Pro side moves from a flat polymer cell to a standard 18650 cylindrical battery, repositions the speaker and the SD-card slot, and carries an anti-counterfeiting silkscreen pattern on the front PCB.

The unit ships pre-loaded with Pro_v2.4.0, a modified build of Mayhem v2.4.0. Users are free to update to official Mayhem releases, including nightly builds that carry the HackRF Pro adaptations.

Product Composition

Item

Role

Note

HackRF Pro r1.2.1

RF transceiver mainboard: RX/TX signal path, USB host interface, firmware storage

Supplied in the bundle

PortaPack H4M Pro

Handheld panel: 3.2-inch touch screen, encoder, audio, battery, microSD

Mayhem Signature Edition

18650 lithium cell

Power source for standalone handheld operation

Not included, purchased separately

Antenna

ANT500 telescopic or a band-specific antenna

Choose per target band

microSD card

Firmware resources, frequency libraries, IQ captures

Class10 / A1 recommended

HackRF Pro VS HackRF One

Hardware Item

HackRF One

HackRF Pro

Main MCU

LPC4320

LPC4330

Logic Chip

CoolRunner-II CPLD

iCE40 UltraPlus FPGA

Flash Memory

8M-bit (W25Q80BV)

32M-bit (W25Q32)

RF Transceiver

MAX2837 / MAX2839

MAX2831

ADC / DAC

MAX5864

MAX5865

Frequency Range

1 MHz – 6 GHz

100 kHz – 6 GHz

Onboard Clock

No built-in TCXO

Built-in 25 MHz 0.5 ppm TCXO

USB Interface

Micro-B USB 2.0

USB-C USB 2.0

RF Shielding

Basic

Reinforced internal RF shielding

Port Protection

Standard

Enhanced antenna surge protection

Firmware

Limited

Stronger expandability

The three items that matter most in daily use are the frequency floor, the clock and the flash size. The 100 kHz floor makes medium-wave AM and shortwave reception possible without an external upconverter. The 0.5 ppm TCXO removes the frequency drift that forces constant retuning on an untrimmed HackRF One, which is what makes narrow-band digital decoding such as POCSAG and ADS-B reliable. The 32M-bit flash is what allows the full Mayhem application set to be resident on the device.

PortaPack H4M Pro Hardware Updates

  1. The battery connector is changed from a 104050 polymer lithium-ion pack to a standard 18650 cylindrical cell, so a depleted cell can be swapped in the field instead of being recharged in place.

  2. The front PCB carries a redesigned silkscreen with an anti-counterfeiting pattern.

  3. Developer names are added on the back PCB.

  4. The speaker and the microSD card slot are repositioned, so the card can be removed without disassembling the stack.

Hardware Specifications

Item

Specification

Bundle SKU

HackRF Pro r1.2.1 + PortaPack H4M Pro (Mayhem Signature Edition)

RF Transceiver

MAX2831

ADC / DAC

MAX5865, 8-bit quadrature

Main MCU

LPC4330

Logic

iCE40 UltraPlus FPGA

Frequency Range

100 kHz – 6 GHz

Sample Rate

Up to 20 Msps, 8-bit I/Q

Duplex Mode

Half-duplex (transmit or receive, not both at once)

Reference Clock

Built-in 25 MHz 0.5 ppm TCXO, external clock input / output supported

Onboard Flash

32M-bit (W25Q32)

USB Interface

USB-C, USB 2.0

Item

Specification

Display

3.2-inch colour resistive touch screen

Physical Control

5-way rotary encoder key

Audio Input

Built-in microphone

Audio Output

Built-in speaker and 3.5 mm headphone jack

Power Management

18650 lithium battery management chip, USB charging

Recommended Cell

3.7 V nominal / 4.2 V max charge, 2500 mAh, 9.25 Wh

Storage

microSD card slot, FAT32 or exFAT

Expansion

GPIO expansion port

Antenna Port

SMA, Bias-Tee 3.3 V DC feed switchable in firmware

Pre-loaded Firmware

Pro_v2.4.0 (modified Mayhem v2.4.0)

Half-duplex is an architectural property of the HackRF signal path, not a firmware limitation. Any experiment that appears to receive and transmit at the same time — for example the transmit-receive verification tests in Chapter 9 — requires two units.

Operating Modes and Connection Methods

Mode

How It Works

Advantage

Limitation

Standalone handheld

PortaPack H4M Pro runs Mayhem and drives HackRF Pro directly, powered by the 18650 cell

Completely offline, field-portable, no computer needed

Signal processing is limited to the apps built into the firmware

USB to a PC

HackRF Pro connects to a computer over USB-C and behaves as a conventional SDR peripheral

Full desktop DSP: SDRangel, SDR++, GQRX, GNU Radio, URH

Requires host drivers, and the unit is no longer portable

USB flashing / DFU

The computer talks to the HackRF Pro bootloader

Firmware update and brick recovery

Not a signal path; no RX/TX in this mode

Required Drivers and Software Dependencies

Module

Explanation

How to Obtain

HackRF Pro USB driver (Windows)

Allows Windows to enumerate the device and expose its DFU and serial interfaces

Run dpinst.exe from the supporting resource package

Mayhem firmware

Application firmware for the handheld

Mayhem release page, .ppfw.tar or .bin file

SD card resource package

External apps and data files matching the firmware

Mayhem release page, the archive ending in COPY TO SDCARD

WebUSB flashing page

Browser-based online firmware update

Chrome or Edge, https://hackrf.app

mayhem_flasher.bat and DFU tools

Batch full recovery for a bricked unit

Flashing directory of the supporting resource package

libhackrf / hackrf_tools

Command-line access from a PC

Package manager, or build from source

SDRangel / SDR++ / GQRX / URH

Desktop SDR applications

Their respective official release pages

Device Preparation and SD Card Resource Deployment

This chapter covers everything that must be done before the first power-on: assembling the two boards, installing and calibrating the battery, choosing an antenna, and deploying the Mayhem resource package to the SD card. Every later chapter depends on this one being completed correctly.

Assembly

Align the PortaPack H4M Pro with the HackRF Pro expansion header and press the two boards together evenly, keeping them parallel throughout. Do not rock the panel from one end, which bends the header pins. When seated correctly the two boards sit flush with no visible gap along the connector.

Battery Installation and Capacity Calibration

Step 1 · Battery installation

Open the battery compartment on the back of the PortaPack H4M Pro and install a 3.7 V 2500 mAh 18650 cell strictly according to the plus and minus marks moulded into the holder. Never reverse the polarity — it will burn the power-management chip.

Step 2 · Capacity calibration

After powering on, tap the battery icon at the top right of the title bar to enter its settings, change the default 1500 mAh to the actual 2500 mAh, and save. From then on the title bar reports remaining percentage, real-time voltage and estimated runtime accurately.

The capacity value is only a reference figure used by the fuel-gauge calculation. Leaving it at 1500 mAh with a 2500 mAh cell installed does not damage anything, but the percentage reading and the runtime estimate will both be wrong.

Charging and Precautions

Step 1 · Charging

Connect the device to a USB power source with a USB cable to start charging. Tap the battery icon to check the status: the charge field reads charging while the cell is being charged.

Step 2 · Precautions

The power switch must be on while charging. If the switch is off, the charge field shows holding and the cell will not charge. This is the single most frequently reported "battery is dead" problem, and it is not a fault.

SD Card Formatting Standard

Use a Class10 / A1 microSD card and format it as FAT32 or exFAT. Low-quality or worn cards are the root cause of two distinct failures: packet loss during IQ recording, which silently corrupts a capture, and flashing failure, which can leave the unit unbootable.

Mayhem Resource Deployment

From the Mayhem release page, download the package whose name ends in COPY TO SDCARD, decompress it, and copy all of its folders directly to the SD card root. Do not nest them inside a sub-folder — the firmware looks for these directories at the root and nowhere else.

https://github.com/OpenSourceSDRLab/mayhem-firmware/releases

Directory core functions:

Directory

Core Function

CAPTURES

Stores IQ raw recording files

FREQMAN

Custom frequency library

SETTINGS

Global app configuration

APPS

Third-party extended apps

LOOKINGGLASS

Wideband scan presets

The resource package must be redeployed every time the firmware is updated. A version mismatch between the two shows up as greyed-out application icons on the main menu.

Firmware Flashing and Boot Verification

Three flashing schemes are provided for different situations, followed by the standard boot self-test that determines whether a flash succeeded.

Firmware File Types

File

Updates

When to Use

.ppfw.tar

Main firmware and all external applications in one operation

Preferred for all routine upgrades

.bin

Main firmware only

Brick rescue, or when only the core firmware needs replacing

Choosing a Flashing Method

Method

Applies To

Needs a PC

Risk

SD-card offline flash

Routine upgrades, field updates

No

Low

WebUSB browser flash

Quick switching between stable, nightly and custom builds

Yes, Chrome or Edge

Low

DFU batch recovery

A bricked unit, persistent FLASH ERR, blank screen

Yes

Medium — erases and rewrites everything

Method 1: Offline Flash via SD Card

Step 1 · Copy the firmware

Copy the firmware file to the SD card root.

Step 2 · Flash on the device

Insert the SD card, power on, then go to Main menu → Utilities → Flash Utility, select the firmware file and confirm to start automatic flashing.

Step 3 · Completion

The screen flashes continuously during the write. The unit restarts by itself once the write-success prompt appears. Highlighted, clickable external application icons on the main menu confirm that the firmware and the SD-card files are at matching versions.

Do not switch the unit off and do not remove the SD card while the screen is flashing. An interrupted write is exactly the condition that Method 3 exists to recover from.

Method 2: WebUSB Browser Online Flash

Step 1 · Driver

Run dpinst.exe from the supporting resource package to install the USB driver for HackRF Pro. After connecting the data cable, confirm that a new COM port appears in Device Manager.

Step 2 · Browser connection

Open Chrome or Edge and go to https://hackrf.app. Connect HackRF Pro over USB and allow WebUSB access in the browser prompt. The page then shows "Device Connected".

Step 3 · One-click flash

Go to Manage Firmware, choose stable, nightly, or a custom local file, and click upload. The indicator flashes during the transfer, then stops, and the device restarts to finish.

Method 3: DFU Batch Full Recovery

This is the brick-rescue path. Before starting, run dpinst.exe to install the matching USB driver for HackRF Pro.

Step 1 · Enter DFU mode

Hold the HackRF Pro DFU key, plug the USB cable into the computer, then release the DFU key. In DFU mode all HackRF Pro indicator lights go fully dark — this differs from HackRF One and is the correct indication, not a fault.

Step 2 · Run the batch script

Open the flashing directory and run mayhem_flasher.bat:

Enter 3 → select [HackRF Pro / PortaPack] hardware

Enter 2 → select [Flash DFU then full Mayhem one-click recovery]

Wait for the terminal to print Firmware flashed successfully.

Step 3 · Recovery judgment

The MCU, FPGA and RF indicator lights all light up, the device restarts by itself into Mayhem, and the red FLASH ERR prompt no longer appears at the bottom left of the boot screen.

Post-flash Boot Self-test

Normal boot criteria — all four must hold:

1. The bottom left shows the full firmware version, with no red FLASH ERR.

2. The top-right SD icon is green, meaning the card is recognised.

3. All main-menu application icons are bright and open normally.

4. The bottom-right clock shows real-time UTC.

Abnormal prompts:

Symptom

Cause and Fix

Red FLASH ERR at the bottom left

Firmware checksum mismatch — re-flash the firmware

Grey application icons

SD resource version mismatch — redeploy the full SD package

SD icon not green

Card not recognised — reformat as FAT32/exFAT, or replace the card

Clock stopped, or the date advances by one day on every restart

The internal coin cell is depleted, or no SD card is present

Touch Calibration and the Main Interface

An uncalibrated resistive touch panel makes every subsequent operation unreliable, so calibration comes first. The rest of this chapter reads the title bar and the main menu so that device status can be judged at a glance.

One-click Touch Calibration

Step 1 · Enter calibration

Main menu → Settings → Calibration.

Step 2 · Four-point calibration

Tap each cross target in sequence as prompted, holding each point for at least one second before releasing. Releasing too early is the usual reason calibration data comes out inaccurate.

Step 3 · Troubleshooting

If the touch is still offset after a restart, the internal coin cell is depleted. Replacing it makes the calibration persist permanently — otherwise the calibration is lost at every power cycle.

Title-bar Status Icons

From left to right along the right-hand side of the title bar: screenshot, sleep, stealth mode, frequency converter, Bias-Tee DC feed, external clock output, mute, screen brightness, battery percentage, SD-card status.

Bias-Tee warning. The Bias-Tee icon turns yellow when the feed is on, and the antenna port then outputs 3.3 V DC. Enable it only with an active antenna or an external LNA attached. Never enable it with a passive antenna — this is the one title-bar toggle that can damage hardware.

All functions are grouped into eight core modules.

Module

Function

1 Receive

Signal receiving apps: audio demodulation, wideband scan

2 Transmit

Signal transmitting apps: IQ replay, custom TX

3 Recon

Automatic full-band scan and frequency capture

4 Capture

Raw IQ signal recording

5 Replay

Saved IQ playback and transmission

6 Looking Glass

Ultra-wideband real-time spectrum scan

7 Utilities

Toolbox: flash, screenshot, files

8 Settings

Global parameter configuration

Information Bar Status

The left side of the information bar shows the current Mayhem firmware version, or a red FLASH ERR if the firmware is damaged. The right side shows real-time UTC date and time. The clock stops when the coin cell is depleted, and with no SD card inserted the date advances by one day on every restart.

Physical Controls

The 5-way rotary encoder key gives precise control where the resistive touch panel is awkward. Rotate to step a value up or down, push the four directions to move between fields, and press the centre to confirm. Frequency digits in particular are far easier to set with the encoder than by tapping.

Universal Gain, Frequency and Bandwidth Logic

Gain, centre frequency and demodulation bandwidth are the three parameters shared by every receiving app in the firmware. Learning them once makes every experiment in the following chapters straightforward.

Gain Chain Logic

The receive chain has three gain controls, and they are not interchangeable.

LNA and VGA raise sensitivity and are the two you normally adjust. Too high saturates the front end and the waterfall goes solid green with no structure; too low buries the signal and the waterfall goes dark blue with no line visible. AMP is the front-end RF amplifier — keep it at 0 for strong nearby signals, and reserve it for genuinely weak, distant ones.

The practical procedure is: set AMP to 0, raise LNA until a signal is visible, then trim VGA for contrast. If the display saturates, back off LNA before touching anything else.

Waterfall Appearance

Meaning

Action

Solid green, no structure

Front end saturated, gain too high

Lower LNA, then VGA; set AMP to 0; move further from the source

Dark blue, no line at all

Gain too low, or wrong frequency

Raise LNA/VGA; verify the frequency and the antenna

Dark background with a clear bright line

Correct

Proceed

Centre Frequency and the DC Spike

A permanent vertical line at the exact centre of the display is the HackRF DC spike and local-oscillator leakage. It is an artefact of the zero-IF architecture, not a signal. When a target sits close to the centre it can be hidden by this artefact, so the standard practice is to offset the tuned centre frequency by 50–100 kHz from the target and let the demodulation bandwidth cover it.

Demodulation Bandwidth

Bandwidth must be wide enough to contain the signal plus the transmitter's frequency error. Choosing a bandwidth that is too narrow is the more common error: a low-cost 315 MHz remote can drift tens of kilohertz, so an 8.5 kHz filter loses it while a 16 kHz filter holds it. Choosing one that is too wide costs sensitivity and lets adjacent signals in, but rarely breaks the experiment outright.

Common Band Preset Parameter Table

Frequency Band

Scan Range (MHz)

Step

Demod / BW

Squelch

LNA/VGA/AMP

Medium Wave AM

0.525–1.605

9 kHz

AM/DSB 9k

−65

28/28/0

Shortwave 49 m

5.900–6.200

5 kHz

AM/DSB 9k

−65

32/30/0

FM Broadcast

87.0–108.0

100 kHz

WFM/200k

−50

16/20/0

Aviation Comm

118.0–137.0

25 kHz

AM/DSB 9k

−60

24/25/0

UHF Walkie-talkie

400.0–470.0

12.5 kHz

NFM/11k

−60

24/25/0

315 MHz Remote

314.0–316.0

25 kHz

NFM/16k

−60

32/30/0

433 MHz ISM Band

433.0–434.8

25 kHz

NFM/16k

−60

32/30/0

These values are starting points that work in typical conditions. Adjust LNA and VGA to suit the local signal environment; the demodulation mode, bandwidth and step values should be used as given.

Spectrum Scanning and FM Broadcast Reception

These are the entry-level experiments: automatic frequency search and audio demodulation, using the Recon and Audio apps. Both are receive-only and can be performed anywhere without compliance concerns.

Recon: Automatic Frequency Search and Capture

Step 1 · CONFIG page

Check "auto start scan", load a frequency-range file, and save. Select SEARCH manual-range scanning mode.

Step 2 · Scanning range

Fill in the target START and END frequencies. You must click the SEARCH button to apply them, and then confirm that the R value on the third line has updated. Entering the range without clicking SEARCH leaves the previous range active — this is the most common reason a Recon scan appears to find nothing.

Step 3 · Squelch threshold

Each band uses a fixed squelch reference: FM broadcast squelch = −50 dB, walkie-talkie squelch = −60 dB. The device automatically locks onto and records a frequency whenever the received power exceeds the threshold.

Safety. The yellow-marked options on the CONFIG page are transmit switches. Do not enable them when performing receive-only work or spectrum scanning.

WFM Broadband FM Reception

Step 1 · Audio app

Main menu → Receive → Audio, then select WFM broadband FM demodulation.

Step 2 · Core parameters

Enter a local FM frequency, for example 103.9 MHz. Bandwidth 200 kHz, LNA 16, VGA 20, AMP 0.

Step 3 · Audio playback

Adjust the volume slider on the right. The built-in speaker or a 3.5 mm headset outputs the broadcast audio.

FM broadcast reception is the fastest way to confirm that the whole receive chain — antenna, RF front end, demodulator and audio output — is working. When any later experiment produces no sound at all, come back and run this test to isolate whether the fault is in the audio path or in the reception itself.

IQ Capture and Wireless Replay

This is the core offline experiment: recording raw IQ from a 315 MHz wireless doorbell and replaying it over the air to trigger the doorbell again. Spectrum positioning comes first, then recording, then replay.

Locate the Target Frequency First

You cannot record and replay a signal until you know its exact frequency, so locating it is step one.

Step 1 · Parameters

Main menu → Receive → Looking Glass. MIN start = 300 MHz, MAX end = 450 MHz, LNA = 16, VGA = 20, AMP = 0, bip tone ON.

Step 2 · Signal identification

Press the doorbell button repeatedly while watching the waterfall. The line that flashes in sync with your presses is the target — this synchronisation is what distinguishes it from ambient interference.

Step 3 · Narrow-range precise positioning

Set MIN = 305 MHz and MAX = 325 MHz to zoom into the 315 MHz region, then move the MARKER cursor onto the line to read the accurate centre frequency, in this case 315.000 MHz.

A full-screen green waterfall means the gain is too high and the front end is saturated. A full-screen dark blue with no line means the gain is too low — raise LNA and VGA moderately.

Capture Recording Parameters

Step 1 · Enter Capture

Main menu → Receive → Capture. Fill in the accurate centre frequency measured during the spectrum scan, 315.000 MHz.

Step 2 · Fixed recording parameters

Sampling rate = 500 kHz, which gives the best replay compatibility. LNA = 16, VGA = 32, AMP = 0. Choose the normal-coloured record gear and avoid the yellow high-speed gears, which cause packet loss.

Step 3 · Recording procedure

Press the red record button first, then press the doorbell 2 to 3 times. Keep packet loss at 0% throughout; if packet loss appears, lower the sampling rate or use a faster SD card. Click stop once the complete signal has been captured.

Recording the doorbell more than once in a single capture is deliberate. If one press is clipped at the start or end of the file, another complete copy is still present in the recording.

Recording File Format and Metadata

Files are saved to the CAPTURES folder on the SD card. Each recording generates two files that must be kept together:

File

Content

.C16

Complex IQ baseband raw data body

.TXT

Metadata: centre frequency, sampling rate, bandwidth

If only the .C16 is kept and the .TXT metadata is deleted, Replay cannot automatically match the correct transmit parameters. When copying captures to a computer for archiving, always copy both.

Replay Transmit Parameters

Step 1 · Enter Replay

Main menu → Transmit → Replay. Click Add file and select the .C16 file in CAPTURES.

Step 2 · Core transmit parameters

The frequency and sampling rate load automatically from the .TXT metadata — verify that they match the recording. Set transmit gain G =16.

Step 3 · Loop switch

Leave Loop unchecked for a single trigger; check it for continuous cyclic transmission.

Press play to transmit. The physical doorbell rings, and the record-to-replay loop is complete.

Factors That Decide Replay Success

When a replay does not trigger the target device, the cause is almost always one of the following, in order of frequency:

1. The `.TXT` metadata is missing, so the sampling rate and frequency do not match the recording.

2. The recording contains packet loss, so the captured waveform is corrupted. Re-record with 0% loss.

3. The centre frequency was read imprecisely during the spectrum scan. Re-measure with a narrow Looking Glass span.

4. The transmit gain is too low, or the antenna is missing or wrong for the band.

5. The recording captured only part of a transmission. Record several button presses in one file.

Audio RX of a 315 MHz Doorbell and Troubleshooting

This chapter listens to the same doorbell as audio, which is a far more demanding test of the receive chain and exposes a set of characteristic problems worth understanding.

OOK Modulation and Mode Selection

A 315 MHz doorbell uses OOK/ASK — on-off keying. The carrier has only two states, present and absent, and carries no frequency modulation at all.

An FM discriminator outputs a DC level for an unmodulated carrier, and that DC is then removed by the audio path through DC blocking, de-emphasis and band-pass filtering. In NFM you therefore hear only the weak pulses that leak through at each on/off transition, not a clean tone. This is expected behaviour, not a fault, and it is why AM gives crisper audio for this signal even though NFM is perfectly adequate for verifying that the carrier is present.

Antenna and Parameter Settings

Step 1 · Antenna and distance

Extend the ANT500 to about 23 cm. Keep the doorbell button 1 to 3 m away from the unit — pressing it against the device drives the front end into saturation.

Step 2 · Enter Audio RX

Main menu → Receive → Audio RX, then set the parameters below.

Item

Setting

Notes

Frequency

315.9500 MHz

Intentionally offset from centre to avoid the HackRF DC spike and LO leakage

Modulation

NFM / AM

Use NFM for verification; switch to AM for crisp audio listening

BW

16k

Do not select 8k5 — too narrow to tolerate transmitter frequency drift

SQ

0

Critical: the default 80/99 blocks all audio output entirely

LNA

8–16

Higher values cause front-end saturation

VGA

16–24

Fine-tune together with the LNA

AMP

0

The doorbell signal is strong; no extra amplification is needed

Volume

90

Adjust for ambient noise

Operation and Signal Interpretation

Press and hold the doorbell button, then check the three criteria below.

Observation

Meaning

A red band appears on the waterfall

The transmission carrier has been captured

A faint continuous rasp from the speaker

The pulsing comes from OOK on-off switching; this is standard behaviour in NFM

It stops the instant you release the button

Confirms the source is this button and not ambient noise

Switching to AM mode at this point yields distinct popping sounds instead of the rasp.

Troubleshooting Quick Reference

Symptom

Cause and Fix

Carrier visible but no sound at all

Squelch not set to zero — turn SQ down to 0. This is by far the most common cause

A vertical line always sits at screen centre

The HackRF DC spike, not a valid signal. Offset the centre frequency by 50–100 kHz

Nothing received at all

Frequency offset or wrong antenna length. Scan 314.5–315.5 MHz in Recon / Search mode

Red band fills the whole screen, audio mushy

Gain too high or the source is too close: lower LNA/VGA, turn AMP off, step back 2–3 m

Audible but very weak

A normal consequence of the NFM/OOK mismatch. Switch to AM, or offset the frequency

Completely silent, broadcast inaudible too

Confirm the volume is not zero and check headphone status — headphones disable the speaker. Switch to WFM and tune an 88–108 MHz station to verify the audio channel

Digital Protocol Transmit and Receive Verification

This chapter verifies four representative digital protocols supported by the Mayhem firmware: APRS, POCSAG, BLE and ADS-B. APRS, POCSAG and BLE are tested as two-unit transmit-receive pairs, because the hardware is half-duplex and a single unit cannot verify itself. ADS-B is receive-only and decodes real aircraft traffic with one unit.

Common Procedure and Safety Notes

Safety and compliance

1090 MHz is the aviation surveillance frequency. Radiating a fabricated aircraft track into real airspace is illegal and a genuine flight-safety hazard, so ADS-B is treated as a receive-only experiment throughout this manual and no ADS-B transmission is performed.

144.390 MHz falls inside the amateur radio band, where transmitting requires the corresponding licence. The three transmit tests must be run by conduction — connect the two units with an RF cable through a 30–40 dB attenuator, or work inside a shielded enclosure. Do not fit antennas and radiate into open space, and keep the gain at the lowest workable value.

Common procedure, applicable to APRS, POCSAG and BLE

Step 1 · Configure the receiver first

Switch the receiving unit to the Receive interface, select the RX mode for the protocol under test, then set the frequency and gain. Always configure the receiver before the transmitter, otherwise the first frames are missed.

Step 2 · Then configure the transmitter

Open the Transmit interface on the transmitting unit, enter the TX page for the same protocol, set an identical frequency, and fill in the payload or parameters.

Step 3 · Transmit and verify

Start transmitting and read the decoded result on the receiver. The test passes when the received content matches what was sent.

APRS Transmit-Receive Test

APRS is tested at 144.3900 MHz, and both units must be set to exactly the same frequency.

Configure the receiver first: open APRS RX and leave the gain at its default value. Then configure the transmitter: open APRS TX, set the SSID to any value you like, tap Set to open the message editor, type the content you want to send, and confirm with OK.

Start transmitting and read the result on the receiving unit. The test passes when the receiver decodes the frame in real time and displays message content exactly identical to what was entered on the transmit side.

POCSAG Transmit-Receive Test

POCSAG does not require a specific frequency; the only condition is that the receiving and transmitting units are set to the same one.

Open POCSAG RX on the receiver with the gain left at its default value, then open POCSAG TX on the transmitter and set the identical frequency. On the transmit page, set the message type to Alphanumeric and keep the built-in default payload PORTAPACK.

Start transmitting: the receiver should decode the frame and display the word PORTAPACK on screen, and seeing that string is the pass criterion for this test.

The message type is the one setting that decides the outcome here. With any type other than Alphanumeric, the default PORTAPACK payload will not be decoded into readable text and the receiver shows numeric or blank content — even though the link itself is already working. If you see the frame arrive but not the word, check the message type before changing anything else.

BLE Transmit-Receive Test

BLE is tested on the 2.4 GHz advertising channels 37, 38 and 39.

On the receiving unit, open BLE RX, set the mode to Auto so that it hops across all three advertising channels, set Sort to Hits so that the most frequently seen device rises to the top of the list, and set the gain to 24. Tap clear before every run to flush the entries left over from the previous test.

On the transmitting unit, open BLE TX, use Open file to import any file as the advertising payload — the file content itself is irrelevant to the result — then set the transmit gain to 16 and enable Loop so that the packet is broadcast continuously.

The test passes when the MAC address 01:02:03:04:05:06 keeps hitting at the top of the receiver list.

ADS-B Receive-Only Test

ADS-B is the only receive-only test in this chapter, and a single unit is enough.

Switch to the Receive interface, select ADS-B mode, set both LNA and VGA to 32 as the starting reference, then wait a moment. Aircraft within range normally appear in the list within seconds.

The list shows the ICAO address, flight number, latitude and longitude, altitude and speed of each aircraft, and selecting an entry opens its detail view. The test passes once real flights are listed with those fields displayed.

1090 MHz reception benefits strongly from antenna placement. A clear view of the sky, away from buildings and metal, changes the number of decoded aircraft far more than any gain adjustment does.

Firmware Versions and Upgrade Value

This chapter compares the firmware this manual is based on, v2.4.0, with the current release v2.4.0.2, and explains what the upgrade actually changes for the experiments in the previous chapters.

What Changed between v2.4.0 and v2.4.0.2

The difference is visible in the published files: the firmware archive grew from 8,414,251 bytes in v2.4.0 to 8,434,626 bytes in v2.4.0.2. Every procedure in this manual applies unchanged to both versions.

Application-level Advantages of v2.4.0.2

ADS-B reception is the experiment that benefits directly, since the official improvements in v2.4.0.2 specifically target ADS-B RX signal reception quality.

In practice this shows up as a higher decoding rate at 1090 MHz and more stable list entries: flights appear earlier and drop out less often. The wait between an entry first showing only its ICAO address and then displaying complete latitude, longitude and altitude is also generally shorter.

If ADS-B is a significant part of your use, v2.4.0.2 is worth the upgrade. If it is not, either version is fine.

Nightly builds carry the newest features and the newest bugs. For a device you rely on, stay on stable releases and keep a known-good firmware file on the SD card so that a bad flash can be reversed by Method 1 alone, without needing a computer.

Reference

https://github.com/OpenSourceSDRLab/mayhem-firmware/releases

https://github.com/portapack-mayhem/mayhem-firmware/releases

https://hackrf.app

https://github.com/OpenSourceSDRLab

https://opensourcesdrlab.com/blog

https://www.reddit.com/r/OpenSourceSDRLab

https://opensourcesdrlab.com/products/hackrf-pro-h4m-pro

Follow our YouTube channel for more video tutorials: https://www.youtube.com/@OpenSourceSDRLab