Josh Sanders has shared the following with OpenBehavior regarding Bpod, an open platform for precision animal behavior measurement created by Sanworks.
Bpod is a measurement and control system for behavior research, most often used to implement operant (Go/NoGo, 2AFC) tasks. Its software controls a hierarchy of hardware modules, each powered by an Arduino-programmable microcontroller. Atop the heiarchy is a “state machine” module that accepts an abstract trial definition, relating detected behavioral events to progression through user-defined hardware states. On trial start, the module serves as a real-time controller in parallel with the non-real-time computer, reading inputs and updating outputs in 100µs cycles until it reaches an exit state. Measured events are then returned to the computer, where software updates user-defined online plots, and loads the next trial’s state machine.
The Bpod state machine has on-board hardware interfaces for TTL logic and behavior ports (a.k.a. nosepokes) containing a photogate to detect snout entry, a miniature solenoid valve for liquid reward, and a visible LED to deliver cues and feedback. Modules under state machine control specialize in larger solenoids, analog input and output, direct digital synthesis, and a gamepad interface (for human research). An Arduino shield is provided, for users to interface new sensors and actuators with the state machine.
By handling the time-critical logic relating measurements to environment control in an open-source embedded computing environment, the Bpod system provides experimenters with a powerful family of tools for rigor and automation in behavioral research.