Unable to connect to Onyx2.1


#1

I have an Kiiroo Onyx 2. Using the tutorial, I get to the part that says: “Let’s see what devices we can discover.” After starting the scan it does not find my device. It is not paired with the PC, but it is discoverable as Onyx2.1. I noticed the firmware is 1.1, causing the Device name to be Onyx2.1 . So, do you think the device name is the problem or is it something else?

Thanks


#2

It’s very likely that we just need to add the new BLE name, but I’ll see if mine upgrades this weekend, then I’ll be able to confirm.


#3

A quick update: my Onyx2 is reporting that it has firmware 1.6, and that it’s up-to-date. This could mean that you have a hardware revision that we’ve not seen yet.

Whilst I suspect that the protocol will not have changed, I’d love to test before making any changes.

If you happen to have an Android phone, nRF Connect will let you see the service and characteristic UUIDs of your Onyx, if these match the ones from the original Onyx2, then we can try sending it the same commands and see how it reacts.

The service UUID should be f60402a6-0293-4bdb-9f20-6758133f7090
Which should have these characteristic UUIDs:

  • 02962ac9-e86f-4094-989d-231d69995fc2
  • d44d0393-0731-43b3-a373-8fc70b1f3323
  • c7b7a04b-2cc4-40ff-8b10-5d531d1161db

If that all looks right, send 0x00 (byte) to c7b7a04b-2cc4-40ff-8b10-5d531d1161db.
Then send [ 0x60 0x32 ] to 02962ac9-e86f-4094-989d-231d69995fc2
Then send [ 0x03 0x32 ] to 02962ac9-e86f-4094-989d-231d69995fc2

If this all works right, the Onyx should “move” at half pace from one extreme to the other.


#4

Have this issue with a new 2.1

These look different from the above when I look at them in nRF Connect

UUID
00001900-0000-1000-8000-00805F9B34FB

Characteristic UUID are
1901
1902
1903


#5

Thanks for the UUIDs. I suspect two of those characteristics is going to have write attributes and the other will have read and subscribe.

Could you please try sending the initialisation message (the single 0x00 byte) to one of the characteristics and then the movement commands to the other ([ 0x60 0x32 ] [ 0x03 0x32 ])?

If the protocol is the same, all we’ll need to do is add the new UUIDs and the name to get the Onyx2.1 working.


#6

Just in case I’m understanding this wrong.

1901
Read Write Write without response
1902
Read Write Write without response Notify
1903
Read Notify

Sending 00 to 1901 turns off the device and disconnects

Sending 00 to 1902 first and then 0632 to 1901 followed by 0332 doesn’t seem to do anything