WiFi and Bluetooth LE can now be used simultaneously on Arduino boards with NINA-W102 (ESP32) module

Today I learned that WiFi and Bluetooth LE could NOT be used simultaneously on Arduino boards featuring the ESP32-based u-blox NINA-W102 wireless module, impacting the Arduino Nano RP2040 Connect, Arduino MKR WiFi 1010, and Arduino Nano 33 IoT boards.

It’s a long-running problem since the first Arduino board with NINA-W10 was introduced in 2018, and meant you could use WiFi or Bluetooth LE, but not both simultaneously. The good news is that the issue has finally been fixed, thanks to a new firmware for the module and new WiFi and BLE libraries.

Arduino Nano RP2040 Connect WiFi and BluetoothMore specifically, you’ll need the following libraries and firmware:

  • WiFiNINA library version 2.0.0 or later
  • ArduinoBLE library version 2.0.0 or later
  • NINA-W102 firmware version 3.0.1 or later

The libraries can easily be updated in the Library Manager in the Arduino IDE, and the firmware needs to be updated with the Firmware Updater Tool in Tools > WiFi101 / WiFiNINA Firmware Updater.

All three boards mentioned in the introduction benefit from the update. However, the Arduino UNO WiFi Rev2 board cannot do so due to limited memory, despite also having a NINA-W102 module. Here’s an example of code where both WiFi and Bluetooth are used at the same time:


That’s all good, but why exactly couldn’t WiFi and Bluetooth LE be used simultaneously before? That’s because WiFi was connected through SPI, Bluetooth to UART, and SPI and UART shared some pins to preserve more GPIOs for the user, but creating conflicts when using both at the same time. The solution was to use SPI for WiFi and Bluetooth. This doesn’t explain why it took so long, though.

Arduino NINA-W102 WiFi SPI +  BLE UART vs WiFI +  BLE SPI
SPI used for WiFI + UART for BLE (old method) vs SPI used for WiFi and BLE (new method)

Via Arduino Blog

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
3 Comments
oldest
newest
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC