Unable to communicate with NINA W102 in BLE mode

I have a project in which I am using a board design similar to the Nano 33 IoT, but I am using a SAMD21G17A instead of a SAMD21G18A. I placed a NINA W102 on the board - same as is on the Nano 33 IoT.

I have successfully loaded firmware onto the NINA W102 board. I am able to communicate with the NINA over both SPI and serial ... with one caveat.

The SPI communication between the SAMD and the NINA seems to be working perfectly. I am able to use the WiFiNINA library to query the firmware version and initialize wifi.

The serial communication with the NINA, however, seems to be having issues. But it must be something BLE-related, because the firmware uploader also uses serial, and I was able to successfully upload firmware with no issues at all.

I am using the ArduinoBLE library (same as on the Nano 33 IoT) to communicate with the NINA in BLE mode. I've made a few minor adjustments to the ArduinoBLE library just so that it works with my board, but none of those changes are significant.

When I attempt to initialize BLE, the call to HCI.reset() inside of BLELocalDevice::begin fails. The code inside of HCI.reset is simply sending a command and then waiting for a response:

int HCIClass::reset()
{
    return sendCommand(OGF_HOST_CTL << 10 | OCF_RESET);
}

Unfortunately, no response ever comes.

There is a while-loop inside the HCIClass::poll function that looks for bytes that are received, and this loop never receives any bytes:

while (HCITransport.available())
{
...
}

I'm curious if anyone has any ideas as to what could be causing this?

Summary:

  1. Firmware was successfully uploaded to the NINA - this uses uart serial communication
  2. SPI communication with the NINA works, and the WiFiNINA library (which uses SPI) seems to be working.
  3. BLE mode on the NINA seems unresponsive, but the uart serial connection should be working since the same uart was used for the firmware upload (which was successful).

Thanks for any help or ideas!

Post a schematic showing how all of this is connected. Note any leads over 10"/25cm. Post links to the technical information on the hardware devices. Without knowing the system it is very difficult to come up with an answer for you.