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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions