Question: Looking for guidance on continuing with Bluetooth "Classic" or switching to BLE in my project.
Project description: There is an Arduino sampling 5 different pins, doing Analog-to-Digital conversion, at a rate of 200 Hz. This data is then transmitted via Bluetooth to an Android application which records and plots the data. Ultimately, I hope to achieve this with a battery powered Arduino for >10 hours at a time, in a small form factor. If I've done my math correctly, this corresponds to transmitting ~4.2KB/s*. Data-rates could go higher, but probably not more than twice as much.
Current Status: I started prototyping with an UNO and HC-05 (BT 2.0 transceiver), which connects to an Android app written using Flutter. I simply used Serial.Write to transmit the data and this has worked succesfully, barring some unusual noise.
Recently purchased some Nano 33 IoT, which according to the documentation, supports BT "Classic" (v4.2) and BLE . To my dismay, BT "Classic" is not enabled by default and requires some flashing.
Maybe now is the time to switch to BLE as it would help with battery conservation. The first reason for not switching is the Android App has already been written for BT "Classic" and I've no idea the amount of work involved to change the back-end to work with BLE. In addition to this, the guides for flashing the Nano IoT to get BT "Classic" to work are not straight forward (to me). Ultimately, I want the project to be optimal, so if it requires more work now, so be it.
Concerns:
-
Because of the data rate, switching to BLE does not really offer any significant improvement in energy conservation, and therefore is extra work with no benefit.
-
Is there any difference in security between BT Classic (v4.2) and BLE?
Thanks for your help in advance!
*Math for above: 4.2KB/s = ( (5 pins * 4 bytes/pin) + start byte for transmission sequence) * 200)