Bpod

July 10, 2017

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.

Sanworks’ GitHub may be found here.

The Wiki page for Bpod, including assembly instructions and Bill of Materials may be found here. 

Leave a Reply

Your email address will not be published. Required fields are marked *