NINA-W102 in BLE mode doesn't play nice with other SPI devices

This post isn't directly about an Arduino Nano 33 IoT issue, but it could be indirectly, and this seemed like the most appropriate sub-forum to post in. If there is a more ideal sub-forum, feel free to move this thread to that sub-forum.

Anyway, here is what I am experiencing:

I have a custom board using a SAMD51P19A, and I've equipped it with a NINA-W102 for WiFi/BLE communication. The NINA-W102 uses SPI, and I have a few other devices on my board that also use SPI: including a TFT display, an SD card (using the SdFat library), and a couple of sensors.

I know that the NINA-W102 cannot do both WiFi and BLE simultaneously, so I never do. I am using the WiFiNINA library for the WiFi functionality, and the ArduinoBLE library for the BLE functionality. If I use BLE, I make sure to completely shut down the WiFi before ever starting up the BLE. Similarly, if I use WiFi, I make sure that BLE is completely shut down.

I have noticed an issue that arises only when using BLE, not while using WiFi on the NINA-W102. If I try to communicate with any other SPI device while BLE is active, that communication fails, and it puts my application into an unstable state. For example, if I have BLE active, and then I try to communicate with the TFT display (to draw pixel or something), the TFT display just hangs and does not draw. Additionally, the BLE will also hang and become unresponsive.

Therefore, I suspect that the NINA-W102 is not "playing nice" over SPI while in BLE mode.

I was hoping to debug this issue on an Arduino board to see if it is "just my board" or not. I have an Arduino Nano 33 IoT, which contains the NINA-W102 module, but unfortunately the Nano 33 IoT puts the NINA on its own dedicated SPI sercom, and it doesn't expose those specific pins to the user's application for other SPI devices. So I am unable to debug this on the Arduino Nano 33 IoT to see if I can replicate the issue.

I was curious if anyone else has seen or experienced similar issues with the NINA-W102? Is this a known issue?

In future iterations of my custom board, I could move the NINA to its own SPI sercom, but it'd be nice to debug it and get to the heart of what is going on. It's also possible there is some kind of electromagnetic interference going on while only in BLE mode, and so maybe moving things to another SPI line would not work?

If anyone else has experiencing something of this nature with the NINA-W102, please let me know! Thank you!

BLE uses Serial (UART). set the CS pin for NINA HIGH

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.