Code Monkey home page Code Monkey logo

jonnew / onix Goto Github PK

View Code? Open in Web Editor NEW
30.0 9.0 22.0 741.64 MB

ONI-compatible hardware, firmware, and host APIs for advanced neuroscience experiments.

Home Page: https://open-ephys.github.io/onix-docs/

License: Other

VHDL 2.55% Tcl 2.08% AGS Script 0.38% C 0.07% Makefile 0.07% C++ 0.03% HTML 64.82% Verilog 2.12% Shell 0.01% Python 0.04% TypeScript 27.83%
neuroscience hardware pcie closed-loop-control electrophysiology optogenetics

onix's Introduction

NOTE: This repository has been split into individual onix-<project> repos that are hosted on the open-ephys github account. This repo has been archived.

ONIX is a collection of ONI-compatible hardware and API for serialized, very-high channel count, closed-loop electrophysiology. It is an evolution of the first-generation hardware and software introduced in Open Ephys project and involves many of the same developers. The firmware and API are general purpose -- they can be used to acquire from and control custom headstages with arbitrary arrangements of sensors and actuators (e.g. cameras, bioamplifier chips, LED drivers, etc.) and are not limited to the hardware in this repository.

Documentation : https://open-ephys.github.io/onix-docs/index.html

Citing this work:

  1. Citing the paper
  • TODO
  1. Citing the repository itself
  • DOI

Features

  • Follows the ONI-specification for serialization protocols, host communication protocols, device drivers, and host API

  • Firmware and API permit acquisition and control of arbitrary arrangements of sensors and actuators:

    • Headstages
    • Miniscopes
    • Photometry systems
    • Etc.
  • Submillisecond round-trip communication from brain, through host PC's main memory, and back again.

  • Headstages:

    • 64-, 128-, 256-channels of electrophysiology
    • Optogenetic stimulation
    • Electrical stimulation
    • 3D-pose measurement
    • Data, user control, and power via a tiny coaxial cable
    • Wireless communication
  • Low-level API implementation

  • High-level API language bindings and existing integration with Open Ephys GUI and Bonsai.

  • Quality documentation and easy routes to purchasing assembled devices.

Software

  1. API: https://github.com/jonnew/liboni
  2. Bonsai package: coming soon
  3. Open Ephys GUI plugin: coming soon

Hardware

64 Channel electrode interface board. Designed for small rodent tetrode electrophysiology. Works with headstage-64.

128 Channel electrode interface board. Designed for large rodent tetrode electrophysiology. Works with headstage-256.

256 Channel electrode interface board. Designed for large rodent tetrode electrophysiology. Works with headstage-256.

Serialized, multifunction headstage for small rodents. Supports 64 channels. Designed to interface with eib-64.

Serialized, multifunction headstage for large rodents. Supports both 128 or 256 channels. Designed to interface with eib-128 or eib-256

Base board for facilitating PCIe communication, via FMC compatiable and PCIe-capable FPGA based board (e.g. Numato Lab Nereid. This board plugs into the FMC connector on the base board. It provides communication with one headstage and lots of other analog and digital IO.

Passive breakout board for acquiring and generating analog signals through BNC, SMA, ribbon, or straight wire connections. Plugs into fmc-host using a 26-pin shrunk delta ribbon cable.

Adapter to interface eib-64 with the popular nanoZ electrode impedance tester and plating device.

Multiplexed adapter to interface eib-128 and eib-256 with the popular nanoZ electrode impedance tester and plating device.

Test board for headstage-64. Allows injecting simulated biopotentials into headstage modules via a selectable passive attenuator. Provides LEDs and simulated electrical loads for optical and electrical stimulation.

Test board for headstage, and headstage-256 modules. Allows injecting simulated biopotentials into headstage modules via a selectable passive attenuator. Provides LEDs and simulated electrical loads for optical and electrical stimulation.

JTAG breakout for the Intel USB Blaster 2 used to program the headstages' MAX10 FPGA.

onix's People

Contributors

aacuevas avatar ckemere avatar dependabot[bot] avatar jonnew avatar jvoigts avatar jz0229 avatar nbonacchi avatar phildakin avatar tobymanders avatar yaoyua avatar zevrosen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

onix's Issues

Create dummy oni driver

Having the ability to test the API without hardware would be useful for testing.

Using the driver interface it is possible to create a dummy driver that exposes fictional hardware with a fixed set of devices and streams to the API.

Minor copy/paste issue in the pin mapping

Line 57 of the pin mapping, the nanoZ channel is replaced by some random text ("The EIB pinout (ephys input mapping, stimulation connections, etc) is located on this google sheet").

I assume it should actually be nanoZ pin 57.

API Error code review

As discussed in #20, the error codes in onidefs.h need review. Some are too specific to xillybus, and we need to think through the overly generic nature of others. Since we are in the midst of revision 3.0.0 development, now is a good time to do this.

omnetics-adapter-64

Hi,
this adapter is used with omnetics-EIB, any adapter works with your Hirose-EIB? Hirose-64 to Omnetics 32*2?

Thanks,

Congratulation

What you have done before was super great.
Here, this is totally amazing.
Thank a lot.

At some point, if you need help to make a python layer over the C library I can help.

best,

Samuel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.