BLE UUIDs

I am using a Sparkfun Pro nRF52840 device. After your fix, I can now compile its code in Arduino. I’m new to android Bluetooth Low Energy so please bear with me. I can scan for BLE devices and the sparkfun does show up. How do I get the UUIDs for the Sparkfun Pro device so I can try and talk to it via its UUIDs so I can receive data (specifically analog data). I couldn’t find much help in the forums and most “google” answers are for the heart monitor with know UUIDs or a temperature sensor.

Any help or suggestion would be appreciated.

Hi Don.

I don’t know that you can set a UUID through Arduino just yet but you should be able to do that through the nRF5 SDK. We don’t have a tutorial for this but link below might point you in the right direction.

https://devzone.nordicsemi.com/nordic/s … s-tutorial

sorry for not being clearer. I’m not trying to set a UUID in Arduino. When I use the Sparfun Pro as my peripheral and from my Android I try to do a discoverServices in my GattCallback to see what services are available on the Sparkfun, I thought (again newbie BLE) that it would return some UUID to identify its services. BTW: I did look at the Nordic site but not really helpful.

After more testing and research, I got the following information:

00001800-0000-1000-8000-00805F9B34FB (S)

00002A00-0000-1000-8000-00805F9B34FB ( C RW)

00002A01-0000-1000-8000-00805F9B34FB (C R)

00002A04-0000-1000-8000-00805F9B34FB (C R)

00002A06-0000-1000-8000-00805F9B34FB (C R)

00001801-0000-1000-8000-00805F9B34FB (S)

00002A05-0000-1000-8000-00805F9B34FB (C)

6E400001-B5A3-F393-E0A9-E50E24DCCA9E (S)

6E400003-B5A3-F393-E0A9-E50E24DCCA9E (C N)

6E400002-B5A3-F393-E0A9-E50E24DCCA9E (C W)

These are the UUIDs I got when I did discovery. Those with the S at the end were the serviceUUID. The C stands for the characteristicUUID with R meaning Read, W meaning Write and N meaning Notify. My problem, I don’t know which to connect to for ask for the data I will want from the ADC. Hope you can steer me in the right direction.

Hi Don.

I’m afraid I just don’t know the answer to your question. I would assume that code you load onto the nRF52840 would create the appropriate UUID and allow you to query it, but I don’t know enough about BLE to say for sure. I suspect the “SoftDevice” that’s loaded into the module is where this is setup. We load the S140 SoftDevice into these boards to enable BLE functionality and I have a feeling that’s were the ID’s you’re seeing are being created. I found some documentation on the S140 SoftDevice [here that might be helpful to you. This might be a good question to ask in the [Nordic Dev Zone and I’m sure they could point you in the right direction. ( I know just enough about BLE to be dangerous.)

I was able to find a list of what appears to be UUIDs [here but I don’t know that this will help much. BLE does allow you to write your own services but something on that list might work for you.

I wish I was able to help more, but we’ve reached the limit of my knowledge on this particular product.](Bluetooth GATT Services & Characteristics · GitHub)](https://devzone.nordicsemi.com/)](Nordic Semiconductor Infocenter)

I went to the Nordic forums. I found out that the UUIDs beginning with 6E4 are Nordic Uart UUIDs. The sample code provided by Sparkfun creates a variable BLEUart bleuart which is just a wrapper for the Nordic UART service. Nordic forums referenced me to the Arduino forums which suggested Sparkfun forum. In simple terms, does Sparkfun or Anduino have any android example of communicating serially (via UART) with nRF52840.

Hi Don.

Unfortunately all the examples we have are what’s already on our hookup guide.

I doubt Arduino has any examples, but if they do, the [Arduino Forum would be where you’d likely find them.](https://forum.arduino.cc/)

I have gotten back into Bluetooth stuff lately, using my older Bluesmirfs. I can talk to anything that will talk to a regular Bluetooth, but nothing that requires BLE. Your issues with BLE are making me wonder if I am going down the wrong path if we can’t get a terminal program to work with them. Or am I missing something? Both the iOS and Android appear to require BLE, NOT Bluetooth to connect to a peripheral - At least all of the terminal apps that I have found require that. Are the Sparkfun BLE boards (or the Adafruit BLE boards) capable of working with smartphone BLE apps?

I don’t want to follow another rabbit down the hole if I can avoid it. Currently I am looking at dropping BT/BLE and going directly to WiFi SOC solutions since anything can contact a web server, and those services are not that hard to code up for simple interface projects! A straight up serial terminal would be easiest, but I can spend a few days on a simple web server to do the same thing if I have to.

Thanks,

DLC

For the life of me, I couldn’t figure out how to create a new post (I obviously did in the past). But we are using a Sparkfun Pro nRF52840 device. To use it, we are connecting a variable resistor to pin 2 (AIN). When we do this, for some reason the Sparkfun Pro will lose its programming when I power it off. If I have this variable resistor connected when I program the board, it maps a drive on my PC and after programming the board I can’t even see the device in BLE. Now when ever I plug in the board, the mapped drive appears.

The mapped drive contains 3 files: Current.UF2, INDEX.HTM and INFO_UF2.TXT

Current.UF2 not readable

INDEX.HTM contains:

!doctype html>

INFO_UF2.TXT contains:

UF2 Bootloader 1.00

Model: SparkFun nRF52840 Mini

Board-ID: SparkFun nRF52840 Mini

Bootloader: s140 6.1.1 r0

Date: Nov 26 2018

Not sure why this is going on. Any help would be appreciated