question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

I 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.

Screenshot 2019-11-21 at 10 26 39 Screenshot 2019-11-21 at 10 42 55

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.

Screenshot 2019-11-21 at 10 28 31

Is this a dead end? Would be great to know what can be done to get this working with the ESP32.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:2
  • Comments:6

github_iconTop GitHub Comments

1reaction
dheeracommented, Apr 11, 2020

@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.

0reactions
Godefriduscommented, Mar 1, 2022

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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ESP32 Resources - Espressif Systems
ESP32 Resources: SDK & Demos, Tools, Sample Codes, Documentation and FAQ.
Read more >
Installing — Arduino-ESP32 2.0.6 documentation
Installing¶. This guide will show how to install the Arduino-ESP32 support. ... This is the way to install Arduino-ESP32 directly from the Arduino...
Read more >
Installing ESP32 in Arduino IDE (Windows, Mac OS X, Linux)
Learn how to install the ESP32 board add-on in Arduino IDE in less than 1 minute. ... Filesystem Uploader Plugin) that are not...
Read more >
Arduino core for the ESP32 - GitHub
Supported Chips. Visit the supported chips documentation to see the list of current supported ESP32 SoCs. Decoding exceptions. You can use EspExceptionDecoder ...
Read more >
Setup ESP32 support in the Arduino IDE (Windows)
Download ESP32-Arduino Core. With the Arduino IDE installed and operating on your computer, use your browser to download the ESP32 support software from...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found