Triggers via PsychoPy Mislabeling in ActiView for BIOSEMI EEG System

I am trying to get my experiment in PsychoPy to work with BioSemi’s ActiView for EEG using coding in Python. I am using a serial port for the triggers. Using coding I was able to get the triggers to send to ActiView.

While I’ve been able to effectively send triggers to the system, every few trials I get a random number that replaces actual condition labels. There doesn’t appear to be any pattern to them (they don’t appear at specific time points or for specific trigger values/conditions).

These incorrect numbers are 242 and 192. They are replacing any one of the trigger codes I specified for each condition (1, 2, or 3).

Anyone have any experience with this or ideas on how to keep these errors from occurring in the first place? Are there certain values that would be better for the BIOSEMI system when coding triggers?

I’m hoping I don’t have to change them manually during preprocessing of the EEG data for every participant. I can share my experiment file if that helps. Below is my code in PsychoPy for triggers

“Begin experiment”
import serial
port = serial.Serial(“COM4”, baudrate = 115200)

“Begin routine”
port.write(trigger)
if trigger == 1:
port.write(1)
elif trigger == 2:
port.write(2)
elif trigger == 3:
port.write(3)
port.write(str.encode(chr(trigger)))
port.flush()

“End experiment”
port.close()

Thanks!

There are two issues. First you need to convert your codes to bytes notation, e.g., using xxx.to_bytes(1,‘little’)) where xxx is the variable containing your desired value. Second you also need to send a zero (again, in bytes, so 0x00) > 5ms after each trigger. This is because the trigger cable simulates a parallel port, which does not auto-reset after a value is transmitted. See my code demo here if you want some hints:

https://github.com/drmarcj/psychopy_biosemi_serial

1 Like

Hi Marc,

Thank you! It looks like that link is broken for me. Is there a different one I could use?

Best,
Ashley

Oopsie, it should work now.

Hello, I am trying to use the EEG BioSemi ActiveTwo system, but this is important—I am completely a beginner. I can run the BioSemi ActiveTwo on my computer with ActiView. I have an additional monitor besides my laptop, where I display ActiView. At the same time, I am using PsychoPy on the same computer. Since the screen is split with the help of the monitor, PsychoPy does not cause any issues. Up to this point, until here everything seem okay however, there’s no communication between PsychoPy and the BioSemi ActiveTwo. I want to establish this communication and start my experiments. Can you help me? I am in a desperate situation. Also I downloaded Termite too but I could not achieve what I want to do.
however it doesn’t help completely.
Could somebody please help me.