HC-05/HC-06 Bluetooth - Fixing the Problems

Im sure a lot of you have seen my discussions regarding the recently discovered issues with the HC-05 and HC-06.
Ive been able to narrow it down to anything AFTER 2.0 firmware being a problem here.
doing some more digging, I came up with this:

"As I've noted on a couple of other threads, recent HC05 modules have newer firmware that is causing issues with the current robot radio protocol.

The older version 2.0 firmware (linvor) would transmit packets immediately. The new versions (firmware versions starting with 3.0 and 4.0) will buffer up 230 bytes before sending. Since the gamepad packets are typically under 20 bytes sent every 100 milliseconds, this causes a lag of about 2 full seconds when using hc05 modules with these later firmware versions.

(Please note: we're not talking about bluetooth versions here like BLE is V4 bluetooth, we're talking about bluetooth version 2 with firmware versions starting with either 2.0, 3.0, or 4.0).

After spending hours and hours looking, and asking multiple manufacturers, there is simply no documentation at all available on version 3.0 and 4.0 firmware for HC05. Therefore, I have not been able to find any AT commands to adjust the buffering behavior of the newer HC05 modules.

This has come to a critical point now, because I can no longer find anyone who sells firmware version 2 HC05 modules, and my stocks are down to just a week or two supply of the v2.0 firmware modules.

***For the last couple of weeks I have been working on a software fix, which is kind of a hack. This is to simply pad out every radio packet with enough nulls to reach the 230 byte buffer limit. On the robot side, these extra null bytes will simply be ignored. ***

In my own tests, this does work and there is no noticeable lag, the software performs identically to the old protocol. If you do the math, there is plenty of room in the bandwith to "waste" these extra bytes (bluetooth transmits at 3 megabits speed even though the uart is going at only 38400 baud, so in 100 milliseconds there is no problem at all wasting this many bytes).

Well, I'm going to do another weekend worth of testing, then switch over to the new system. So basically all kits going out after mid-October will have the new robot and gamepad firmware that forces packets out. This is also backwards compatible with the old 2.0 firmware, so should cause no issues if you still have the old hc05 modules. "

is there anything we can do here about it - on the app side? on the sending side?
anything beyond 2.0 will freeze any app for a good half second every couple of seconds.

also, is there any issues similar to this with running BLE via an HM-10 BT chip?
Happy to make the change if no one has experienced issues.

this is the only HC-05/HC-06 I can find that runs flawless on App Inventor using classic BT - ironically when firmware is checked, its Version 2.0 - the only version noted above to work issue free.

1 Like

Hi,I have v4.0 hc-05,and I have same problem that 2 second delay.
So I want to know how to pad out every radio packet with enough nulls to reach the 230 byte buffer limit.
If you can tell me,I really appreciate.

go to amazon - buy an HC-05 from DSD tech. it will work without issue.
mit app inventor doesnt work correctly with new firmware chips for whatever reason.