An open source, cross-platform software suite for neuroscience data acquisition and experimental control.

Trodes is used to monitor incoming data from our data acquisition hardware. It acts as the user interface for all aspects of an experiment, including complex control of behavioral apparatuses and neuro-perturbation devices.

Many modules, one system. Designed for performance, flexibility, and ease of use.

Trodes is made up of “modules”, each running as a separate process and serving a specialized purpose. The modules all communicate with a central graphical interface that performs the most crucial tasks associated with visualizing and saving data. With this architecture, the trodes suite is readily extendable without needing detailed understanding of existing code. This allows Trodes and its users to benefit from a community of talented engineers and scientists.

Trodes is bundled with two modules, the camera module and the StateScript module.

All channels are saved at full sampling rate

Long gone are the days when only low sampling rate LFP and spike snippets could be saved. With Trodes, the channels are saved in continuous broadband form, allowing the user to change the filters, digital references, and triggering parameters long after the recording session. Files can be played back later in real time, providing a valuable data exploration tool. Here is a screenshot of a file being played back with all filters turned off:

The same interface works on three operating systems. Ideal for online/offline workflow.

The computers used to acquire data are often not the same as the computers used to analyze data offline. While a lab may acquire on a linux workstation optimized for low latency performance, researchers may want to inspect the collected data on a laptop running OSX.

Because Trodes is developed and tested on Windows, OSX, and Ubuntu Linux, data collection and offline inspection are completely cross-platform. Collect data on one machine, play back in real time on another. The same cross-platform capability is true for most of the modules, such as the camera module. Collect video on one machine, but use the same interface for offline position tracking on another machine.

Organize channels into “nTrodes” that trigger together during spikes.

Sort spikes when they occur and send spike events to other modules. Plot PSTH’s with optogenetic stimulation to determine neuronal subtype. Define feedback stimulation contingent on specific spike patterns. The possibilities are endless.


The Camera Module is used to acquire video that is synchronized to the neural recording

Track the animal’s position either during the experiment or afterward as you play the video back. Most USB webcams are supported, and for precise frame timing control the module also supports Allied Vision Tech’s GigE cameras on all three operating systems.

The StateScript Module is used to communicate with the ECU StateScript server.

Use this interface to edit scripts, send commands to the ECU, and connect ‘observer’ programs such as Python or Matlab to your custom control system.



Source Code

Development Binaries

Trodes Financial Support

Howard Hughes Medical Institute (HHMI)

National Institutes of Health (NIH)
National Science Foundation (NSF)

Human Frontiers Science Program
Gladstone Institutes

Trodes Development Team

Mattias Karlsson, Co-founder SpikeGadgets

Kevin Wang, Developer SpikeGadgets

Joshua Chu, PhD Candidate, Rice University

Loren Frank, Professor, UCSF/Howard Hughes Medical Institute

Daniel Liu, PhD Candidate UC Berkeley- UCSF Graduate Program in Bioengineering

Demetris Roumis, PhD Candidate, UCSF Neuroscience Program

Tom Davidson, Research Specialist, UCSF/Howard Hughes Medical Institute

Caleb Kemere, Asst. Professor, Electrical and Computer Engineering, Rice University, Adjunct Asst. Professor, Neuroscience, Baylor College of Medicine

Shayok Dutta, Phd Candidate, Rice University Electrical and Computer Engineering

Andy Lustig, Developer, Howard Hughes Medical Institute

Ryan Young, PhD Candidate, Brandeis University

Maris Kali, Developer, SpikeGadgets

Trevor Nguyen, Software Engineering Intern, SpikeGadgets