Hardware Overview
Section I: Bpod State Machine onboard hardware
The Bpod Wiki has moved! Click to be redirected:
Hardware Overview
Section I: Bpod State Machine onboard hardware
1. Behavior ports
Bpod interfaces with up to 8 behavior ports.
Each port contains wiring for:
1 solenoid valve (12V, <150mA)
1 infrared emitter
1 phototransistor (forms photogate w/ emitter)
1 visible (white) LED
An Ethernet (CAT5e) cable connects each behavior port jack on the state machine to a port (lickometer or nose port) in the behavior chamber.
At the port end of the cable, the port breakout board interfaces to the photogate, LED and valve.
Port input channels report changes in the status of the photogate as behavior events:
In (photogate beam was blocked;
Logic transition to low level
Out (photogate beam was restored)
Logic transition to high level
Ports in use must be enabled from the settings menu, accessible from the Bpod Console GUI.
2. Wire terminals
Bpod can generate events and send triggers using TTL logic on bare wires.
Spring terminals provided for 2 inputs and 3 outputs
Press the white button above each wire to release the spring contact.
Output TTL pulses are 3.3V
Input TTL pulses can be 2.5V to 5V, and are optically isolated.
Each wire terminal channel has a ground, which must be connected to the ground of the remote device. For the inputs, these are the channels marked '-'.
3. USB, Reset button and power jack
Connect Bpod to a computer, using the jack labeled "USB". This is Arduino's native USB port.
If you are uploading Bpod firmware and something goes wrong during the upload, you can un-brick your Bpod by connecting the USB cable to "P" and selecting the "programming port" in Arduino's "board" menu.
Use the "Reset" button to reset Bpod if necessary.
The power (barrel) jack is normally unnecessary. If the solenoid valves fail to open, your USB connection may not be supplying enough power. Connect a 12VDC power adapter (positive center, 1.5A) to the barrel jack to supply additional power.
4. BNC connectors and serial ports
TTL logic can be used to trigger Bpod, or for Bpod to trigger other devices via its BNC connectors.
2 BNC outputs labeled "Trigger Out" -> 5V pulses.
2 BNC inputs are optoisolated, and accept 2.5V-5V logic.
The serial ports break out three of Arduino Due's UART channels. You can use the Bpod Arduino Shield and an Ethernet cable to send byte codes to control another 32-bit Arduino board: Arduino M0, Arduino Zero, Arduino Due or Adafruit Metro M4. You can also interface with Teensy 3.X and 4.X boards using the Bpod Teensy Shield.