Ganglion packet loss

ynivekcynivekc Sydney, Australia

I apologize in advance if this has been solved elsewhere, but I have been experiencing data loss when it comes to the collection of EEG data using a Ganglion device. Currently, the device is connected to my custom C# program using the brainflow library with the bluetooth dongle that comes with the Ganglion device. I'm not sure how I should account for the data loss, and if there were any existing methods that are used to prevent data loss?

In the thread,
https://openbci.com/forum/index.php?p=/discussion/1779/ganglion-dropped-packets-using-csr-dongle-with-raspberry
There seems to be the suggestion to use BLED 112 dongle instead of the CSR dongle, but in the thread
https://openbci.com/forum/index.php?p=/discussion/2718/reading-ganglion-bled112-dongle-on-os-serial-port
It seems to be hinting that the bluetooth dongle purchased with a ganglion device should already be a BLED112 dongle. I was wondering if the information in those threads were outdated, or would swapping the dongle still fix the data loss problem?

Comments

  • wjcroftwjcroft Mount Shasta, CA

    Hi Yni,

    The BLED112 dongle is the only one supported. The CSR dongle was briefly used at the time of introduction, but later dropped. Please mention what hardware and OS, as well as what USB ports you are using (USB-A vs USB-C).

    Does the packet loss diminish when you are closer to the computer? Another strategy is to use a usb extension cord and place the dongle closer to the Ganglion board. Are you using the Packet Loss widget to see the loss? How does the loss affect your data?

    William

  • wjcroftwjcroft Mount Shasta, CA

    https://shop.openbci.com/products/ganglion-dongle

    The etched writing on the side of the dongle says BLED112. This is what you must have, otherwise ZERO data would be received.

  • ynivekcynivekc Sydney, Australia
    edited November 2022

    Hi William,

    Thanks for your help. We are currently working on a windows machine, and connecting to the device with the dongle provided. I've just taken a look at the side of the dongle and it is indeed a BLED112. It is plugged into the USB-A port, and we are looking at the packet loss by analysing the data we recieve from the dongle manually, by tracking the continuity of the 'counter' of each data sample. Currently, it seems that at certain positions, the Ganglion device is not able to communicate with the dongle, and after a long enough period with sufficient missing data, disconnects.

    Moving closer to the device definitely helps, but we are missing data when sitting directly in front of the laptop, and it'd be infeasible to make users move even closer to it. There is more missing data when in certain positions where the participant's head is directly in between the dongle and the device.

    The USB extension code sounds like a great idea! I'll look into it for sure, but if there was a way to ensure that there's no missing data, or that missing data can be reconstructed would be great.

  • wjcroftwjcroft Mount Shasta, CA

    Have you tried using the GUI Widget "Packet Loss"? You can watch the counts while maneuvering the BLED112 on an extension cord. If you are using metallic desk surfaces or cabinets, this can reduce the BLED112 efficacy, when the dongle is plugged into the side of a laptop on such a desk. The extension cord will get the dongle away from metallic surfaces.

    https://github.com/OpenBCI/OpenBCI_GUI/blob/master/OpenBCI_GUI/W_PacketLoss.pde

    The Bluetooth Low Energy radio channels used, are shared with other Bluetooth and Wifi devices in the area. If these other devices are monopolizing the radio bandwidth, it will increase the packet loss. So trying alternate lab areas may also improve the situation.

  • ynivekcynivekc Sydney, Australia

    Hi William,

    I have tried the GUI Widget, and implemented something on my program to do the same operation. I have checked my packet loss calculation with that of the Widget and they seem similar enough. Since I am working on my program using real-time EEG data as inputs, I needed the packet loss calculations to happen while the program is running, but not the OpenBCI GUI.

    I will test the device with the dongle attached to the extension and see if the problem goes away. Switching lab areas does seem to reduce data loss, but since we are working with a home based trial, that might not be a sufficient solution for the participants, who might not be able to find a suitable area.

    Thanks for explaining! The fact that low energy bluetooth is used sounds perfectly reasonable and I can see how other High Energy Bluetooth devices might affect the connection. Do you know whether we could change the dongle to a high energy dongle, and how we could look into doing that?

    Thank you for your help!

  • wjcroftwjcroft Mount Shasta, CA

    No, only the BLED112 works at present.

    re: Bluetooth versions. There really is not something called "high energy" Bluetooth.

    https://en.wikipedia.org/wiki/Bluetooth
    https://en.wikipedia.org/wiki/Bluetooth#Bluetooth_4.0

    Bluetooth 4.0 introduced the BLE protocol. Which is present in all subsequent versions.

  • ynivekcynivekc Sydney, Australia

    We've just used a USB extender, and it works wonders! It seems like the hardware within the laptop was interfering with the signals, but just by moving the USB 6 inches away from the laptop the packet loss drops to 0. Thanks!

  • retiututretiutut Louisiana, USA

    @ynivekc Awesome! Glad you got this to work with a USB extender. This helps confirm that we should recommend this to users who have similar issues.

Sign In or Register to comment.