open-source electrophysiology

Easy to use, easy to extend.

The Open Ephys GUI was built by neuroscientists, for neuroscientists. It already has all the features needed to acquire and visualize your data—but it also makes it easy to add new modules written in C++.

Rather than having a hard-coded signal chain, the GUI allows the user to configure processing pipelines by mixing and matching modules. This makes it simple to set up the software for new experiments, especially those involving closed-loop feedback.

The GUI was inspired by software for audio processing, and is built on top of the JUCE audio processing library. This ensures that data is handled with low latencies, even for complex signal chains.

  • Works automatically with the Open Ephys acquisition board

  • Channel count limited only by computer processing speed

  • Define your own signal chain, or load a standard configuration to get up and running immediately

  • Flexible LFP display with overlaid events

  • Spike extraction and visualization for single electrodes, stereotrodes, and tetrodes

  • Built-in audio monitor

  • Digital referencing

  • Designed to be extended with Plugins

  • Tutorial for new users

To make sure you always have the most up-to-date version, or to make your own updates to the software, we recommend building the GUI from source. Follow the instructions here to learn to how to fork our repository and keep it in sync. The steps involved in compilation will depend on your platform, so be sure to read up on how to build the GUI on Mac, Linux, and Windows. See our list of releases for an overview of when new major features were added. 


Flexible spike detection and display.

The GUI was purpose-built for processing data from extracellular electrodes. It can extract spikes from many electrodes in parallel, whether they're configured as single electrodes, stereotrodes, or tetrodes. The Spike Viewer automatically displays waveforms and peak height comparisons, making it easy to see which electrodes are picking up units. You can even choose which polarity convention you want to use (spikes pointing up versus spikes pointing down).

Individual waveforms are automatically saved in a convenient binary format. These can be loaded into offline spike sorting software such as Simple Clust and MClust.

Optimized for closed-loop feedback.

One of the key advantages of the Open Ephys acquisition system is its prioritization of closed-loop feedback. Our software makes it easy to mix and match modules for acquiring data, detecting events, and sending triggers to external devices. The figure below depicts one configuration we've been using for our own experiments. In the middle, the histogram shows the amount of time elapsed between an event occurring and the feedback being delivered (measured for 1000 events). The delay is never more than 20 ms, and it's around 11 ms on average (white dotted line). This is short enough to facilitate a wide range of closed-loop experiments.

Designed to be extended.

If you know C++ or are willing to learn, adding new features to the GUI is simple. Because the functionality is encapsulated within individual modules, you don't need to understand the entire codebase in order to contribute to development. In fact, new modules can be created by implementing as little as one function (see example code on the left). At a minimum, each processor needs to specify what happens when it receives a block of continuous data and a block of events. The GUI will handle the rest.

To get started, read through the developer tutorials on our wiki.

A growing network of contributors.

Each month, more scientists download our software and start adding features of their own. In this regard, the Open Ephys GUI is unique among applications for acquiring multichannel electrophysiology data. Because it's so flexible, the GUI can be used with any type of data acquisition hardware. It has the potential to become a standard within our field, but only if it gains the support of potential users like you.

See everyone who's forked our repository on GitHub. To try the GUI yourself, download it using the links above, then check out the user tutorial on our wiki.