Search our resources

Tip: Start typing in the input box for immediate search results from our Support Resources Knowledge Base.
For a more comprehensive search, use the site search in the main menu above.

Differences between TriggerBox Plus and TriggerBox rev. 02 and how it may affect your setup

With the release of the new TriggerBox Plus, our favourite tool for experiment control offers even more options and functionalities. This article summarizes these new features and points out potential pitfalls when including them in your setup. We also list different software solutions that support the TriggerBox rev. 02 and the TriggerBox Plus but may require extra steps for using the new TriggerBox Plus.

Network options and LSL output

The main new feature of the TriggerBox Plus is its ability to create LSL markers whenever a trigger is sent to an EEG amplifier (which does not even have to be connected to the TriggerBox Plus). Thereby, it is now possible to simply use LSL markers for event synchronization on top of regular hardware triggers, but also instead of hardware triggers, if so desired.

This new feature makes it necessary for the TriggerBox Plus to connect to your local network. This can be done either via ethernet, or via WiFi. All the required settings can be adjusted in a newly introduced Configuration tool:

Figure 1:  The TriggerBox Plus Configuration tool.

For details on how to use the Configuration tool, please refer to the operating instructions. However, there are a few things to consider regarding the new network functionality that we want to point out here:

  • The TriggerBox Plus works in the 2.4 GHz network (5 GHz networks are not supported).
  • Up to 12 LSL clients can connect to the LSL marker stream of the TriggerBox Plus.
  • While the TriggerBox Plus can be configured as a wireless access point, this option is not meant to stream EEG data through it. It is only recommended to use this setting to connect a TriggerBox Plus LSL marker stream to a computer that provides its own EEG data stream.
  • If the TriggerBox Plus is configured as a wireless access point, a maximum of 4 clients can connect to the access point as stations.

In the new Configuration tool, you can set up all these settings accordingly. You can also see if the network is running by an allocated IP address.

The LSL output itself may also cause some confusion if not set up correctly. In the Configuration tool, you can select to “Use bits 0-15” or “Use bits 0-7”. Keep in mind that any serial command sent to the TriggerBox Plus from a computer can only send one single byte, that is, an 8-bit long value. The upper 8 bits are only altered if you are connecting a source to the D-Sub 9 connector “In 8-15” or to one of the bits 15 (“FOC” or “BNC”). If these inputs are open, they are counted as “high” and therefore using bits 0-15 results in very large numbers. Also keep in mind that the full 16-bit hardware triggers are only supported by our BrainAmp amplifiers. LiveAmp (with STE) and actiCHamp (Plus) only support 8-bit hardware triggers. That said, there may be situations where using all 16 bits for specific LSL markers could be desirable. Just keep in mind to decipher the binary codes accordingly.

To better visualize the potential issue: consider sending the values ‘1’ and ‘0’ from your stimulus presentation tool. These two values are encoded as binary numbers ‘00000001’ and ‘00000000’. If you select “Use bits 0-15”, these values will be sent as ‘1111111100000001’ and ‘1111111100000000’ instead which are not ‘1’ and ‘0’ as decimal numbers, but will instead appear as ‘65281’ and ‘65280’. Remember, the first 8 ‘1s’ represent open/high inputs whenever there are no sources connected. To receive values ‘1’ and ‘0’, simply select “Use bits 0-7”.

Upgraded serial interface

There have also been changes in how the TriggerBox Plus interfaces with your computer. The TriggerBox rev. 02 was technically a virtual serial interface (with it really being a parallel port) that was permanently occupying a COM port in your device manager, labelled “TriggerBox Virtual Serial Port”. The TriggerBox Plus’ COM port is only visible in your device manager when it is currently connected, and it is not “virtual” anymore, as you are interfacing the serial device on the TriggerBox Plus via USB. Apart from not being visible in your device manager, the new interface now does require the baud rate to be set at 2 000 000 bits/s. For the TriggerBox rev. 02, the value for the baud rate was and is still irrelevant.

The main difference for the user, though, is that the new TriggerBox Plus works interrupt-driven. The result is a much faster reading speed: instead of the previous polling rate of 100 Hz (which equals to 10 ms), we are now below 1 ms of reading time. This is comparable to the writing speed and makes reading inputs to the computer via USB much more attractive. This is useful when participant responses shall be fed back to the stimulus presentation computer with low latency, e.g., in response-adaptive paradigms.

Some more minor differences

A couple of things now work a little differently:

  • Input “In 8-15” is now read after the “Amp out” stage, not directly at the input anymore. This means that bit 15 is read after a potential alteration due to an active bit stretcher (which is used to extend short pulses to 5 ms, but which also draws the input to low if an otherwise high source is connected).  In other words, you can read exactly what is sent to the amplifier/to the LSL marker stream.
  • The TriggerBox rev. 02 sends the current value of the bits via USB when an application connects, whereas the new TriggerBox Plus only sends values after a change. Hence, there will be no accidental trigger caused by establishing a connection only.

How to interface the TriggerBox Plus with your software of choice

Basically, the only issue you can encounter when attempting to interface the TriggerBox Plus with your software of choice could be that it is not that easily possible to set the baud rate to 2 000 000 bits/s. In this article, we try to give you an overview of different tools and how to set the baud rate correctly. Please contact us at techsup@brainproducts.com if you do not find what you are looking for here and we will be happy to add it to the list.

E-Prime®

You can find a comprehensive overview on how to set up the TriggerBox (Plus) in E-Prime® here. Unfortunately, it is not possible to set the baud rate directly to 2 000 000 bits/s in the “Bits per second” field. Instead, a little workaround is necessary. The value can be set up by opening “Edit Global Values” in the “Startup Info” tab. Here, you can create a value called “TriggerBox.Baudrate” (change the name if necessary) and then set the value to 2 000 000.

Figure 2:  The TriggerBox (Plus) is activated as a serial class. Note that it can be named differently instead of “TriggerBox” as well, although you must use the given name for later reference. For the TriggerBox Plus, the baud rate needs to be 2 000 000 bits/s, but the drop-down menu only goes up to 256 000 bits/s. The value can be manually entered in the “Startup Info” tab under “Edit Global Values”.

Presentation®

In Presentation®, the TriggerBox Plus can be used without any problems. The baud rate of 2 000 000 bits/s can easily be entered as a custom rate. This is all you need to do to use the TriggerBox Plus. To get some ideas on how to use the TriggerBox Plus in general, please look at this section.

Figure 3: Make sure there are values selected in all of the drop-down menus.

Python/PsychoPy

In Python/PsychoPy, the TriggerBox Plus needs to be initialized in the code. The baud rate can be entered simply as an additional parameter:

               port = serial.Serial(port="COM22",baudrate=2000000)

Please learn more about how to use the TriggerBox in PsychoPy here or download some programming examples including Python code here.

MATLAB®/Psychtoolbox

In MATLAB®, the requirements are similar to Python’s; simply add the baud rate information when initializing the port:

               port = serialport('COM22', 2000000);

The well-known toolbox, Psychtoolbox, has its own function that can be used as well. In this case, provide the information in the following way:

               TB = IOPort('OpenSerialPort', 'COM22','BaudRate=2000000');

Please take a look at our programming examples for more information on how to use the TriggerBox (Plus) in MATLAB®/Psychtoolbox.

SR Research Experiment Builder

In this article, we informed you that SR Research’s Experiment Builder supports the use of Remote Control Server (RCS) 2 and the TriggerBox as well. In order to use the TriggerBox Plus, please make sure to download at least version 2.4.193 from SR Research support. If you have installed this version, or a later one, the TriggerBox Plus can be configured as usual and the field “Bits Per Second” can be configured up to 2 000 000.

From version 2.5.1, you can run the TriggerBox (Plus) without having to set up a remote connection for RCS 2: simply activate “Dummy mode” in the “BRAIN PRODUCTS” Devices tab to ignore all communication between remote control server and client.

Alternatively, you can select the “BIOMETRIC_TTL” node and use the TriggerBox (Plus) as a “GENERIC SERIAL PORT”. This way, you can configure the COM port and baud rate accordingly (from version 2.4.193, the value 2 000 000 can also be set here).

C++ and C#

Of course, it’s also possible to write your own code using, for example, C++ or C#. In this case, please refer to our programming examples for some ideas on how to use the TriggerBox (Plus).

Table of Contents
Go to Top