Skip to content

Rotary Encoder Module

Alt text

Left, V1; right V2

The Rotary encoder module interfaces a 1024-position quadrature rotary encoder (e.g. Yumo E6B2-CWZ3E) with the Bpod state machine and its governing computer. It can be used to capture paw movements, and generate behavioral events when position thresholds are crossed. There are two versions of the module with unique capabilities.

Version 1 (left, above) can stream the current position directly to the DDS or Analog Output module for low-latency closed loop sensory feedback. It can also log data to a microSD card during each experimental trial and dump it back between trials (instead of returning data via USB) if processing bandwidth is limited in your assay.

Version 2 (right, above) has a 2-channel analog output interface to synchronize the current wheel position and 3.3V sync pulses directly with Ephys or microscopy systems. It also has a much more powerful processor, allowing for more complex event threshold criteria.

Both models are compatible with Bpod State Machine r0.7 or newer.

Hardware Specs:

  • Arduino-compatible ARM Cortex processors. V1: Cortex M4, 120MHz (Teensy 3.5, PJRC). V2: Cortex M7, 600MHz (Teensy 4.0, PJRC)
  • Screw terminal interface connects directly to rotary encoder wires
  • 2 digital i/o lines exposed, capable of forming a hardware I2C interface for custom applications (V1 only)
  • 2 analog output channels: 12-bit, 0-4V (V2 only)
  • Design files for a 3D-printable mount and paw-manipulation wheels are provided in the Sanworks Bpod-CAD repository.

Firmware for the Rotary Encoder module is available here.

Bill of Materials

Version 1

Version 2