Why nRF24 Scanner Apps Black-Screen on Dual-Chip PINGEQUA 2-in-1 Flipper Boards — and How We Fixed It

Why nRF24 Scanner Apps Black-Screen on Dual-Chip PINGEQUA 2-in-1 Flipper Boards — and How We Fixed It

A generic nRF24 channel scanner can blank a Flipper Zero's screen mid-scan on 2-in-1 dual-chip boards — here's the SPI bus-arbitration cause, and the fix we shipped in RF Lab.

Quick answerThe black screen happens because single-chip nRF24 scanner apps never deselect the second chip on a shared SPI bus, starving the Flipper's display-refresh task. PINGEQUA fixed this in RF Lab (now v0.5.4, 2026-06-12) by routing every transaction through one furi_hal_spi_bus_handle_external and always driving the idle chip's CSN high before any access. It's a free, open-source .fap built for the PINGEQUA 2-in-1 nRF24 + CC1101 RF Devboard.
PINGEQUA 2-in-1 nRF24 + CC1101 board with dual antennas on Flipper Zero, Channel Scanner running

The symptom

On a dual-chip board, launching a third-party nRF24 channel scanner and starting a signal scan can blank the Flipper display partway through.

Flipper screen filling with black from the bottom during an nRF24 scan on a dual-chip board
A third-party nRF24 channel scanner on a 2-in-1 board — the display fills black from the bottom mid-scan.

This isn't unique to our hardware. The most-forked community nRF24 app carries an open report describing the same class of failure:

"the screen sometimes completely blanks for 5 seconds or so during scanning. If the scan time is lowered the blanking is observed more often."
flipperzero-nrf24 issue #15, open since 2022

Why it hits dual-chip boards harder

A 2-in-1 board wires the nRF24 and CC1101 in parallel on one SPI bus, software-selected by each chip's dedicated CSN line. A scanner written for a single nRF24 only drives its own CSN — it never deselects the second chip. Both chips can then respond on the shared bus at once, and a scanner that holds the SPI bus continuously can starve the display-refresh task. The result you see is a blank screen.

We're not the only ones to flag the legacy-app gap — even our own product notes warn that legacy applications may have hardcoded pin definitions and recommend apps with proper GPIO/SPI handling.

This root-cause description is our engineering analysis of the observed behavior, not a vendor-confirmed defect.

Why we rewrote instead of patched

Patching a single fork's quirks doesn't fix the underlying bus-arbitration problem, and it doesn't survive the next firmware update. So in early 2026 we rebuilt the toolkit against the official Furi SDK — no fork-private symbols, one clean SPI arbiter.

What changed

  • Single-handle SPI arbiter — every transaction goes through one bus handle (furi_hal_spi_bus_handle_external), the one every firmware ships.
  • Idle chip is always deselected — before any access, the other chip's CSN is driven high. The bus is never left ambiguous, so the display never starves.
  • One .fap, every firmware — runs on Official Flipper firmware (OFW), Momentum, Unleashed, RogueMaster, and Xtreme. No recompiling.
PINGEQUA RF Lab Channel Scanner running cleanly — live 2.4 GHz spectrum, no black screen
The same hardware running RF Lab — full 126-channel spectrum, no display starvation.

Version history and firmware compatibility

What changed across releases

Release What it did
Furi SDK rewrite (early 2026) Rebuilt against the official Furi SDK; single SPI bus handle (furi_hal_spi_bus_handle_external); idle chip's CSN always driven high before any access.
v0.5.2 Human-readable export filenames (e.g. scan_2026-05-15_143022_ch42.csv); on-device About screen with scannable QR codes for the shop and source repo.
RF Lab v0.5.4 (2026-06-12) Adds a 2.4 GHz signal generator for authorized testing only; output power deliberately limited to meet FCC §15 / ETSI EN 300 328.
RF Lab is under active development — always grab the latest build from GitHub Releases rather than an older cached copy.
RF Lab About screen with a scannable QR code to the shop
The on-device About screen — scan the QR to open the shop or the source repo.

Firmware compatibility

Firmware Notes
Official Flipper firmware (OFW) Minimum API ≥ 87.1
Momentum Supported, no recompiling
Unleashed Supported, no recompiling
RogueMaster Supported, no recompiling
Xtreme Supported, no recompiling

Ships as a single ~44KB .fap that covers all five firmware targets out of the box.

See it in action

RF Lab main menu navigation on Flipper Zero
Main menu — Scanner, Signal Generator, About
RF Lab main menu on a Flipper Zero with the 2-in-1 board
On the hardware
RF Lab 2.4 GHz signal generator mode for authorized testing only
2.4 GHz signal generator (for authorized testing only)

Try it on your setup

  1. Download pingequa_rf_toolkit.fap from GitHub Releases
  2. Drag it into /ext/apps/GPIO/ in qFlipper
  3. Launch from Apps → GPIO → PINGEQUA RF Lab

No GPIO remapping, no per-firmware setup.

What's next is up to you

The v0.6 roadmap is open. Want a Sub-GHz spectrum view, dual-band sweep, or custom scan presets? Open an issue — the next release is built on what people actually ask for.

Open box. Open source.

nRF24L01+PA & CC1101 on a single SPI bus — for Flipper Zero.

Download the FAP (free) Get the hardware

FAQ

Why do generic nRF24 scanner apps black-screen on dual-chip 2-in-1 boards?
A 2-in-1 board wires the nRF24 and CC1101 in parallel on one SPI bus, software-selected by each chip's dedicated CSN line. A scanner written for a single nRF24 only drives its own CSN — it never deselects the second chip. Both chips can then respond on the shared bus at once, and a scanner that holds the SPI bus continuously can starve the Flipper's display-refresh task. The visible result is a screen that goes black mid-scan. This is our engineering analysis of the observed behavior, not a vendor-confirmed defect.
My screen blanks during a scan — is my nRF24 module broken?
No. This isn't unique to our hardware, and it isn't a sign of a broken module. The most-forked community nRF24 app carries an open report (issue #15, open since 2022) describing the same class of failure — the screen blanking for a few seconds during scanning, more often when scan time is lowered. It's a bus-arbitration problem in single-chip-era software, not faulty hardware.
Which app version fixes the black-screen issue, and how was it fixed?
RF Lab fixes it — the current release is v0.5.4 (2026-06-12), built on the early-2026 rewrite. Rather than patch a single fork's quirks (which wouldn't survive the next firmware update), the toolkit was rebuilt against the official Furi SDK with one clean SPI arbiter. Every transaction goes through a single bus handle (furi_hal_spi_bus_handle_external) that every firmware ships, and the idle chip's CSN is always driven high before any access — so the bus is never left ambiguous and the display never starves. It ships as one .fap that runs on Official firmware (OFW, API ≥ 87.1), Momentum, Unleashed, RogueMaster, and Xtreme, with no recompiling.
Can RF Lab transmit, or is it receive-only?
Both. The 2.4 GHz spectrum analyzer (126 channels, max-hold, CSV export) receives, and v0.5.4 also includes a 2.4 GHz signal generator for authorized RF testing only. Its output power is deliberately limited to meet FCC §15 / ETSI EN 300 328. Use the signal generator only on frequencies and in environments you are authorized to test.
Will this work on my firmware without recompiling?
Yes. RF Lab ships as a single ~44KB .fap that runs on Official firmware (OFW, API ≥ 87.1), Momentum, Unleashed, RogueMaster, and Xtreme out of the box — no GPIO remapping and no per-firmware setup. Download it from GitHub Releases, drag it into /ext/apps/GPIO/ in qFlipper, and launch it from Apps → GPIO → PINGEQUA RF Lab.

Sources & further reading: flipperzero-nrf24 #15 · Flipper Furi SDK docs

Back to blog