pulse sensor with Cyton + Daisy

duncancipherduncancipher United Kingdom
edited March 2018 in Cyton
Hi everyone,

I am new to OpenBCI and have a pulse sensor, cyton+daisy, and a mkIV headset. 

I am trying to go through the various documents but can't find a guide for dummies which says where the three pins from the pulse sensor (purple/signal, black/ground, and red/5v) would connect to the Daisy.

anyone out there reading this - able to help?

Thanks very much for all your work :)

Duncan

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Duncan, hi.

    The Pulse Sensor 'widget' in the OpenBCI_GUI is setup currently to depend upon a 250 hz sample rate. And since sampling with Daisy occurs at 125 hz, the easiest way to go is to just disconnect the Daisy during your Pulse Sensor usage. You could play around with modifying the code, it's here,


    As far as wiring goes, that all happens on the Cyton mainboard. red goes to DVDD, black to GND (right next to DVDD), and purple to D11. This D11 is read as analog pin A5, and sent in the first Aux data slot.

    A5 / D11 / Aux[0]
    A6 / D12 / Aux[1]
    A7 / D13 / Aux[2]

    This is assuming you have the Cyton mainboard firmware 3.x, which implements an "Analog mode" command of "/2".


    Regards,

    William

  • duncancipherduncancipher United Kingdom
    Hi William,

    Thank you very much for this response - much appreciated.

    I think I may have mis-understood the purpose of the Daisy, then. Is the Daisy really only used when adding additional EEG electrodes? What I hoped to do was measure 8 channels of EEG, plus heart rate (and in fact, muscle tension also, as I have one of the myo sensors to attempt to integrate next). 

    Is this essentially not possible (or, would I be needing to sacrifice some channels of EEG to accomodate these sensors on the Cyton?)

    Sorry if you are not the right person to ask. I will probably have to post a similar query regarding the Myo Muscle tension sensor otherwise --- though in the case of the Myo I can follow the online guide which has it connecting to the Cyton.

    Thanks again,

    Duncan
  • wjcroftwjcroft Mount Shasta, CA
    The chipKIT / PIC32 processor on the Cyton mainboard has 8 high resolution analog to digital (ADC) channels available on the TI ADS1299 chip. As well as 3 more lower resolution channels on the chipKIT pins D11 through D13. So yes, you can have 8 EEG channels, along with 3 'auxiliary' for pulse or myo.

    The Daisy adds another ADS1299 chip, for 8 more hi res ADC channels. Allowing 16 total hi res channels sampled at 125 hz.

    I forgot to mention the Wifi Shield, which can stream data over wifi instead of the RFduinos. This I think does support 250 hz sample rates with all 16 channels, plus 2 aux channels. 

    The MyoWare tutorial and EMG widget are designed to use an ADS1299 channel, but you could connect it to one of the Aux channels just as easily. However note that in that case, you would be getting your muscle amplitude signal from the Aux channel, and not the EMG widget. What is your actual application? You are likely running your own code that consumes the data stream?

    Regards,

  • wjcroftwjcroft Mount Shasta, CA
    Another option you have for measuring pulse, is a direct ECG hookup, as shown in the tutorial. Using a + - differential channel pair. Sensors are generally the foam stick on type, and can be placed on two locations either side of the heart, even arms as shown on tutorial.
  • duncancipherduncancipher United Kingdom
    Thanks William.

    So for clarity (also if others with same idea are reading this in future):

    1) If I connect pulse (or Myo) to Daisy, there is no where to power or ground either sensor from, correct?
    2) Therefore suggested use of pulse (or Myo) is direct to Cyton, sacrificing some channels of EEG... OR, to use electrodes direct to Daisy as described in the tutorial to create pulse/muscle triggers, but there is no possibility of using the sensors from the shop with the Daisy direct? Or can you suggest some other way to power them?

    Thank you very much,

    Duncan
  • wjcroftwjcroft Mount Shasta, CA
    (1) in a previous reply I mentioned, "As far as wiring goes, that all happens on the Cyton mainboard. red goes to DVDD, black to GND (right next to DVDD), and purple to D11. This D11 is read as analog pin A5, and sent in the first Aux data slot." DVDD and GND pins are available on the Daisy, but not as easily connected, since they are not setup with header sockets, only header pins.

    You seem to be concerned that 8 EEG channels are not enough and that you need all 16. That is usually not the case unless you have a specific BCI project in mind. I asked previously "What is your actual application?"

    (2) I'm not sure you understood my previous post. On the Cyton mainboard you have EIGHT high resolution (24 bit) EEG/EMG/ECG channels. And THREE Aux channels, lower resolution. Your Pulse sensor / Myo can connect to these Aux channels, if you want to use the 8 high res channels for EEG.


  • wjcroftwjcroft Mount Shasta, CA
    VDD (DVDD) and GND are also available on J3 on the Cyton mainboard. This is in addition to the J1 inter-board connector between the mainboard and Daisy. So this J3 set of header sockets is ALWAYS available. Even when the Daisy is plugged in.

    However note my previous comment, that the Pulse Sensor GUI widget expects 250 hz samples. When using Daisy, sample rate drops to 125 hz. So if you wanted to use widget, you can investigate the source code.

    ALL of your Pulse Sensor and Myo boards can connect directly to any of the 8 or 16 high resolution channels. You would just not use the Pulse Sensor widget. And perform your own signal processing on the ECG channel.

  • duncancipherduncancipher United Kingdom
    that's helpful thanks William. I see the VDD and GND on J3 which could power a sensor.

    I don't have a specific application: but I would like to be able to use 1) 8 channels of EEG 2) the Myo and 3) the pulse sensor at the same time.

    being able to power the pulse sensor from J3, and connect it to a high res channel on the Daisy is a step towards that. I understand I could also sacrifice the Daisy and connect the pulse sensor to J1 and the aux input.

    So far so good.

    But then what about the Myo? You are saying I don't need 16 channels of EEG - which is fine, but I am wanting to use Myo+Pulse+EEG. I'm suggesting above that it sounds like I would need to sacrifice some of the 8 channels of EEG and not use the Daisy at all. E.g., 7 channels of EEG, 1 channel of Myo (powered by J1), Pulse powered from J3 and connected to Aux. 

    An alternative configuration: 8 channels of EEG, Myo powered by J3 and connected to Aux, and pulse collected as per tutorial to channels on Daisy.

    Am I missing something here?

    Thanks,
  • wjcroftwjcroft Mount Shasta, CA
    Make all your external power connections on J3. Ignore my earlier comment about connecting power on J1, J1 is reserved for the mainboard / Daisy interconnect.

    You say, "I would like to be able to use 1) 8 channels of EEG 2) the Myo and 3) the pulse sensor at the same time." I already answered that (two times). You can connect the pulse sensor and 2 Myo's to the J3 Aux pins. Leaving all 8 EEG channels available on the mainboard.

    If you want to use all 16 channels, that is also fine, just note that the Pulse Sensor widget would need some software adjustment that you would have to do on your own. You can connect your Myo channels anywhere you want, either on the J3 Aux channels, or use any of the 16 channels.

  • wjcroftwjcroft Mount Shasta, CA
    With the ECG / heart rate, you have two options: Pulse Sensor, or a normal ECG channel. Pulse Sensor is convenient, but it also requires some pre-processing, which is what the widget does. ECG is more direct, and gives you a spike that your signal processing could detect. 

    But right now it sounds like you are primarily using the OpenBCI GUI to display and process your data. There are many ways to write signal processing code for EEG / ECG / EMG. 

  • duncancipherduncancipher United Kingdom
    edited March 2018
    > You can connect the pulse sensor and 2 Myo's to the J3 Aux pins. Leaving all 8 EEG channels available on the mainboard.

    Ok - but for power and earth to more than one sensor...? (With the Daisy on): Are you suggesting a Y lead off of J3?

    Do you work for the open bci team btw? If not thanks for sharing your knowledge so freely.
  • wjcroftwjcroft Mount Shasta, CA
    Duncan, hi.

    Yes, you can chain the power and ground leads,


    Yes I do work closely with the OpenBCI lab in Brooklyn.

    Regards,

    William

  • Hi 

    very usuful. I am planning to use the 16 channels plus the pulse sensors using the datastream through python: in this case can I use it on the aux channel at 125 Hz as the other channels? (William wrote that the widget GUI expect 250Hz for the pulsesensor not sure about the python library).

  • wjcroftwjcroft Mount Shasta, CA
    I suggest you just try the pulse widget along with the Daisy and the analog mode, to see how it functions. On another thread I mentioned that the Pulse Sensor and widget perform better at normal sample rates. Cyton has this. Pulse Sensor would likely not perform well at very low sample rates, such as 10 Hz. Ganglion does not support the Aux channels the same way that Cyton does.
  • Ok, so best is just 8 channels Cyton + PulseSensor .
    Or, if I use the wiifidhield which can transfer at 250Hz, should I suppose the Daisy+Cyton+Pulse would be still perform well?
    Thanks in advance
  • wjcroftwjcroft Mount Shasta, CA
    "I suggest you just try the pulse widget along with the Daisy and the analog mode, to see how it functions." 250 and 125 Hz are very different than 10 Hz.

    Wifi Shield with Daisy should also work.
  • retiututretiutut Louisiana, USA
    edited June 2019
    I'm pretty sure I've used Cyton+Daisy+PulseSensor with no problems. @wjcroft Maybe the accuracy of the pulse detection algorithm drops slightly because of doing 125hz? 

     I really like using the Pulse Sensor because it frees up the Cyton pins, and I don't have to use an extra Arduino :).
Sign In or Register to comment.