RHD USB/FPGA Interface: Rhythm

To facilitate the development of electrophysiology recording systems using the RHD series of microchips, Intan Technologies provides the following open-source USB/FPGA interface for developers. Designated Rhythm, the interface consists of Verilog HDL code and a C++ API written for the now-discontinued Opal Kelly XEM6010 USB interface module. Rhythm configures the Xilinx FPGA on the Opal Kelly module to communicate with up to eight RHD chips (256 channels, maximum) over SPI buses and to stream data from these chips to a host computer over a USB 2.0 interface.

The Rhythm API supports multi-platform development under Windows, Mac, or Linux. All API software is written in C++ to facilitate rapid development. The Rhythm interface is used at the core of the RHD USB interface board data acquisition software, which offers a quick way to evaluate the performance and operation of RHD chips with a plug-and-play USB interface and open-source GUI software written in C++/Qt.

We also offer a USB 3.0 version of this API that is capable of streaming data from 1024 amplifier channels and uses the currently-available Opal Kelly XEM7310 USB interface module. Unfortunately, this newer XEM7310 module cannot be used with the RHD USB interface board due to changes in the LVDS I/O supply voltage requirements of the Artix-7 FPGA on the new Opal Kelly module.


  • Open-source Verilog HDL code configures a Xilinx FPGA to communicate with multiple RHD amplifier chips
  • Verilog code is written for the now-discontinued Opal Kelly XEM6010 module with integrated high-speed USB 2.0 interface
  • Up to 256 simultaneous amplifier channels supported at sample rates from 1 kS/s to 30 kS/s per channel
  • Open-source host computer C++ API for multi-platform support


  • Windows, Mac, or Linux-based electrophysiology signal acquisition systems
  • Rapid prototyping of Intan Technologies RHD-based products
  • Starting point for the development of custom interfaces to RHD chips
Opal Kelly XEM6010 module
Opal Kelly XEM6010 module used for the Rhythm interface. This device, along with the Rhythm Verilog/C++ code, allows up to 256 channels from multiple RHD chips to be controlled and sampled by a host computer.

Documents and Software

Related Products