questions connecting Pulse sensor to Ganglion

edited January 4 in OpenBCI_GUI

I am trying to stream pulse sensor PPG data using a ganglion board on OpenBCI. Here's how I have connected it:
1) Pulse sensor red wire (power) - Ganglion DVDD
2) Pulse sensor black wire (ground) - Ganglion GNDA
3) Pulse sensor purple wire (analog input) - Ganglion Pin 2+
The PPG input is connected to pin 2+. Pin 2 - ve is connected to D_G. However, PPG signal shows up on channel 1, 3 and 4. The output text file also has the PPG data written on channel 1,3 and 4. Channel 2 shows some random values. Any clue what might be the issue with this? I have attached a screenshot of the openbci gui for your reference. In image 1, pins (1,3,and 4) are left floating. In image 2, negative pins (1,3 and 4) are also connected to D_G. Gives a cleaner signal. Thanks!


  • wjcroftwjcroft Mount Shasta, CA

    Hi Mohanty,

    Are you using these instructions?


  • Hi @wjcroft,
    I did try the method mentioned in the link.
    I connected the pulse sensor to ganglion board's A3 input, DVDD and GDNA. But, when I try to stream data to openbci gui, there are no options to stream A3 analog input. There is no pulse sensor widget or analog read option available for ganglion.
    When I contacted openBCI support, I was suggested the idea of connecting pulse sensor to one of the channels and view it in the time series widget.
    My goal is the stream pulse sensor data and save it to a txt file (at minimum 100Hz sampling rate). If there are any other options that you can suggest, please let me know.
    Thanks a lot!

  • wjcroftwjcroft Mount Shasta, CA

    Yeah. Our documentation goof. There is no Aux data / Analog Read function available on Ganglion. Hold on while we brainstorm what your issue is.

  • wjcroftwjcroft Mount Shasta, CA

    For starters, the voltages coming out of the Pulse Sensor are intended for an analog to digital converter that works in the 0V to 3.3V range. That is WAY more than Ganglion is expecting. Do you know how to wire up a voltage divider, using two resistors? That would let you drop the range into say 0uV to 330uV.

    Also be sure to set the pulse sensor channel to differential, disconnected from the common reference bus.


  • wjcroftwjcroft Mount Shasta, CA

    The GUI widget will NOT work with this method. But you can look at the algorithm on the Pulse Sensor site, and code yourself.

    Algorithm used by GUI is here:

  • wjcroftwjcroft Mount Shasta, CA

    Your Pulse Sensor is NOT connected to D_G or common reference. Only to the plus and minus pins of the channel set to differential mode.

  • Hi @wjcroft,
    Thanks for the suggestions. I tried the following connections:
    1) The channel is set to differential mode. The PPG input is connected to pin 2+.
    Pin 2 - ve is left open.

    2)Connected pulse sensor signal through a voltage divider(see image attached). R1=1M ohm, R2= 1K ohm. Tried other combinations of R1,R2 as well (r1=100k, r2=1k).

    In both the case, the issue still persists.

  • wjcroftwjcroft Mount Shasta, CA

    If the channel is in differential mode, BOTH the plus and minus pins must be connected.

  • Hi,
    What should the minus pin be connected to? I have tried connecting it to GNDA, D_G and ref pins (in differential mode, SW2 in UP position). In all case, I have had the same issue.

  • wjcroftwjcroft Mount Shasta, CA
    edited January 2

    GNDA should work.

    Your screen shots show massive noise on channels 1, 3 and 4. Any unused / unconnected channels should be turned OFF in the GUI. Press the colored channel button to toggle on/off status.

    Your Channel 2 amplitudes are showing exceedingly high values. 18000 microvolts. The goal of the voltage divider was to reduce the 0V to 3.3V range output of the photo sensor, into a low microvolts range, say below 100 microvolts.

    With the 1M and 1K divider, you end up with a 1000X reduction in signal. So if say the input signal was 2V, the output would be 2 millivolts, which is 2000 microvolts. Still way too high.

    Since we do not have a valid screenshot with the 2nd channel pin connected, your statement, "I have had the same issue", is questioned. You need to get the signal below say 100 microvolts, and the 2nd pin connected.

  • wjcroftwjcroft Mount Shasta, CA

    The reason the input signal to Ganglion must be in this low (EEG) range, is that the compression algorithm used will "blow up" if the signal is swinging around too high. The jumps you see at 1 second intervals, are evidence of this blow up, where the compression algorithm resets itself every 200 samples (1 sec intervals).

Sign In or Register to comment.