RFduino Packet Loss
Hi
I am a PhDc. in Biomedical Tech.
I own Cython+Daisy board at university and using it with 4 AA batteries. I had many problems running software i developed. OpenBCI_GUI shows that after 10-20cm distance, packet drops happens, causing serious spikes.
Since i can't get closer to USB port (i study SSVEP) i do need alternatives. Package drops occur randomly, after some point of movement, irregular times and if i place headset close (15-20cm) no drop happens.
I require a record with zero packet drop and i can use a cable if needed (soldering if required). Just don't want to use SD card. I need realtime processing. Does my BLE connectors malfunctioning? Is there any way to record with cables, or with stronger connection?
I'm using linux, but this happens with windows on different PC's too.
Comments
That's an extremely short distance. The Cyton+Daisy with Dongle typically can reach through walls with no packet loss, as tested many times at my house. There is probably a lot of noise in your environment. Please use a USB extension cable to put some distance between the computer and the dongle.
Also, the leads need to be connected, otherwise you will be picking up ambient noise exclusively.
Finally, when packet loss does occur (typically 1 packet), the GUI will interpolate the data to account for the dropped packet(s).
Murat, hi. As Richard mentioned the USB extension cable would even allow your dongle to be positioned / taped next to the Cyton mainboard. Be sure the conductive surfaces / traces on both boards are not in contact to avoid shorts. Some layer(s) of tape would prevent this.
The noise in your environment may be due to other wifi or bluetooth devices operating simultaneously. If you can get away from these, it would help. Either by moving your workstation location, or the noise producing devices.
It is also possible to change the radio channel of the Cyton using the instructions on the page below. Click the arrow to expand the section,
https://docs.openbci.com/docs/01GettingStarted/01-Boards/CytonGS#5-optional-settings
Regards, William
Thanks for responses. However, i tested this device both at home and university lab. Both desktop and laptop PCs. Is there any possibility that this RFD22301 is damaged?
There are actually TWO RFduino's. The dongle is one, and the other is mounted on the back of the Cyton mainboard. When did you purchase the Cyton? Do you have the latest firmware?
I still suggest you try changing the channel as mentioned at the previous link. That same link also describes an AUTOSCAN feature, that attempts to best align the two RFduino radio channels.
Changing channels did not worked. I suspect RFD22301, either dongle or device, has broken antenna. It seems like they're obsolete and i can't find them easily. I reprogrammed Cyton for 3.1.2. We bought them after June 2019.
I suspect antennas and batteries. Current alkaline batteries seems only provide 1.2V . Can i run with 4x1.2V rechargeable batteries? It will be below 5V but ADS1299 is capable of running at 4.8V. However, PIC and RFduino is unfamiliar to me
Alkaline cells should provide 1.5V, so total from pack is 6V. But 4x 1.2V = 4.8V should be ok. All the chips on the mainboard use a 3.3V regulator, so everything is designed to run ok from 3.7V lithium cells.
When you first tried system in June, did it have this limited distance range (and packet loss) issue? Or is that something that developed recently? Did you email contact at openbci.com in June to notify them of the range and packet loss issues?
"OpenBCI_GUI shows that after 10-20cm distance, packet drops happens, causing serious spikes."
As Richard noted, this has been fixed in the latest versions of the GUI. Infrequent occasional packet loss will be recovered, by interpolation of the missing packet. If you are processing your own serial data stream, you can do the same yourself.
"I had many problems running software i developed."
Can you elaborate?
We got device around end-of-summer and didn't used well to this day. Hard to notice since it is EEG anyway. I will buy some extra batteries tomorrow and respond if problem persists.
My thesis is about SSVEP-based BCI. Therefore, single drops per second might affect results very slightly. I noticed without packet drop, VEP responses are fine and acceptable. I use C++ for performance. In a few weeks i have to demonstrate it so i need a functioning device.
"We got device around end-of-summer and didn't used well to this day. Hard to notice since it is EEG anyway."
If you were losing packets when the Cyton was first tried during the summer, the packet loss would have been very obvious because the GUI did not do interpolation at that time. Did you see obvious spikes in the GUI when the Cyton was first tried out?
"Therefore, single drops per second might affect results very slightly."
How often are you seeing packet loss? If you do your own interpolation, then impact on the EEG data stream will be minimal. You are only losing one sample, and there are either 250 or 125 samples per second. Generally for SSVEP, just using some channels in the occipital region will be sufficient. You likely do not need the Daisy / 16 channels. So your sample rate will be 250 Hz.
Can we see a GUI screenshot of at least 10 seconds of data in the Time Series widget?
Ok, after replacing batteries problem is mostly solved. I see only 1 packet drop per sec awhile. Seems like Cyton drains amperes. Maybe adding some shunt resistor to show battery status via LED? PCB has plenty of space. Or OpenBCI_GUI interface can warn user about it, after packet drops rise significantly?
It should already say in the docs that low battery causes packet loss.
@muratkanc Everything all good now?
Everything is kinda ok. Device get affected if i'm "between" connection. Dongle must face directly my back. Also, close-range USB devices affects connection heavily. It could be better with just cables. I will buy USB extension cable