Skip to content

Commit 2c80e5c

Browse files
Merge pull request #50 from open-ephys/issue-49
Add troubleshooting guide
2 parents 006a244 + 21f8625 commit 2c80e5c

21 files changed

Lines changed: 575 additions & 261 deletions

Pipfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ sphinx = "*"
88
pydata-sphinx-theme = "0.13.3"
99
sphinx-tabs = "*"
1010
make = "*"
11+
sphinx-design = "*"

Pipfile.lock

Lines changed: 380 additions & 240 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/Build-Instructions/Custom-cables.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Some of the required cables can be built in the lab:
88

99
Custom fine wire tether
1010
-----------------------------------
11-
If you want something even more lightweight and flexible, it's possible to build your own cables. We did this by soldering wires to two 12-pin Omnetics PZN-12 `polarized nano connectors <https://www.omnetics.com/products/polarized-nano>`__. Here, we've used `Cooner <http://www.coonerwire.com/>`__ CZ 1187 wire, FEP Insulation 38AWG with 0.012" diameter and 0.720Ω/foot. This is the standard wire for analog tethers because it is very flexible and light, but also durable. The cables sold by Intan are 0.423Ω/ft for the LVDS and 0.172Ω/ft for ground and power, so we're at the upper end of the possible resistance values, but it seems possible that the 40AWG version of the wire could work for the LVDS pairs. For the GND and VCC traces using two 38AWG wires or going to a thicker wire with <0.2Ω/foot is recommended unless the tether is pretty short. This limit is more unforgiving if you're intending to run two headstages on one cable.
11+
If you want something even more lightweight and flexible, it's possible to build your own cables. We did this by soldering wires to two 12-pin Omnetics PZN-12 `polarized nano connectors <https://www.omnetics.com/product/polarized-nano-horizontal-smt-aa/>`__. Here, we've used `Cooner <https://www.coonerwire.com/>`__ CZ 1187 wire, FEP Insulation 38AWG with 0.012" diameter and 0.720Ω/foot. This is the standard wire for analog tethers because it is very flexible and light, but also durable. The cables sold by Intan are 0.423Ω/ft for the LVDS and 0.172Ω/ft for ground and power, so we're at the upper end of the possible resistance values, but it seems possible that the 40AWG version of the wire could work for the LVDS pairs. For the GND and VCC traces using two 38AWG wires or going to a thicker wire with <0.2Ω/foot is recommended unless the tether is pretty short. This limit is more unforgiving if you're intending to run two headstages on one cable.
1212

1313
The wiring diagram of the cable is simple: There are two rows, each with 6 conductors. Each pair consists of a 'top' and 'bottom' conductor which must be wired straight to the same pair, except with the top and bottom cables switched at the opposite end. Alternatively, as shown below, if one connector is flipped upside down, then all wires just go straight to the opposing pin. This includes gnd/power.
1414

source/Build-Instructions/Ordering-parts.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Clone the `acquisition-board <https://github.com/open-ephys/acquisition-board>`_
1414
Acquire the raw materials and tools
1515
###################################
1616

17-
Open up BOM.csv in Excel or a text editor (or `view it on Google Docs <https://docs.google.com/spreadsheet/ccc?key=0An1VoeoG8K6AdHhqNjhneGZWWkR5R2hZcDFOd243dHc#gid=0>`__). This is a list of all the parts that are necessary to populate the acquisition board PCB. Most of them can be ordered from DigiKey, but some are only available from other distributors. The quantities (column B) are for one acquisition board, so take that into account if you're trying to build multiple boards.
17+
Open up BOM.csv in Excel or a text editor (or `view it on Google Docs <https://docs.google.com/spreadsheets/d/1ywzGieWArYGw0-nE7zoQLTEWNAr0ZzdUiqCSY4VL7uM/edit>`__). This is a list of all the parts that are necessary to populate the acquisition board PCB. Most of them can be ordered from DigiKey, but some are only available from other distributors. The quantities (column B) are for one acquisition board, so take that into account if you're trying to build multiple boards.
1818

1919
.. image:: ../_static/images/buildinstructions/samtec.png
2020

source/FAQ/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ FAQs
1010

1111
**What products are compatible with the Acquisition Board?**
1212

13-
This `compatibility matrix <https://open-ephys.org/product-compatibility>`_ shows compatible products sold through the Open Ephys store. Any RHD2000-series headstages sold by Intan will work with the Acquisition Board.
13+
Besides our own :ref:`headstages`, any RHD2000-series headstage with an SPI protocol and 12-pin polarized nano-connector such as those sold by Intan will work with the Acquisition Board.
1414

1515
|
1616

source/Hardware-Guide/How-it-works.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ For the original acquisition board, we chose to use the Opal Kelly XEM6310 USB 3
3838

3939
The Open Ephys FT600 USB board FPGA module developed by the Open Ephys team.
4040

41-
Our Open Ephys FPGA module uses the same footprint as the previous Opal Kelly one so it can be replaced directly on the existing acquisition boards, although it uses a different FPGA, a Lattice EPC5. Its `design is open source <https://github.com/open-ephys/ECP5U85-BSE-USB>`_ and PC communication is compliant with the our `ONI standard <https://open-ephys.github.io/ONI/>`_ for common interfaces in neuro tools, which is the same standard that powers our more advanced system `ONIX <http://open-ephys.github.io/onix-docs/>`_. The Open Ephys FPGA modules are used for all Acquisition Boards Gen 2 and above.
41+
Our Open Ephys FPGA module uses the same footprint as the previous Opal Kelly one so it can be replaced directly on the existing acquisition boards, although it uses a different FPGA, a Lattice EPC5. Its `design is open source <https://github.com/open-ephys/ECP5U85-BSE-USB>`_ and PC communication is compliant with the our `ONI standard <https://open-ephys.github.io/ONI/>`_ for common interfaces in neuro tools, which is the same standard that powers our more advanced system `ONIX <https://open-ephys.github.io/onix-docs/>`_. The Open Ephys FPGA modules are used for all Acquisition Boards Gen 2 and above.
4242

4343
The FPGA itself is programmed in a language called Verilog. Verilog is a type of "hardware description language," because it specifies the actions of registers and logic gates, rather than functions and variables. Verilog is compiled to a "bitfile," which must be uploaded to the FPGA each time it's used. Compiling the bitfile can take several minutes, but uploading it occurs almost instantaneously. In the original Opal Kelly module, the bitfile is uploaded by the OE GUI each time the board is recognized, while in the new Open Ephys FPGA module, the bitfile resides permanently on the board. The gateware on Open Ephys FPGA modules can be updated by following :doc:`these instructions </User-Manual/Gateware-Update>`. An onboard bitfile makes it easier to use the acquisition board across different software like Bonsai as it avoids bitfile path issues. The Verilog code that runs on the acquisition board FPGA is our custom version of the "Rhythm" interface developed by Intan. We had to change a few things in order to communicate with our analog-to-digital converters (we're using Texas Instruments ADCs, rather than Analog Devices) and control the 8 LEDs on the board. If you're interested, you can take a look at the `source code <https://github.com/open-ephys/rhythm>`_ (but this is not recommended unless you have some prior Verilog experience).
4444

source/Hardware-Guide/Peripheral-devices.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ Some applications require to generate (or read) digital channels on the host-PC
163163

164164
The arduino shield for I/O from the host-pc can generate up to 8 channels of digital I/O. Each channel can be assigned as in or out and assigned to an event channel in the GUI.
165165

166-
On the Arduino, this is implemented via the `Firmata firmware <http://playground.arduino.cc/Interfacing/Firmata>`_). This makes it simple for a computer to access the state of the Arduino pins via USB.
166+
On the Arduino, this is implemented via the `Firmata firmware <https://github.com/firmata/arduino>`_). This makes it simple for a computer to access the state of the Arduino pins via USB.
167167

168168
For a similar, but much more powerful signal output device, check out the `PulsePal <https://sanworks.io/shop/viewproduct?productID=1102>`_) which also works seamlessly with the Open Ephys GUI.
169169

source/User-Manual/Acquisition-software.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ To process, record, and visualize data from the Acquisition Board, we recommend
1010

1111
1. The Open Ephys GUI
1212
###################################
13-
The **Open Ephys GUI** is an open-source, plugin-based application built specifically for acquiring extracellular electrophysiology data, available for download `from the Open Ephys website <https://open-ephys.org/gui>`_. The GUI has its own `documentation site <https://open-ephys.github.io/gui-docs/>`_.
13+
The **Open Ephys GUI** is an open-source, plugin-based application built specifically for acquiring extracellular electrophysiology data, available for download `from the Open Ephys website <https://open-ephys.org/gui>`_. The GUI has its own `documentation site <https://open-ephys.github.io/gui-docs/>`_. Install the Open Ephys GUI will install the Acquisition Board drivers/configure board permissions, so it is the most straightforward way to get started.
1414

1515
2. Bonsai
1616
###################################

source/User-Manual/Driver-installation.rst

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@
33
Driver installation
44
=====================================================
55

6-
Here are the instructions to install the drivers to use the Acquisition Board.
6+
Drivers are distributed with the Open Ephys GUI, so you will usually be able to complete the driver installation during the `Open Ephys GUI installation <https://open-ephys.github.io/gui-docs/User-Manual/Installing-the-GUI.html>`_. If you run into issues or need to install them independently, please follow the instructions below.
77

88
.. note:: Different Acquisition Board generations use different drivers. See :ref:`this section <genids>` to identify what generation board you have.
99

1010
Make sure you have the drivers installed correctly before using the Acquisition Board.
1111

12-
Drivers are distributed with the Open Ephys GUI, so you will usually be able to complete the driver installation during the Open Ephys GUI installation. If you need to install them independently, please follow the instructions below.
13-
1412
Driver installation for Generations 2 and above
1513
-----------------------------------------------------------------------------------
1614

@@ -25,7 +23,7 @@ On Windows
2523
On MacOS
2624
********************
2725

28-
#. Download the `MacOS driver <https://github.com/open-ephys-plugins/rhythm-oni-plugin/raw/refs/heads/main/Resources/Drivers/libftd3xx.dylib>`__.
26+
#. Download the `MacOS driver <https://github.com/open-ephys-plugins/acquisition-board/blob/main/Resources/Drivers/libftd3xx.dylib>`__.
2927
#. Copy the file ``libftd3xx.dylib`` to ``/usr/local/lib`` (you can use ``sudo cp libftd3xx.dylib /usr/local/lib``)
3028

3129
Some security features on mac might prevent the driver from loading.
@@ -42,6 +40,19 @@ The steps to solve this are:
4240
#. Near the bottom of the page, the library error will appear, click on allow
4341
#. Run the updater again, if a window appears, it will have an ``open`` option now
4442

43+
On Linux
44+
********************
45+
46+
Linux does not require a driver, but the board permissions need to be configured. These are configured during the Open Ephys GUI installation, but if you need to configure board permissions independently, you can manually copy the rules file from the `zip version of the installer <https://open-ephys.github.io/gui-docs/User-Manual/Installing-the-GUI.html#via-zip-file-all-distros>`_ or your own build.
47+
48+
#. Open a terminal and set your working directory to the main folder of the GUI source code.
49+
50+
#. Enter :code:`sudo cp Resources/Scripts/40-open-ephys.rules /etc/udev/rules.d`. The console might then ask for your password.
51+
52+
#. Enter :code:`service udev restart` on Ubuntu/Debian or :code:`sudo udevadm control --reload-rules` on Fedora/CentOS/Gentoo to allow the GUI to communicate with the Open Ephys acquisition board.
53+
54+
The changes will take effect the next time the Acquisition Board is connected to USB.
55+
4556
Driver installation for Generations 0 and 1
4657
-----------------------------------------------------------------------------------
4758

source/User-Manual/Gateware-Update.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ Updating gateware
6262
.. warning:: Do not attempt to update the board gateware while the GUI or any other software using
6363
the board is in use. Do not open any software that uses the board while an update is in process.
6464

65-
#. Be sure that the correct :doc:`device drivers are already installed</User-Manual/Driver-installation>`
65+
#. Make sure that the correct and latest :doc:`device drivers are installed </User-Manual/Driver-installation>`
6666

67-
#. Download the :ref:`gwupdate_latest` of the gateware
67+
#. Connect the acquisition board to the computer via USB 3.0 and connect it to power using the power supply provided.
6868

69-
#. Extract the contents of the file
69+
#. Confirm that the device is recognized by the operating system. If not, follow the :ref:`Troubleshooting Guide <isitrecognized>`.
7070

71-
#. Connect the acquisition board to the computer via USB 3.0 and connect it to power using the power supply provided
71+
#. Download the :ref:`gwupdate_latest` of the gateware and extract the contents of the file.
7272

73-
#. Run the updater
73+
#. Run the updater:
7474

7575
* On Windows: Double click on the file ``UpdateFPGA_v1_0.bat``
7676
* On Linux or Mac: Execute the file ``UpdateFPGA_v1_0.sh``

0 commit comments

Comments
 (0)