Arduino Output Sink

IMPORTANT: The Open Ephys GUI documentation has migrated to a new site – please visit https://open-ephys.github.io for the most up-to-date information.

Function

Allows events from within the GUI to control the state of digital output pins on an Arduino running Firmata. Provides a quick and easy way to translate information from software to hardware via USB.

Usage

First, you'll need to configure your Arduino.

  1. If you don't have it already, download the Arduino IDE (version 1.0 or higher) and follow the configuration instructions for your platform
  2. Connect the Arduino to your computer and upload the sketch in File > Examples > Firmata > StandardFirmata. This will allow your computer to control the state of the Arduino from software.

Inside the GUI, you'll need a signal chain capable of generating TTL events. These can either come from a source node (such as the Rhythm FPGA, with the I/O board connected to the Digital Input port) or from a processor (such as the Phase Detector). The Arduino Output is a sink, so it needs to appear at the end of the signal chain. If you want to visualize your data with an LFP Viewer as well, you'll need to use a Splitter to split the data stream.

Before you start acquisition, you'll need to select the board you want the Arduino Output module (lowest drop-down menu). It will take a few seconds for the GUI to initialize communication with the board. The status of the connection will appear in the Message Center.

The other three drop-down menus determine the input ("Trig") channel that will translate events into outputs on the Arduino, the gate ("Gate") channel that determines whether or not the Arduino Output is active, and the output ("Output CH") channel of the Arduino. By default:

  • The Arduino can be triggered by any TTL event (regardless of the channel)
  • There is no gate (the output will always be able to be activated)
  • The output channel is 13 (the one tied to the LED on the Arduino Uno, useful for debugging purposes)

All three of the these parameters can be changed while acquisition is active.

Known Issues

The parameters of this module are not currently saved, but this should be fixed soon.