I just purchased an Arduino Nano 33 IoT for a project and wanted to get a head start on understanding how to program it. Specifically, I'd like for it to be able to communicate with my phone over Bluetooth Low Energy (BLE). The product page says that it has support for BLE but I can't find any documentation/tutorials on programming it to use BLE. I'm assuming that this library, ArduinoBLE, would be the best one to use. Would anyone be able to confirm/deny this, and point me in the right direction if it's not what I should be using?
The Nano 33 IoT is essentially a scaled down version of the Arduino MKR WiFi 1010 in that it uses the same microcontroller and the same WiFi/BLE module. So most of the information you find about the MKR WiFi 1010 will also apply to your Nano 33. You're correct that the ArduinoBLE library is the correct library for you Nano 33 IoT.
The ArduinoBLE library has just been upgraded to version 1.0.0 a few hours ago.
The description on Git and on the page of the library (which explains a few useful things about BLE) says it "enables BLE connectivity on the Arduino MKR WiFi 1010, Arduino UNO WiFi Rev.2, Arduino Nano 33 IoT, and Arduino Nano 33 BLE." I'm not sure the Nano boards were supported before this new version.
I've just tried one of the example sketches : BatteryMonitor.ino. It seems to upload correctly but my smartphone don't detect the Nano (I've tried with one of the App mentioned at the beginning of the sketch : nrF Connect). Have you gotten some success with bluetooth since you posted your question malcominyo ? (or anyone ?)
EDIT : it's working ! (apparently)
(nRF Connect is connected to it but the Nano doesn't appear on the bluetooth tab of the phone itself - maybe because it's Bluetooth Low Energy and not Bluetooth classic ? - and I've no idea how to get infos from the board through this connection but it's a start ! I can read the data inside nRF Connect )
Check out this Tutorial - https://rootsaid.com/arduino-ble-example/ . Its a scaled down version of the battery level indicator for peripheral device. The code is uploaded Arduino Nano 33 BLE Sense but I believe this will work with IoT too.
Yes, the ArduinoBLE library supports central BLE and the latest version that I have been using (1.1.1, I believe) works fine. I just posted a little project that uses the old TI SensorTag. This was a re-do of a project that I had done a couple of years ago with a different board. The code works with either the NANO 33 IOT or the MKR WiFi 1010, without any changes.
Can I use Arduino Nano 33 IoT / BLE Bluetooth module / connection as serial port for programming (upload code via wireless connection) like described in this article for Arduino Uno + HC05?