ESP32 Support
See original GitHub issueI got really enthusiastic when I saw this library! But can’t get it to work with my DOIT ESP32 Devkit V1. Seems like a great candidate because of it’s inbuilt Bluetooth LE and Arduino IDE compatibility.
Can this library work with the ESP32? Or does it need changes?
I found this fork or Web-Bluetooth-Terminal, which supposedly adds ESP32 support. But it didn’t work for me either.
I’m using this sketch from this tutorial on the ESP32 to enable Bluetooth LE. It uses the UART service UUID 6E400001-B5A3-F393-E0A9-E50E24DCCA9E
and a characteristic of 6E400002-B5A3-F393-E0A9-E50E24DCCA9E
for receiving data with “WRITE” and a characteristic of 6E400003-B5A3-F393-E0A9-E50E24DCCA9E
used to send data with “NOTIFY”. This also matches the UUID and characteristic in the Web Bluetooth Terminal fork by kpatel122. So I had a good feeling about it 😝
I can connect to the ESP32 with Adafruit Bluefruit LE Connect for OS X. It connects to the ESP32 just fine, logs the received data and I can send values to it as well, which shows up in the Arduino Serial Monitor. So far so good.
But then trying to connect with Web Bluetooth Terminal in the latest Google Chrome, it won’t list any devices. Same with the fork. I tried using the underlying BluetoothTerminal.js API directly in this JSitor snippet, but it doesn’t list any device in the permission dialog either. It just says: “No compatible devices found.”
Looking in chrome://bluetooth-internals
it shows me the following info for the ESP32:
ESP32: UNSUPPORTED_DEVICE
Name: ESP32
Address: 30:AE:A4:40:50:7E
GATT Connected: Not Connected
Latest RSSI:Unknown
Services: Unknown
If I enable the Experimental Web Platform features
in chrome://flags
(which I just did for testing, because I can’t expect users of my web app to do this), I can send an receive data from the chrome://bluetooth-internals page, but the ESP32 still won’t show up in Web Bluetooth Terminal, not in the fork and not in my JSitor snippet.
Is this a dead end? Would be great to know what can be done to get this working with the ESP32.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:2
- Comments:6
Top GitHub Comments
@immakermatty @jip-hop Here’s my working ESP32 version https://github.com/dheera/ESP32-Web-Bluetooth-Terminal
The main change is that RX and TX need to be different characteristics. I have also included a reference sketch in my fork that works.
I created a sketch for the ESP32 Dev Kit to communicate with my iPhone using the Bluefruit Connect app. I added code for the Control Pad arrows and numbers: https://github.com/Godefridus/ESP32/blob/main/ESP32_UART.ino Read the heading of the sketch for explanation.