Using "BioSemi USB trigger interface" for sending triggers


I am starting a EEG-based experiment using Biosemi/ActiView software.
I need to send triggers from Psychopy on the testing laptop to the “EEG” laptop.
I need some sort of usb-adapter on the testing laptop because it does not have a parallel port.
Biosemi sells a “BioSemi USB trigger interface” cable, which apparently works as a serial port.

My question is whether anyone has used this type of hardware and whether it works well with Psychopy for sending triggers? Worth knowing more about this before buying… Does the fact of being a “serial port” complicate things from a programming perspective?

Many thanks!!

Parallel and serial ports are different things. You really need to know what the receiving end (i.e. the EEG laptop) expects. i.e. what port is it listening on, and what is the protocol it expects. (.e.g. on a serial port, we often send particular text commands, whereas on a parallel port, you’re controlling the binary on/off states of particular pins. But in either case, you need to know what commands to send and when.

You’ll be able to set up the communication in PsychoPy, but the first step is knowing exactly what protocol is expected.

1 Like

Our lab solved this issue by sending codes with the LabJack U3 I/O device, which is compatible with PsychoPy. To communicate from the LabJack to the Biosemi USB receiver, we rigged a breakout board to ‘speak’ to the appropriate lines in the parallel port cable. Alternatively, you could solder a custom cable to communicate from the DB15 output of the LabJack to the DB37 of the Biosemi receiver.

You can see our system here.

A slightly more detailed explanation is given in our webpage for connecting PsychoPy to a Biopac system.

1 Like

The general aim is sending markers to an EEG trace to mark events (e.g. stimulus presentation, participants’ response).
I will need to learn the precise commands…
However based on what I have seen so far a “parallel port/cable” is usually necessary for this objective.
BioSemi appears to be selling the “BioSemi USB trigger interface” cable for this objective of sending info from a testing computer to a EEG computer.
The problem is that this BioSemi interface cable works as a serial port.
Let me then reframe my previous question: is it possible to send markers from a testing Laptop to an EEG laptop (to mark events on an EEG trace) through a serial port? Can that be programmed in Psychopy?


Thanks for sharing your experience!
My objective is to send markers from the testing computer to the EEG trace.
For this aim, do you know if it is necessary to add those customized devices in order to use LabJack U3 I/O?


That’s not a PsychoPy question. As above, PsychoPy can work with serial or parallel communications. But you need to find out exactly what is needed for your particular piece of equipment. If there is no answer here, you should seek an answer directly from the support team of the manufacturer.


PsychoPy sends the trigger output via the LabJack*, while the BioSemi system receives the triggers via the USB receiver (this is the same box that receives the EEG data from the amplifiers via fiber optic cable). The missing link is connecting the LabJack to the BioSemi USB receiver. As far as I know, there isn’t really an out of the box plug-and-play device to do this. But the custom solution our lab uses doesn’t require much technical skill beyond turning a screwdriver. You just attach wires to the screw terminals on the LabJack and to the appropriate screw terminals on the breakout board. The website I linked to details which terminals on the LabJack go to which numbers on the breakout board. I think there’s also a link to where you can purchase that particular board. Then you can connect a standard DB37 cable to the breakout board and to the USB receiver. A more elegant solution would be to custom solder a cable that brings the triggers from the DB15 on the LabJack directly to the DB37 of the USB receiver box, but this requires a bit more skill and effort than simply turning some screws.

*PsychoPy has lots of ways to send output, but our lab uses the LabJack for the USB compatibility.

Hope that helps!


Andrew Engell

Thanks for your helful explanation. I will consider this strategy.

i have this

Its sending triggers from psychopy to activeview. Now, how do I add more triggers? I need 3 for a lexical decision task, so 1 for words, 2 for non-words and 3 for no answer, and at the same time, I need them to press A for words, F for nonwords and L for no answer, how do I know if the triggers are related to what the participant is answering?

Hi all,

I am currently working on programming using the BioSemi USB trigger interface and am still having some issues. I have tried a number of different variations in the coding based on other posts in the discourse, but am still unable to get triggers to send from PsychoPy to Actiview. I am using a Flankers task with threat conditions and want to send a different trigger for each condition (e.g., threat/congruent =1, threat/incongruent = 2, etc.). I am attaching screenshots of my code, conditions file, and error message. Any help would be greatly appreciated!



Hi, in your begin experiment section, add this section above ‘import serial’ and try running it again. Like in the image below.

Thanks for your response! I tried this code as well based off your other post, but unfortunately this did not work for me.

can you also check if triggers are normally detected on actiview ? It maybe a biosemi issue as well.

Yes, I have used Termite to ensure that Actiview is receiving signals and that works just fine. The port does show up in my device manager as well, so I have to assume there is something wrong/missing from my coding.

have you solved your problem?