I recently bought the arduino nano 33 ble for a project. I chose this arduino board for 2 reasons :
- I used arduino cards and the Arduino IDE in the past and found it accessible for beginners like me.
- And I had difficulties finding other bluetooth 5 boards or modules that offer Long Range bluetooth.
Unfortunately, I found out that the libraries that go with the nano 33 ble (like ArduinoBLE) have very limited functionalities. For example, the Long Range bluetooth and the bluetooth pairing are missing whereas we see in the microcontroller's datasheet (nRF52840) that the hardware is compatible.
So I did some research in order to find other libraries or tricks to access to these features and I found some beginnings of solutions that I don't understand fully :
1- The nano 33 ble is based on mbed os that offers a BLE library (here) that is said to be less limited than ArduinoBLE. I found information on the Bluetooth pairing feature but a very few on the long range.
Also, when I wanted to try basic BLE API examples, I couldn't because even if we can import mbed functions in Arduino IDE using mbed::, the mbed examples aren't built like arduino's code (there is no setup() and loop()) and I found no tutorials on using mbed bLE library with arduino's code "style".
A solution of this would be to use mbed os IDE but it seems very complicated, needing to change the Bootloader (or something else i don't really understand) with a device like J-link that we must buy to make the board compile and upload.
2 - I found another library for the nRF52840 from Adafruit (here) that is also said to be less limited but still not much information on long range support. And it seems to need the same bootloader thing as mbed IDE to make the library work with the nano 33 ble.
3 - Using the datasheet, I tried to select the RADIO Long Range mode modifying registers with this command : "NRF_RADIO->MODE=5;" However, I doubt it is enough to really make it work knowing that if i don't want to recreate a whole library I still need to use ArduinoBLE that seems to be "interfering" with the command because it is switching back to basic BLE mode when I try combining both.
These are my questions :
Do you have information on how to use mbed BLE API in Arduino IDE and on the Long Range support ?
Is it worth doing the what's needed to use mbed os IDE or Adafruit Library ?
What parameters must I change using datasheet's registers to make Long Range work ?
Is there a way to combine these datasheet registers commands with the arduinoBLE library ?
Are there other ways to use the Long Range feature on the nano 33 BLE ?
Should I keep going finding solutions to use the nano 33 ble as I want or there are other boards/modules more adapted and easier to use (Which ones ?) ?
Thanks in advance.