This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

how nRF52 chip connects to another Bluetooth device?

Hi everyone,

I am using board PCA10040 v1.1.0, softdevice 13.0.0, Eclipse Oxygen. I am trying to connect my board with a device call Daydream controller.

There is also a emulator app of that device on Android phones.

It is said that there is BLE 4.2 on the Daydream device. Could you help me how can I set up a connection with that device using my PCA10040 board, please?

Thanks for reading.

Parents
  • Hi,

    There won't be really easy 5-minute way but if you understand how GAP and GATT layers work then you could see some of GAP Central examples in nRF5 SDK which are basically doing what you should do in your nRF5x embedded FW (on top of S13x Nordic SoftDevice aka BLE stack). Probably using nRF Connect App for Android or iOS (downloadable from official app stores) and trying to detect your daydream controller, connecting and observing if it really is GAP Peripheral + GATT Server device (as it looks from the first sight). If this is verified then you have long journey in front of you and several possible ways: you can either try to get some documentation to the BLE protocol and implement it directly or you can decompile Android app (if this is your preference and skill-set) to get the protocol and implement it in Nordic stack API inside nRF5x or you can try to reverse engineer the protocol by using BLE radio analyzer/sniffer and simply observing the communication (including decrypting of BLE Security Manager layer as you can intercept pairing session and extract long term keys). Note that if there are any complex things like applicative layer security (encryption/signature scheme for confidentiality&authentication) then it can be really painful job.

    Good luck, happy hacking!

Reply
  • Hi,

    There won't be really easy 5-minute way but if you understand how GAP and GATT layers work then you could see some of GAP Central examples in nRF5 SDK which are basically doing what you should do in your nRF5x embedded FW (on top of S13x Nordic SoftDevice aka BLE stack). Probably using nRF Connect App for Android or iOS (downloadable from official app stores) and trying to detect your daydream controller, connecting and observing if it really is GAP Peripheral + GATT Server device (as it looks from the first sight). If this is verified then you have long journey in front of you and several possible ways: you can either try to get some documentation to the BLE protocol and implement it directly or you can decompile Android app (if this is your preference and skill-set) to get the protocol and implement it in Nordic stack API inside nRF5x or you can try to reverse engineer the protocol by using BLE radio analyzer/sniffer and simply observing the communication (including decrypting of BLE Security Manager layer as you can intercept pairing session and extract long term keys). Note that if there are any complex things like applicative layer security (encryption/signature scheme for confidentiality&authentication) then it can be really painful job.

    Good luck, happy hacking!

Children
Related