BLE.begin() returns 0 (failure)

Hello,

Arduino newbie here. I have built a custom board that is nearly a clone to the Nano IOT 33, except with a few extra ICs (e.g. motor drivers) on board. The board seems to work just fine, except for the BLE functionality.

When I call BLE.begin() I get a failure code (0), but I don't have any information beyond that to diagnose what's wrong. I'm running Visual Studio/Platform.io with a USB debugger. Any tips on what I could do to further understand why the BLE module cannot initialise? It's the same Nina module on the Nano IOT 33, connected in the exact same way according to the schematics, and assembled professionally by a PCB manufacturer (not myself).

Thanks in advance!

The Nina module like requires some firmware.

In the WiFiNINA examples there is a firmware updater sketch and in the IDE under Tools is a WiFiNINA Firmware Updater. Maybe that is for both BLE and WiFi.