starboard is a low-cost, modular, open-source and open-hardware system for operant behavioral experiments. You can control a range of input and output devices for presenting stimuli, detecting responses, and providing food rewards. The current implementation consists of a Beaglebone Black and a custom expansion card. Control software uses a modern, event-driven state machine framework and supports several basic training and test paradigms out of the box. Additional paradigms can be configured by specifying different state transition networks.


starboard is currently in revision A2B and has been used in the Meliza lab for experiments since summer 2014. Currently the design includes:

A repository with schematics, PCB layouts, and other information needed to construct your own starboard is hosted at melizalab/starboard. You can order PCBs from OSHPark for the cape and the LED breakout.

2016 Update: We are currently in the process of redesigning the hardware to be more modular, easily assembled, and future-proof by transitioning from the Beaglebone Black to a Colibri SOM computer and by replacing 3D-printed and hand-assembled parts with PCB fabrication. Ayush Sagar in the UVA Computer Engineering department is currently leading this effort. Please contact Dan Meliza if you are interested in contributing to this project.


The control software for starboard is decide, an event-driven state-machine framework running on node.js. Responses generate interrupts that trigger transitions between states. All events are logged and can propagate to sockets-based web interfaces for online monitoring of behavior. Multiple devices can be connected to a host computer, which collates data and provides additional monitoring services, permitting safe maintenance on closed economies. Implementing new training paradigms involves wiring together states and events and is intended to require minimal programming skills. The software will support other hardware configurations, allowing you to design custom interfaces for your experimental needs.

The controller software is hosted at melizalab/decide, and the host software is at melizalab/decide-host.