Skip to content

ThinkNode M6: external QSPI flash (MX25R1635F) fails to init (nrfx_qspi_init timeout 0xBAD0007) #2829

Description

@benskigomez

Summary

On the Elecrow ThinkNode M6 (nRF52840 + MX25R1635F QSPI flash), the external QSPI flash never initializes with MeshCore's CustomLFS_QSPIFlash driver. nrfx_qspi_init() returns NRFX_ERROR_TIMEOUT (0xBAD0007) while waiting for the QSPI peripheral to activate.

Serial output from a companion build:

Starting QSPI initialization...
QSPI init failed: 0xBAD0007

Impact

Notes / comparison

  • The board config matches Meshtastic's M6 variant exactly: QSPI pins (SCK 32+3, CS 23, IO0 32+1, IO1 32+2, IO2 32+4, IO3 32+5), flash power enable on pin 21 driven high, and MX25R1635F (JEDEC C2 28 15, which is present in the driver's chip database).
  • Meshtastic runs the same external flash successfully on the same hardware using Adafruit_SPIFlash / Adafruit_FlashTransport_QSPI, which suggests the issue is in the custom QSPI driver's peripheral bring-up rather than the board wiring.
  • The timeout is at the peripheral TASKS_ACTIVATEEVENTS_READY step inside nrfx_qspi_init(), before any flash command is issued.

Workaround

Building the M6 companion BLE role with internal flash (-D EXTRAFS instead of -D QSPIFLASH=1) gives reliable persistent storage today, at reduced capacity.

Hardware

  • Device: Elecrow ThinkNode M6 (nRF52840, SX1262, MX25R1635F)
  • Confirmed on companion BLE and USB builds.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions