EEG + EMG (+ IMU?) -- cabling & interface concerns

edited June 2016 in Hardware
I am a researcher designing hardware/software for an experimental protocol investigating EEG-EMG coherence. I have a fairly solid hobby electronics background, but no formal EEG training. My PI would like to use OpenBCI -- we have a 32-bit OpenBCI board with the 8ch expansion Daisy Board. Since we're investigating coherence, timing is critical -- my hope is to use several of the channels from the daughter card for EMG data using electrodes on the forearm. Is this plausible, given the relatively long cable run from the OpenBCI board and down the arm?  Would I be better served by attempting to construct an extension cable for the expansion card connectors?   

Another possible option is some serious board surgery to synchronize clocks between two separate 32-bit boards (ie, common ground + clk for the ADS1299) but this is the least desirable option because of the engineering challenge (new firmware, board rework, etc).

We'd also like to get data from two IMUs integrated with the data stream. I think one option here is to use an SPI device like the LSM9DS0, and find two unused pins to use for CS -- (schematic shows D18 and D13 on the ChipKIT pinout as potential CS lines). This is likely complicated by problems with long SPI cable runs, and if I'm trying to cram two quaternions at 100Hz across the RFDuino link, I might have to sacrifice a few ADS1299 channels to make the timing work. This might be possible since we're probably not using all 16 channels in the protocol, but there's some interplay between desired data acquisition and realistic data acquisition goals! 

Other option would be a completely separate radio/MCU system for the IMUs, and connecting a single signal/gnd pair to the OpenBCI to send an external trigger signal when the IMUs get a sample (as per the external triggering example) on sample acquisition to synchronize data.

Has anyone implemented anything like this? Any advice re: approaches to consider, pitfalls to avoid, etc?

Comments

  • wjcroftwjcroft Mount Shasta, CA
    edited June 2016
    RSpicer, hi.

    > Is this plausible, given the relatively long cable run from the OpenBCI board and down the arm?

    Many passive electrode EEG setups use wires ranging from a few feet to say 5 feet, with no problems. You might have gotten the impression from the Ultracortex headset that only very short cable lengths are allowed. That is not the case. You do pickup more noise with longer cables, but if you have a solid skin connection with paste or gel, there will be no problem. Not sure where you are planning to mount the OpenBCI, but I've used a clip-on mounting system at the shirt lapel. You can set it on your desktop if you need to. Cable motion (swinging around the body) generates noise. So if you use velcro or elastic bands to reduce the cable swings, that can help.

    I at first wasn't familiar with the IMU term (Intensive-care Mumble Unit?); then I realized you were referring to the accelerometer(s). Since there is one onboard, it sounds like you're just talking about using a 2nd one. I'd go with some kind of small breakout board for your LSM9DS0, possibly double stick foam mounted to the mainboard. Then your short SPI bus leads can jumper over. You may want to use stackable female connectors on the SPI bus area of the daisy. Would make connecting to the SPI there easier. Yes, you can use one of the spare Dxx pins for your CS. Take a look at this other thread for passing faster or more data through an isolated usb link, (or wifi.)

    http://openbci.com/forum/index.php?p=/discussion/712/prospects-for-higher-sample-rates#latest

    Using the daisy your EMG sample rate will be limited to 125 Hz. That's on the low end for EMG, if you need faster sample rate, you can do it using the ideas on the link above. I'd not recommend trying to sync up separate OpenBCI units for your external trigger. Use one of your spare EEG channels.

    William

    PS I see now after adding that breakout link that IMU is actually adding a gyro and compass to the accelerometer. Cool. It still seems like you need only one breakout, and accessing the gyro and compass on that. Use the accelerometer built into the mainboard instead of the one on the breakout.
  • Thanks for the feedback!  In this case I do need two physically separate IMUs, so using the accelerometer on the OpenBCI board is not a viable solution. 

    Thank you for the pointer to the external bluetooth 2/3 board solution -- I suspect I'm going to go down this path. 

    I ended up buying some LSM9DS0s on breakout boards and a Bluetooth 3.0 serial modem from Adafruit, and I will experiment with using a BT 3.0 high-speed data transfer instead of the RFDuino to send both the two quaternions and the EEG samples down the pipe.
Sign In or Register to comment.