How to connect the OpenBCI RFDuinos to any other RF Device
Hi.
I own an OpenBCI Cyton + Daisy setup, bought in just the last year, and I have spent 3 days trying to understand the RF communication of the RFDuinos installed in this hardware. I have a BluNRG-2 Dev Board from ST, STEVAL-IDB008V2, which I want to communicate with the OpenBCI system. Neither am I able to identify either the dongle or the Cyton (of course in transmission mode) through the BLE Dev Board, nor am I able to scan those two in either Windws10 Laptop or Android 9 phones (I tried several desktop and android application for that purpose, but nothing helped). And, I must say, the lack of documentation for RFD22301 is making the situation worse.
It would be really appreciable if someone could provide a little assistance in this regards, as to how to connect the OpenBCI RFDuinos to any other BLE device? Please note that the other BLE device is completely in my control, so I can set it to whatever Bluetooth settings the OpenBCI RFDuinos need.
Thanking you, and looking forward to hearing back from you soon.
Warm Regards,
Abbas.
Comments
Abbas, hi.
The RFduino (dongle and mainboard) use a special Nordic protocol called Gazelle, or GZLL. They do NOT speak normal Bluetooth. GZLL is only available for the RFduino chip, as it is a proprietary protocol.
What is your desired end goal? Have you considered other microcontrollers which have a usb port? Such as Raspberry Pi, various Arduino shields, etc.?
Regards, William
This code is available, but then replaces the firmware in the mainboard RFduino. It only provides two channels at 250 Hz.
https://openbci.com/community/cyton-ble-code-now-in-alpha/
With this code loaded in the mainboard RFduino, you then will not be able to use the GUI to connect the Cyton dongle with the mainboard. As the GUI and dongle depend on the original firmware.
Regards,
Hello wjcroft.
Thank you for responding to this discussion. I appreciate your promptness.
Thank you for pointing that out.
The OpenBCI application is pretty decent for starters in EEG/biosignal analysis. I have developed my own hardware and wanted to visualize the data on the OpenBCI application. I can easily deliver the data from my hardware to the COM port through various arrangements, but what after that?
I have decent experience in embedded development but am not very good with software development. And so, I do not want to meddle with the GUI's source code!
If you could guide to any resource describing the communication between the COM port and the GUI, it would be a great help. I can tweak the firmware on my board to be compliant with that communication.
Thanking you once again, and looking forward to hearing back from you soon.
Warm regards,
Abbas.
https://docs.openbci.com/docs/02Cyton/CytonSDK
Thank you once again.
I read this page earlier. This page describes the Cyton Command Protocol.
But there is this "Dongle" in-between! Isn't it doing anything? Or it just acts as a transparent medium between the GUI and the boards?
The mainboard PIC32 assembles the data stream samples into packets and passes to mainboard RFduino, which sends over the radio. The dongle RFduino receives the radio packets presents that stream as received, and adds some framing byte(s). Check the docs.
Additionally both RFduinos implement a radio channel management 'protocol', as described in the SDK,
https://docs.openbci.com/docs/02Cyton/CytonSDK#firmware-v200-new-commands
Since you are not dealing with radio channels, this would be unnecessary.