Usually, a study participant is viewing stimuli on a computer screen while their EEG is recorded through the hardware provided by a manufacturer. To later synchronize the EEG data to stimuli, an experimenter will send so-called 'markers' from the stimulation computer to the EEG hardware so that the markers are encoded in realtime together with the EEG data.

Why do most manufacturers use the old-fashioned parallel port for that?

I know, that the parallel port allows for a parallel transmission of up to 8 bits (i.e., 255 possible marker values and one '0' marker to indicate 'no marker') ... however, while that is a clear advantage, it comes at the cost of using a legacy port that is not available on modern computers.

Couldn't we just use a USB port to send data serially (in smaller bit packages) ... and then join these bits to a byte (8bits) to get the same number of possible markers? USB would in theory be fast enough to even compensate for the extra time needed to 'buffer' single bits and then encoding them as a byte.

Am I getting something wrong?

Why is the parallel port still so prevalent for this specific application (EEG)?

  • 2
    $\begingroup$ There are various reasons. Perhaps transmission speed (originally better for parallel and nobody bothered changing). Perhaps for the ability to put a separate data stream on each line/bit. Someone familiar with medical equipment may be able to give a precise answer; I think this would be better to ask on Electrical Engineering SE. $\endgroup$
    – user3169
    Nov 28, 2017 at 5:52
  • $\begingroup$ " it comes at the cost of using a legacy port that is not available on modern computers" is not really valid, because you are referring to consumer use computers that have no need vs. dedicated industrial systems (I suppose, unless you can identify specific equipment). $\endgroup$
    – user3169
    Nov 28, 2017 at 5:56
  • $\begingroup$ @user3169, most scientists that I know use consumer grade hardware for their research - i.e., usual laptops or desktop computers. So I would still consider using the parallel port a "cost". Concerning your other comment, I agree that a different stack exchange might yield more answers. Can we somehow migrate this question? $\endgroup$
    – S.A.
    Nov 30, 2017 at 11:41
  • $\begingroup$ You can flag your question to the moderator, and ask if they can migrate it. Otherwise you would have to re-post on the other site. $\endgroup$
    – user3169
    Dec 1, 2017 at 2:39

1 Answer 1


I think this is for scientists who like to design their own setups. I doubt medical EEGs have a parallel port. You do not always want to sync to a computer. You will often want to synhcronize it to a photodiode, an eyetracker, a tactile stimulator etc. With a parallel port you just plug that trigger to a given pin then you know that everytime your get an integer containing 2^(pin number) you have received a trigger on that pin: for ex. trigger on pin 0 if you are reading 1, on pin 4 if you are reading 16, and on pins 1, 3 and 6 if you are reading 74. Yes, you could read your triggers with a micropchip, then use a serial-USB converter, but that's needlessly complicated and less accurate. USB have surprisingly unreliable timings for a port that can work at such a high baudrate. So it's usually better to synchronize everything to an external input. I usually synchronize an eeg and an eyetracker to a photodiode, then I know they are synchronized perfectly (yet they often have a 1msec difference for some reason).

On top of that, I'm sure there must be some backward compatibility issues. If you are a small lab that has built a complicated setup over the years, you might not want to change your EEG if it means changing your entire apparatus.

  • $\begingroup$ +1 Just an add-on question - How does the photodiode syncing work? Do you have a reference or another source? I'm looking into ways to sync an eye tracker to a running Matlab script. Grab me in chat if you wish $\endgroup$
    – AliceD
    Dec 2, 2017 at 9:47
  • 1
    $\begingroup$ I had an eyelink and its analog card. I rectified the photodiode with an oamp and fed that signal to the analog card (the eyelink also has a parallel port card which would have been better, but my university only had the analog card). I also fed that signal to the parallel port of the eeg I had. I can give you more details and schematics if you need. $\endgroup$
    – user17122
    Dec 2, 2017 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.