CC1101 not found or nRF24 not found on Hydra RF
Start here before reflashing Bruce or replacing either board. The diagnostic below connects to the running Bruce CLI, not the ESP32 download mode. Leave the Cardputer ADV side switch OFF so USB powers the board with the battery isolated; wait for the Bruce main screen. Do not hold G0. Official M5 download-mode steps use switch OFF and G0; that path is for flashing, not this page.
The diagnostic reads the internal LittleFS and microSD copies of /brucePins.conf separately, resolves the active hardware-MAC entry without exposing its key, compares it with the Hydra RF pin map, then checks CC1101 and nRF24 basic SPI communication in both orders three times each.
It is intentionally read-only in this release:
- it does not enter the ESP32 bootloader or flash firmware;
- it does not write, rename or remove any file;
- it does not transmit RF;
- it does not upload the MAC, configuration or serial transcript;
- it does not claim that a GPIO, connector or Hydra board is good or bad when that path was not tested.
Supported contract
The diagnostic uses a versioned official-build contract instead of accepting an arbitrary Bruce version:
- 1.16.1 (
ba519c9): configuration and radio matrix validated on real Cardputer ADV + Hydra RF hardware; - 1.16 (
59e83bf): configuration and radio matrix source-audited; version-specific hardware validation is pending; - 1.15 (
00eab49): read-only configuration inspection only. Its older CC1101 receive cleanup differs, so the radio matrix stays disabled.
Bruce 1.14 and older do not expose the same complete nRF24 BJS contract. Future unknown versions stay blocked until their fixed release source is reviewed; adding a version is a data entry, not a rewrite. This runtime-only check is not cryptographic attestation: a modified build that deliberately spoofs the official version and build identity cannot be distinguished without bootloader-level image verification.
Optional: share the anonymous result
After the check runs you can send the anonymous result code (e.g. CC_BRANCH_FAIL) and the Bruce version to PINGEQUA support with one click, to help improve this diagnostic. It never includes your MAC, configuration or serial transcript, and only happens when you click the button.
What the result can prove
A configuration PASS means the active /brucePins.conf entry was resolved safely, rfModule is 1, and both SPI pin objects match Hydra RF. The diagnostic first tries the runtime Wi-Fi MAC. If Bruce reports a custom runtime MAC, it may use the only MAC-keyed entry in a single-device config; it will not guess when several entries exist.
The expected Hydra RF pins are:
- shared SPI: SCK
G40, MISOG39, MOSIG14; - CC1101: CS
G13, GDO0G5; - nRF24: CSN
G6, CEG4.
When a mounted SD card is present, the diagnostic treats its configuration as active and reports a missing or invalid SD copy separately. This matters because Bruce selects SD storage ahead of LittleFS when SD is mounted.
If the active SD configuration is valid but the inactive LittleFS copy has incorrect Hydra pins, the current A0 check can continue and the page shows INACTIVE_STORAGE_HYDRA_MISMATCH. This warning means removing or switching the active storage can expose the bad configuration on the next boot. It is not SD_OVERRIDE: that code is reserved for an invalid active SD copy overriding a valid internal copy.
When configuration passes, the radio test uses only Bruce's CC1101 receive path and nRF24 begin/isConnected register path. It never calls a transmit, nRF24 send or receive-payload API. The test repeats CC1101 → nRF24 and nRF24 → CC1101 three times and reports:
CONFIG_AND_BASIC_SPI_PASS: both chips answered in all six samples. Older reports may still sayALL_PASS; that code is treated as the same public result. This is not a complete hardware pass;CC_BRANCH_FAIL: CC1101 failed consistently while nRF24 passed;NRF_BRANCH_FAIL: nRF24 failed consistently while CC1101 passed;SHARED_SPI_SWITCH_FAIL: the result changes with test order;INTERMITTENT_SPI_FAIL: the same branch changes between pass and fail;INCONCLUSIVE: the matrix is incomplete, both branches fail, cleanup fails, or the evidence conflicts.
A branch failure covers the whole path: Cardputer GPIO/pad-to-EXT, EXT contact, Hydra routing, module power and the radio IC. It does not identify one component as the cause.
Three repeated CONFIG_AND_BASIC_SPI_PASS runs provide good evidence for the configured SCK, MISO, MOSI, CC1101 CS and nRF24 CSN paths because both chips answered register/SPI operations in both switch orders. They do not directly validate nRF24 CE or CC1101 GDO0 continuity: this probe only places those pins in reviewed safe states. It also cannot isolate the Cardputer pad, connector, Hydra trace and IC pin from one another.
What remains untested
The runtime probe cannot prove nRF24 CE continuity, CC1101 GDO0 continuity, the complete ESP32-pad-to-EXT path, connector contact, 5 V power integrity, or RF performance. Distinguishing a Cardputer GPIO/pad fault from a Hydra/connector fault requires the planned detached-board pad self-test; Phase 1 does not make that claim.
The probe call paths are source-audited against the pinned Bruce commit, but production acceptance still requires a real Cardputer ADV + Hydra transcript, repeated-run stability and laboratory spectrum/conducted evidence for every success, failure and timeout path. Until those records exist, the downloaded report labels the safety evidence SOURCE_AUDITED_PENDING_HARDWARE.
Therefore a matching configuration is not a verdict that the Cardputer or Hydra hardware is good. Keep the downloaded privacy-safe report and provide it to support; it contains observations and pin differences but never the raw configuration, full MAC or serial transcript.
Report schema 4 records this diagnosis in a0ResultCode — that is the result to read. The guidedSessionResultCode field is reserved for the multi-step guided A/B isolation, which is not enabled in this read-only release, so it always stays INCONCLUSIVE here.
Sources
- Bruce 1.16.1 release, released August 11, 2026.
- Bruce 1.16 release, released July 24, 2026.
- Bruce 1.15 release, released May 25, 2026.
- Bruce 1.16.1 storage JS implementation, checked August 12, 2026.
- Bruce 1.16.1 runtime CLI
infoimplementation, checked August 12, 2026. - Bruce 1.16.1 hardware-MAC keyed pin configuration, checked August 13, 2026.
- Bruce 1.16.1 custom runtime Wi-Fi MAC handling, checked August 13, 2026.
- Bruce 1.16.1 nRF24 JS implementation, checked August 13, 2026.
- Bruce 1.16.1 CC1101 initialization/deinitialization, checked August 13, 2026.
- Bruce 1.16.1 CC1101 receive path, checked August 13, 2026.
- M5Stack Cardputer ADV official pin map, checked August 12, 2026; the page does not publish a last-updated date.
- Web Serial API, MDN page updated May 26, 2026.