HID needed to recognize BLE uart on windows ?

Posted on
  • I've a first test running for ESP32 having NUS (Nordic uart service) .
    It is recognized on my Android. There are some problems, anyway it's fine for first step.

    On Windows10 same device is scanned/found, but it does not connect.
    Somewhere I found a hint of missing HID.
    I've seen http://www.espruino.com/modules/ble_hid_­keyboard.js and followed the link http://www.usb.org/developers/hidpage/Hu­t1_12v2.pdf

    My knowldege around HID is (very) close to zero.
    Is there any idea, how HID needs to be configured for NUS ?
    Or, may be, I'm on the wrong train ?

  • You shouldn't need HID to get NUS to work at all - by default HID isn't enabled.

    Windows is a bit odd - have you tried with the Puck so you know how it generally works? Usually you pair in the OS (but it doesn't stay connected) and then you can connect from the IDE separately.

    For the NUS you should need:

    • The ESP32 to advertise the NUS UUID
    • The ESP32 to have the NUS service and 2 characteristics

    It might also help to try changing the advertising name of the ESP32 to Espruino - if the IDE is unable to find devices by the UUID they advertise then it defaults to doing it based on if the name starts with Puck.js/Espruino/etc

  • I get Puck.js connected without problems.
    Sometimes I've to drop and reconnect, but it works fine.

    Please see here http://www.jumware.com/JUMSpruino/proble­ms/Bluetooth_ESP32.html
    for some screenshots and a video

    nRF connect gives same raw data for advertising as Puck.js does, except the name ;-)
    nRF UART v2.0 connects, sends data and receives data.

    Under windows (changing the name to Espruino doesn't change anything)

    • admin page for adding bluetooth devices finds the ESP32 device
    • - after click on device "establish connection" is shown (my translation)
    • - some seconde later "try again" is shown

    With Puck.js I've to do the same and it connects. And next Puck.js is available for IDE

  • Could it be that the ESP32 advertises that it supports secure connections (bonding), but that code isn't implemented?

    You might be able to see if bonding succeeds when using the nRF connect app?

    If so, just make sure that the ESP32 doesn't say it supports bonding - then you should be fine for connections on Windows.

    I guess eventually supporting bonding (so you can do secure connections) would be good. It's needed for HID emulation on windows - but for most stuff it's not needed.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

HID needed to recognize BLE uart on windows ?

Posted by Avatar for JumJum @JumJum