I've been trying to host a BLE-server on my ESP32 with a custom service. I'm trying to read the service data in NodeRED, but the service IDs and custom characteristics don't show up in NodeRED whenever I import the scan results of my BLE input node in NodeRED. The device and service both show up fine on Android using NRFtool:

enter image description here

However, in NodeRED, the device shows up and connects just fine, but none of the characterestics are displayed at NodeRED's end:

enter image description here

enter image description here

I'm using NodeRED version 1.2.9 with the Generic BLE node. And the ESP32 sample i'm using can be found here.

I've also tried the BLE server examples included with the BLEDevice library with similar issues. In addition to this: I'm not sure if this is just a typo in the node's error message, or if it's a typo in the node itself, but all mentions of the type "topic" are displayed as "tpoic" in NodeRED's debug log. Though i doubt this affects the functionality of the node in any way. Nowhere in my flow is there a mention of the keyword "tpoic".

enter image description here

Any suggestions as to how i could make my services show up in NodeRED would be appreciated. Thank you.

1 Answer 1


Turns out BlueZ on linux no longer supports ESP32 BLE devices. I tried the same code on a bluefruit M0 and it worked just fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.