I have observed that if I push about 33 bytes every 25ms from arduino to iPad mini using HM-10, initially the data is received within 30ms, but after few minutes, the data is received after about 200ms, and at times the data get garbled.
a) Is there a benchmark available regarding number of bytes that can sent after some fixed interval?
b) Is there a way to ensure that data is not garbled?
As much as I know the serial transmission from Arduino to HM-10 is done with 9600 Baud.
With 9600 Baud the transmission of one single character (byte) takes about 1 Millisecond ( 1 / 9600 * 10 sec ~ 1ms )*.
So to transmit 33 chatterers takes about 33 ms.
When you transmit 33 characters every 25 ms - what do you think will happen?
... a nice traffic-jam ...
*) Every byte you transmit "produces" 10 bits of traffic:
1 start bit
8 data bits
1 stop bit
I'm a couple years late in replying, but you can increase the baud of the HM-10 to handle this, via AT commands. To set the baud rate to 57600 bps for example, try: