Forwarding RESPONSEPixx Button Activity to a Third-Party Receiver
This guide demonstrates how to enable automated forwarding of RESPONSEPixx button activity to a third-party receiver (e.g., an OPM, MEG or EEG recording device).
This guide covers:
Basic RESPONSEPixx cabling
Additional cabling recommendations to connect to third-party receivers
Software tools to enable automated forwarding
Examples in Python and MATLAB
Basic RESPONSEPixx cabling
Electrical RESPONSEPixx units are connected directly to the Digital Input port on the DATAPixx3.
Fibre optic RESPONSEPixx units have a few more components. Below is a simplified graphic of a RESPONSEPixx /MRI installation, using our 10-button RESPONSEPixx /MRI.
The DATAPixx3 is connected to the experiment PC via a USB connection. With this configuration, you can register button activity directly in your experiment software. We have many demos showcasing how to read and interpret button box activity using our software tools:
In MATLAB: Digital I/O Demos
In Python: Digital I/O Demos
In LabMaestro: Coming soon
Connecting to a third-party receiver
The best way to send button press activity to a third-party receiver is via automated signal forwarding. This is done through our DATAPixx3 or one of our other I/O hubs like the PROPixx Controller.
To forward button activity to the receiver, the DATAPixx3 hardware is configured to listen for button presses, and automatically send a digital output waveform whenever button activity is detected.
This approach has several key advantages:
Flexible access to participant responses. Both your experiment PC and receiver retain a copy of the button activity. This means you have multiple methods to access your participant responses during and after your experiment.
Combine button activity with other triggers from the DATAPixx3. Routing signals through the DATAPixx3 allows you to add custom output triggers unrelated to your participant input. For example, you may wish to send additional digital triggers to indicate visual stimulus onsets, either manually or via Pixel Mode.
Condense button activity to fewer channels. Some receivers only have a limited number of inputs, typically a multiple of 8. Depending on your lab, you may have more buttons than input channels, or you may have channels that are in use by other equipment. The DATAPixx3 can be configured to send unique signals representing each type of button on a single digital output channel (e.g., one pulse for a red button, two pulses for blue), thus freeing up other channels as needed.
Best possible timing. Some third-party receivers have a slow sampling rate. By retaining a copy of button activity on our hardware, you ensure that you have precise timing of participant responses regardless of the receiver sampling rate.
Connecting your third-party hardware
The DATAPixx3 passes digital triggers to third-party receivers via the DB25 Digital Output port on the back of the unit:
There are two general methods to connect your third-party receiver’s digital input receiver to this output: either via a custom cable, or a breakout box. You can learn more about these options on our cabling solutions product page.
VPixx offers several standard cables designed in partnership with EEG and MEG manufacturers. We also make fully custom cables for our customers as needed.
For simple systems, a single custom cable is typically sufficient. For more complex layouts, particularly with multiple inputs and outputs, you may want to use a breakout box for added flexibility.
If you have any doubts about how to connect our equipment to your receiver, feel free to reach out to our staff scientists, who are happy to provide guidance. Please make sure to let us know the make and model of your receiver and your desired cable length, and include any documentation you might have related to the third-party hardware’s port and pin mappings.
Enabling button activity forwarding on your DATAPixx3
Once you have connected the following:
RESPONSEPixx → DATAPixx3 digital input
DATAPixx3 → PC
DATAPixx3 digital output → third-party receiver
It’s time to configure your DATAPixx3 for button activity forwarding.
To do this, you will first need to ensure your PC has a copy of our software tools installed. You will also need access to either Python or MATLAB scripting; we provide code examples for both options below.
Whichever software tool you prefer, make sure you install our API tools for that software before running the code. You can find more details about our MATLAB API installation here, and our Python API installation (including adding it to PsychyoPy) here.
Button activity forwarding uses a special schedule that pre-loads one or more digital waveforms onto the DATAPixx3’s onboard memory. Button activity triggers the playback of waveforms on the digital output, which is read by your receiver. This forwarding is near-instantaneous; you may however see a delay if your receiver has a particularly slow sampling rate.
Output waveforms are customizable. You can configure them to:
play on any digital output channel
play at different speeds/durations
play custom pulse sequences
trigger on a button press, release or both
The custom waveform’s address in DATAPixx3 memory determines what button/button activity triggers it. Once the forwarding configuration is saved on your DATAPixx3, it will persist until it is overwritten or the forwarding mode is disabled via a software command.
Example 1: Simple button press forwarding with the RESPONSEPixx /MRI 10-button
Our first example shows the simplest case of button activity forwarding using the RESPONSEPixx /MRI 10-button unit.
Pressing any button triggers a 50 ms pulse on a unique digital output channel. The output channel value is the same as the input channel value, effectively making this a 1-1 mapping.
Example 2: Forwarding RESPONSEPixx handheld button activity on a single channel
Coming soon!
Example 3: Combining RESPONSEPixx /MRI button activity and Pixel Mode triggers
Coming soon!