Use BLE they said, it’ll be fun they said
After searching for what seems for ever (2years?). I have FINALLY come across a BLE module that has a through put which is acceptable.. in fact.. I’d go as far as saying absolutely incredible.
Using our current wireless module with BLE (not classic Bluetooth), I found I could get around maybe 4k bytes per second. It was very slow and not suitable for doing big flashes.
With the new module I am testing with, I was able to get 40k bytes per second with BLE! That’s 10x the speed!
To put this into perspective, a P01 ecu memory size is 512k. I can transfer 512k in a bit over 13seconds.
In comparison to the old BLE, it takes 2min 8seconds.
One of the biggest differences here is BLE5 and also sending at 244bytes per frame at 5ms intervals.
The theoretical max value of this would be 48.8k/sec. Only way to increase more here is increasing the frame size but my iPhone is locked at 244bytes. If I could do the 512byte frames, could ramp this up to around 100k/s, which I suspect the newest iPhones would support.
This is a massive leap forward for iOS speeds. Even though wifi would work for iPhones, using BLE is a lot less hassle for the end user so I’m excited to put together a demonstration app for flashing via BLE for real time life examples.
Unfortunately there are cons to using this new module. It does not support wifi or classic bluetooth. This means basically every single OBD2 Android app will no longer work with OBDX tools since they are almost all designed for classic bluetooth, whereas iPhone obd2 apps have to support BLE or WiFi.
The module is also 4x the cost of current solution, so that’s another big factor.
With that said, this will likely be put on a OBDX tool that is strictly designed for speed with smartphone apps. So it’s not really intended to be used as a generic scanner, but a dedicated tool for smartphone (more on that soon!).