I too am trying to connect the NRF52840 (ItsyBitsy) to a Raspberry Pi Zero via bluetooth. As I am very new at this, I am having trouble where to start.

What I do have running is the ItsyBitsy board with Arduino code but since there are so many examples in the library, IDK which one to use to send data from a sensor to the Pi Zero. My assumption is that the ItsyBitsy must run one of the Peripheral sketches (a list is here: https://github.com/adafruit/Adafruit_nRF52_Arduino/tree/master/libraries/Bluefruit52Lib/examples/Peripheral) but I don't know which one.

More importantly, is that the Pi will connect to the ItsyBitsy but states, "Paired successfully, but this device has no service..."

On the ItsyBitsy side, I can experiment with various sketches, as there are plenty of them... but on the Pi side, I am at a total loss.

Thanks for any help I can get.

1 Answer 1


If you want general data exchange between the ItsyBitsy and the RPi, then I would go for the bleuart example.

I believe this is the Nordic BLE UART Service. Sometimes called Nordic UART Service (NUS). This is not an officially adopter profile by the Bluetooth SIG, but it is a common custom profile that is documented in a number of places. There are some more details of this at https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html

There are also a number of Apps that you can use on your phone to test the setup on the ItsyBitsy. e.g:

You haven't said what language you would want to use on the RPi. You might be able to find something by searching for the Nordic UART Service or the specific UUIDs used.

For a quick test on the RPi, you can use the bluetoothctl tool to connect and write to the required attribute.

Another alternative to test the connection without having to write code is from within the Chromium browser. The URL chrome://bluetooth-internals/#devices allows you to scan and connect to devices. Once connected, it will allow you to read and write to characteristics on the device.

The NUS peripheral is implemented on the BBC micro:bit and I have previously experimented creating a client in Python which should work if you use the correct address for the ItsyBitsy. https://gist.github.com/ukBaz/07cb8e67c1888bdb97c3f22272b6a263 The clients main functionality is to print any data that is sent to it.

Disclaimer: I don't have the ItsyBitsy so I can't test any of this.

  • Thank you, I'll give your code a shot... and yes, I was thinking Python because that seems to be the easiest language I can muddle around in.
    – Brian
    Aug 6, 2020 at 21:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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