ESP32 arduino dev kit BLE max speed
Posted: Thu Jan 12, 2023 1:33 pm
Hello! I'm doing my internship and I'm totally a novice in the themes of Arduino, ESP32 and C++. The main task is to send data from one ESP32 to another ESP32 on maximum possible speed (data throughput). During my research I have found that theoretically BLE can achieve speed up to 1 Mbit/s. But with my server and client programs can achieve only 4.6 kbit/s without MTU setup and 5.6 kbit/s with MTU = 517.
Main question: Is it possible to achieve more speed with my equipment setup? I know that the BLE standard is not suitable for high speed data transfer, but my main task is to find the actual max data transfer speed.
I’m using two ESP32_Devkit_V4 and Arduino IDE 2.0.3. External antennas and range between them less 0.15 - 0.2 m. Using some different examples from the internet I have built client and server programs. Server is sending data to the client.
I used libraries:
I set up the delay between messages = 90 ms
Every message length is 512 bits, for example the first one is:
If I make the message length more than 512 bits I will lose some messages in the receiver part. If I set up a delay between messages less than 90 ms, I will lose some messages too.
I attached my client and server programs here in txt files.
Thank you for your replies, Gleb.
Main question: Is it possible to achieve more speed with my equipment setup? I know that the BLE standard is not suitable for high speed data transfer, but my main task is to find the actual max data transfer speed.
I’m using two ESP32_Devkit_V4 and Arduino IDE 2.0.3. External antennas and range between them less 0.15 - 0.2 m. Using some different examples from the internet I have built client and server programs. Server is sending data to the client.
I used libraries:
- #include <BLEDevice.h>
- #include <BLEServer.h>
- #include <BLEUtils.h>
- #include <BLE2902.h>
- delay(90)
- valuesend= "(111111)(beight)(beight)(beight)(beight)(beight)(beight)(beight)";
- customCharacteristic.setValue(valuesend.c_str());
I attached my client and server programs here in txt files.
Thank you for your replies, Gleb.