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

Pourquoi les applis de scanner nRF24 affichent un écran noir sur les cartes PINGEQUA 2-en-1 bi-puce pour Flipper — et comment nous l'avons corrigé

Un scanner de canaux nRF24 générique peut faire passer l'écran d'un Flipper Zero au noir en plein scan sur les cartes 2-en-1 à double puce — voici la cause liée à l'arbitrage du bus SPI, et le correctif que nous avons livré dans RF Lab.

Réponse rapideL'écran noir survient parce que les apps de scan nRF24 conçues pour une seule puce ne désélectionnent jamais la seconde puce sur un bus SPI partagé, ce qui prive de ressources la tâche de rafraîchissement de l'écran du Flipper. PINGEQUA a corrigé cela dans RF Lab (désormais v0.5.4, 2026-06-12) en faisant passer chaque transaction par un unique furi_hal_spi_bus_handle_external et en mettant systématiquement le CSN de la puce inactive à l'état haut avant tout accès. C'est un .fap gratuit et open source conçu pour la carte PINGEQUA 2-in-1 nRF24 + CC1101 RF Devboard.
Carte PINGEQUA 2-in-1 nRF24 + CC1101 à double antenne sur un Flipper Zero, Channel Scanner en cours d'exécution

Le symptôme

Sur une carte à double puce, lancer un scanner de canaux nRF24 tiers et démarrer un scan de signal peut faire passer l'écran du Flipper au noir en plein milieu du processus.

Écran du Flipper se remplissant de noir par le bas pendant un scan nRF24 sur une carte à double puce
Un scanner de canaux nRF24 tiers sur une carte 2-en-1 — l'écran se remplit de noir par le bas en plein scan.

Cela ne concerne pas uniquement notre matériel. L'application nRF24 communautaire la plus forkée comporte un rapport ouvert décrivant la même classe de défaillance :

« l'écran devient parfois complètement noir pendant environ 5 secondes durant le scan. Si le temps de scan est réduit, ce phénomène est observé plus souvent. »
flipperzero-nrf24 issue #15, ouverte depuis 2022

Pourquoi cela touche davantage les cartes à double puce

Une carte 2-en-1 câble le nRF24 et le CC1101 en parallèle sur un même bus SPI, sélectionnés par logiciel via la ligne CSN dédiée de chaque puce. Un scanner écrit pour un seul nRF24 ne pilote que sa propre CSN — il ne désélectionne jamais la seconde puce. Les deux puces peuvent alors répondre simultanément sur le bus partagé, et un scanner qui monopolise le bus SPI en continu peut priver de ressources la tâche de rafraîchissement de l'écran. Le résultat que vous observez est un écran noir.

Nous ne sommes pas les seuls à signaler cette lacune des applications héritées — même nos propres notes produit avertissent que les applications héritées peuvent comporter des définitions de broches codées en dur, et recommandent des apps avec une gestion GPIO/SPI correcte.

Cette description de la cause racine est notre analyse technique du comportement observé, et non un défaut confirmé par un fabricant.

Pourquoi nous avons tout réécrit plutôt que de patcher

Patcher les particularités d'un seul fork ne résout pas le problème sous-jacent d'arbitrage du bus, et cela ne survit pas à la prochaine mise à jour du firmware. Nous avons donc reconstruit le toolkit début 2026 sur la base du Furi SDK officiel — aucun symbole privé de fork, un seul arbitre SPI propre.

Ce qui a changé

  • Arbitre SPI à handle unique — chaque transaction passe par un seul handle de bus (furi_hal_spi_bus_handle_external), celui que chaque firmware embarque.
  • La puce inactive est toujours désélectionnée — avant tout accès, le CSN de l'autre puce est mis à l'état haut. Le bus n'est jamais laissé dans un état ambigu, donc l'écran n'est jamais privé de ressources.
  • Un seul .fap, tous les firmwares — fonctionne sur le firmware officiel Flipper (OFW), Momentum, Unleashed, RogueMaster et Xtreme. Aucune recompilation.
PINGEQUA RF Lab Channel Scanner fonctionnant proprement — spectre 2,4 GHz en direct, aucun écran noir
Le même matériel exécutant RF Lab — spectre complet sur 126 canaux, sans privation de ressources pour l'écran.

Historique des versions et compatibilité firmware

Ce qui a changé au fil des versions

Version Ce qu'elle a apporté
Réécriture sur le Furi SDK (début 2026) Reconstruit sur le Furi SDK officiel ; handle de bus SPI unique (furi_hal_spi_bus_handle_external) ; CSN de la puce inactive toujours mis à l'état haut avant tout accès.
v0.5.2 Noms de fichiers d'export lisibles (ex. scan_2026-05-15_143022_ch42.csv) ; écran « À propos » sur l'appareil avec des QR codes scannables vers la boutique et le dépôt source.
RF Lab v0.5.4 (2026-06-12) Ajoute un générateur de signal 2,4 GHz réservé aux tests autorisés ; puissance de sortie volontairement limitée pour respecter FCC §15 / ETSI EN 300 328.
RF Lab est en développement actif — récupérez toujours la dernière build depuis GitHub Releases plutôt qu'une ancienne copie en cache.
Écran « À propos » de RF Lab avec un QR code scannable vers la boutique
L'écran « À propos » sur l'appareil — scannez le QR pour ouvrir la boutique ou le dépôt source.

Compatibilité firmware

Firmware Remarques
Firmware officiel Flipper (OFW) API minimale ≥ 87.1
Momentum Pris en charge, aucune recompilation
Unleashed Pris en charge, aucune recompilation
RogueMaster Pris en charge, aucune recompilation
Xtreme Pris en charge, aucune recompilation

Livré sous la forme d'un seul .fap d'environ 44 Ko qui couvre les cinq firmwares cibles dès le départ.

À voir en action

Navigation dans le menu principal de RF Lab sur le Flipper Zero
Menu principal — Scanner, Signal Generator, About
Menu principal de RF Lab sur un Flipper Zero avec la carte 2-en-1
Sur le matériel
Mode générateur de signal 2,4 GHz de RF Lab, réservé aux tests autorisés
Générateur de signal 2,4 GHz (réservé aux tests autorisés)

Essayez-le sur votre installation

  1. Téléchargez pingequa_rf_toolkit.fap depuis GitHub Releases
  2. Glissez-le dans /ext/apps/GPIO/ dans qFlipper
  3. Lancez-le depuis Apps → GPIO → PINGEQUA RF Lab

Aucun remappage GPIO, aucune configuration spécifique par firmware.

La suite, c'est vous qui la décidez

La feuille de route de la v0.6 est ouverte. Vous voulez une vue spectrale Sub-GHz, un balayage double bande ou des préréglages de scan personnalisés ? Ouvrez une issue — la prochaine version se construit à partir de ce que les gens demandent réellement.

Matériel ouvert. Code source ouvert.

nRF24L01+PA et CC1101 sur un seul bus SPI — pour le Flipper Zero.

Télécharger le FAP (gratuit) Obtenir le matériel

Foire aux questions

Pourquoi les apps de scan nRF24 génériques provoquent-elles un écran noir sur les cartes 2-en-1 à double puce ?
Une carte 2-en-1 câble le nRF24 et le CC1101 en parallèle sur un même bus SPI, sélectionnés par logiciel via la ligne CSN dédiée de chaque puce. Un scanner écrit pour un seul nRF24 ne pilote que sa propre CSN — il ne désélectionne jamais la seconde puce. Les deux puces peuvent alors répondre simultanément sur le bus partagé, et un scanner qui monopolise le bus SPI en continu peut priver de ressources la tâche de rafraîchissement de l'écran du Flipper. Le résultat visible est un écran qui devient noir en plein scan. Il s'agit de notre analyse technique du comportement observé, et non d'un défaut confirmé par un fabricant.
Mon écran devient noir pendant un scan — mon module nRF24 est-il défectueux ?
Non. Cela ne concerne pas uniquement notre matériel, et ce n'est pas le signe d'un module défectueux. L'application nRF24 communautaire la plus forkée comporte un rapport ouvert (issue #15, ouverte depuis 2022) décrivant la même classe de défaillance — l'écran devient noir pendant quelques secondes durant le scan, plus fréquemment lorsque le temps de scan est réduit. C'est un problème d'arbitrage de bus propre aux logiciels de l'ère mono-puce, pas un défaut matériel.
Quelle version de l'app corrige le problème d'écran noir, et comment a-t-il été corrigé ?
RF Lab le corrige — la version actuelle est la v0.5.4 (2026-06-12), basée sur la réécriture de début 2026. Plutôt que de patcher les particularités d'un seul fork (ce qui ne survivrait pas à la prochaine mise à jour du firmware), le toolkit a été reconstruit sur le Furi SDK officiel avec un seul arbitre SPI propre. Chaque transaction passe par un seul handle de bus (furi_hal_spi_bus_handle_external) que chaque firmware embarque, et le CSN de la puce inactive est toujours mis à l'état haut avant tout accès — de sorte que le bus n'est jamais laissé dans un état ambigu et que l'écran n'est jamais privé de ressources. Il est livré sous la forme d'un seul .fap qui fonctionne sur le firmware officiel (OFW, API ≥ 87.1), Momentum, Unleashed, RogueMaster et Xtreme, sans recompilation.
RF Lab peut-il émettre, ou est-il uniquement en réception ?
Les deux. L'analyseur de spectre 2,4 GHz (126 canaux, max-hold, export CSV) reçoit, et la v0.5.4 inclut également un générateur de signal 2,4 GHz réservé aux tests RF autorisés. Sa puissance de sortie est volontairement limitée pour respecter FCC §15 / ETSI EN 300 328. N'utilisez le générateur de signal que sur des fréquences et dans des environnements pour lesquels vous êtes autorisé à effectuer des tests.
Cela fonctionnera-t-il sur mon firmware sans recompilation ?
Oui. RF Lab est livré sous la forme d'un seul .fap d'environ 44 Ko qui fonctionne dès le départ sur le firmware officiel (OFW, API ≥ 87.1), Momentum, Unleashed, RogueMaster et Xtreme — sans remappage GPIO ni configuration spécifique par firmware. Téléchargez-le depuis GitHub Releases, glissez-le dans /ext/apps/GPIO/ dans qFlipper, et lancez-le depuis Apps → GPIO → PINGEQUA RF Lab.

Sources et pour aller plus loin : flipperzero-nrf24 #15 · Documentation du Furi SDK de Flipper

Retour au blog