How reliable is Bluetoth?


With help of Phillipe Cantin, Byron's Blog, and Martyn Currey I managed to get my Bluetooth connection working. There were just 2 Arduinos connected, using HC05 Module.

  • Comparing to NRF24L01, it is more difficult.
  • It seems that power used ist double, distance increase may be just 10%.
    However, what puzzles me, is that 20% of data volume is wrongly transmitted.

Test as follows:
I transmitted a 16 Bit Integer in a handshake protokoll.
Per transfer, the integer got increased by "1".
This runs fast an reliable, if I replaced the HC05 by some cable connection, from RX Arduino 1 to TX Arduino 2 and vice versa, no worries, all fine.
However, if I use the HC05 Modules, appox. 20% of data is wrongly transmitted.
Is there no error protection, check sum in the SPP protokoll?
What is your experience?


Is there no error protection, check sum in the SPP protokoll?


What is your experience?

That without seeing your code, we can't help. Even with seeing it, there are no guarantees.

What is your experience?

In my experience a lot of Bluetooth messages aren't received by the target device. If it's important for messages to be received I generally transmit the message several times and if no acknowledgement is received, I transmit the data again.

I'm not aware of any sort of automatic retries with Bluetooth so I use my own protocol.

I found my App Inventor 2 program became much more cumbersome when I added acknowledgements and retransmission. The plus side of this extra code is, unless an error message is displayed, I can be sure the message was received.

I have data reliability issues with HC-05/06s using any speed other than 9600 on software serial and anything above 38400 on hardware serial. If I need accurate data I use a very simple checksum.