Most compatible BLE for streaming to iOS/Android

I have a device at the moment which is an Arduino Uno R3, connected to a Nova PM2.5 Sensor, a Dragino LoRawan/GPS Shield, and a HAT to tie it all together to the power, etc…

I’m ditching the Dragino to try and get a Bluetooth connection to iOS/Android devices, I’ll be writing a React.Native app to receive and store the data received from the Nova PM2.5 Sensor, and regularly send it to cloud storage.

Does anyone know what the most suitable and compatible device for Bluetooth for most iOS / Android devices would be? DFRobot BLE Link, Adafruit Bluefruit SPI/UART, etc…

Does anyone have a good recommendation of which BLE module to choose for this kind of project? The BLE doesn’t have to be super strong and long range, most people will have the device on their person, it just has to connect up to a lot of devices so they can send the data.

Ahh o.k. I think I was looking in the wrong spot. The HC-05 looks like what I’m looking for.

Hi Michael,

The HC-05 is a classic Bluetooth workhorse but I’m not certain if it actually supports the Bluetooth Low Energy operating mode. I believe the HC-05 pre-dates Bluetooth version 4.0 when the LE operating mode was introduced but the Bluetooth standards are a bit of a mess.

In short if your device is acting in a “classic” Bluetooth mode, it won’t be able to communicate with a Bluetooth Low Energry device.

1 Like

How regular do you plan to receive update?
And what is the size of the data being sent?

IOS devices only support BLE (not classic). Trent mentioned that HC-05 is not BLE compatible.
Now BLE 4.0 has a speed of 1 Mbps () throughput. In other words, the data rate is probably much less than 1 Mbps.

The BluetoothSerial.h library from Arduino IDE is very slow. Tested this using ESP32 and received data at a rate around 7Hz. The payload used is a float, so 4 Bytes.

Would the device support WiFi and be close to a WiFi router?
If so, sending a POST request to your cloud server to store the data to cloud storage is less complex than sending via bluetooth then to cloud.

But since you describe the device as a wearable (on their person), I think any nRF52840 boards is well suited to your project. It has BLE 5.2. And likely has less power consumption than an Arduino Uno.

1 Like