LoRa module not working with ESP32-C3's SPI interface

I have wired a LoRa module (SX1278) with the ESP32C3.

The LoRa module uses the SPI interface to communicate with the ESP32C3.

When I connect all the SPI pins to the C3, the sketch seems to stop executing.

If I remove the MISO wire and reboot, the sketch executes, but the LoRa module is not recognized.

I have checked the SPI pin assignments (MOSI, MISO, SCK, SS) and they are all okay.

If I connect the LoRa module to my ESP32-WROOM dev kit, it works perfectly.

Not sure what to do next to diagnose the problem.

Any help would be greatly appreciated.


The problem is something to do with the way the ESP32C3 reads various pins at startup, with a bare bones SX127X in circuit the ESP32 goes into waiting for USB upload mode.

Fit pullup resistors to the LoRa devices NSS and SCK pins cures the problem for me.

The problem seems to be that the SX1278 pulls down the MISO pin on startup. The MISO / D9 pin is used to put the ESP32C3 into BOOT mode, which is why the ESP32C3 gets stuck!
As @StuartsProject suggests, adding a pullup resistor on NSS solves the issue (NSS = high deactivates the SX1278 module).