SpikeGLX OneBox Quickstart

>> Updated: September 27, 2024 <<

Topics:

Overview

What is it?

Think of the OneBox as three separate function units in one tidy package:

  1. Neural unit: The 2 headstage ports work just like PXI-based ports.
  2. ADC unit: There are 12 analog input (ADC) channels for aux signals.
  3. DAC unit: There are 12 analog output (DAC) channels. Not implemented yet in SpikeGLX.

Setup

It's easy to set up; basically three steps:

  1. Plug the box into a USB 3.0 (or higher) port.
  2. Install a required FTDI driver.
  3. Assign it a slot number.

There are additional details below, and in the Imec technical document:

Imec document not yet public


Compatibility


Hardware Tour

Back Panel

Sync

Overview

Sync in SpikeGLX works by sending a single common 1 Hz square wave to one channel of each recording data stream. The rising edges of this wave can then be matched across streams, and paired edge offsets can be used to map event times from one stream to another (our TPrime tool does this mapping).

Quick notes about OneBox:

Port and voltage

SMA 1 on the back panel is the OneBox SYNC port. It uses 0-5V TTL (digital) signals. This functions like the SMA connector labeled TRIG on the front of a PXI basestation, which also uses 0-5V TTL signals.

Sync output

In SpikeGLX, on the Configuration dialog Sync tab, you can select one device in the run for Sync output. This can be a separate pulser device, an NI device, a OneBox, or a PXI module. All the other devices in that run must then be wired to receive that common shared Sync signal.

Sync input

Any OneBox in a run that is not selected for Sync output is automatically programmed for Sync input, so that it will record the common shared Sync signal being generated by the selected output device. (This is also how PXI modules are programmed: they are inputs any time they are not an output).

Wiring

PXI modules all live in the same PXI chassis and share signals among themselves using the chassis backplane. So only one PXI SMA should be connected whether bringing signals in or out of the chassis as a whole. However, if using more than one OneBox, there is no backplane connecting these, so you will need to cable up the SMA 1 connector of each OneBox in the run.

Non-sync input

Even when Sync is disabled, OneBoxes (and PXI modules) are programmed for input at their Sync SMA. This allows you to record whatever 5V TTL signal you wish in the SY channels of each of the recorded data streams.

Front Panel

Status lights

Briefly:

Neural ports

Plug imec headstage(s) here. They work just like the ports in PXI modules.

DAC connector

This front panel SMA is an alternate means to access analog output channel-0, if you don't want to use the breakout board.

SDR and breakout board

The accessory breakout board provides access to the 12 analog input/output channels. Each channel can individually be configured for input (ADC) or output (DAC). Currently, in SpikeGLX, all channels are set for input.

Connect it using the provided SDR (shrunk delta ribbon) cable. Note that one end of the cable is labeled "Camera Side" but that does not matter in this application: Both ends are equivalent.

Access the 12 ADC/DAC channels using the BNC connectors or by attaching your custom ribbon cable to the connector block labeled "IO."

Ignore the pins labeled "LVDS." They are reserved for future expansion by imec and are currently unimplemented.

ADC connector

This front panel SMA is an alternate means to access analog input channel-0, if you don't want to use the breakout board.

Voltage levels

Sync

ADC inputs


Driver Installation

You need the proper FTDI driver for the FT601 chip in the OneBox...

Note that the OneBox does not use enclustra drivers. Those are only needed for PXIe basestations.

First, Check What's There Now

  1. Connect power supply to the OneBox, turn it on.
  2. Connect it to the PC using the included USB 3.0 cable.
  3. Open Windows Device Manager: Right-click Windows Start button >> select "Device Manager" from menu.

If you see an entry like this, you will install a driver for the first time.

Fig 1. Not Installed

Fig 1. Not Installed

If you see an entry like this,

Fig 2. Installed

Fig 2. Installed

then check the version of the driver: Right-click >> Properties >> Driver tab. If the version is 1.3.0.10, you're done. If the version is earlier, you must update it.

Getting the New Driver

  1. Go to the FTDI D3XX driver download site.
  2. Select the latest Windows X64 driver as shown.
Fig 3. Select X64 Version

Fig 3. Select X64 Version

The downloaded file looks like "FTD3XXDriver_WHQLCertified_v1.3.0.10.zip."

  1. Unzip the download.
  2. In the Device Manager, update whichever entry you saw before: Right-click >> Update driver >> Browse my computer for drivers >> select your folder >> Next.
  3. Check for success: Entry in Device Manager now looks like Fig 2.

Note: Once a driver is installed, the Device Manager entry like Fig 1. will vanish. That's normal.


Assign a Slot

Some motivating background. In the beginning you bought a PXI basestation module which you installed into a slot of your PXI chassis. Each module had four ports for plugging in headstages. The imec software references the headstages in your system according to their (slot,port) address.

Now come OneBoxes, which are basestations in a new package, although these have two instead of four ports. As we said, you can do a run with some probes plugged into PXI modules and some in OneBoxes. In order to unify things, we ask you to assign a slot number to each OneBox. This way, you are running a set of headstages of given (slot,port) regardless of where you plugged them in.

Note that each OneBox has a serial number (a.k.a. OneBox ID) sticker on the bottom. Use the Configure Slots button on the Devices tab of the Configuration dialog to assign a slot for that SN, and set other preferences.

Follow these steps:

  1. Click Configure Slots in the upper-left of the Configure dialog Devices tab.
  1. Click on the table row with your OneBox ID (SN) to select it.
  1. In the controls below the table:

This adds new rows into the main Probes table in the Devices tab. In this example there are three added rows:

Full details on the Configure Slots dialog are here.


Data Streams, Files, Formats

Please read the User Manual, but at least read these sections:

The reading will explain in general how output files are named and their data formats. Here we follow that up with an illustrative example.

Simple Example

Suppose you want to run with your OneBox (slot 21 in this example):

If you named the run AAA, this would result in four data files:

The probe data files are the same as you would get from running that probe in a PXI module:

Probe recording is the same whether you plug into OneBox or PXI!

However, the Obx data file type is specific to OneBox. It's the SpikeGLX way of naming ADC streams recorded with OneBoxes. The first OneBox enabled in the table gets label obx0, the next is obx1 and so on. In our example:


Sample Rate, Calibration

Rates

Probes plugged into OneBox work the same as in PXI. The governing sample clock for probes is in the headstage. All headstages run asynchronously, so you will need to align/sync data from different probes as always. The nominal sample rate for a headstage is ~30 KHz.

The ADC sample clock is in the OneBox. It runs at ~30303 Hz (non-adjustable).

Calibration

As always, we recommend doing a calibration run for all the components you will enable in the same run. This greatly improves the estimates of their relative rates and will enable TPrime to accurately align the streams even for very long recording sessions. Find full discussion of synchronization and calibration here:

Note that clock rates vary with temperature so no single rate can accurately account for drift over long time spans. Rather, the common shared sync wave is used by the TPrime postprocessing tool to precisely determine current relative drift at any point in a run, provided the same sync wave edges can be paired. A good calibration ensures edges can be paired (based on the nominal rate estimate) even for long run durations. See help document: Sync: Aligning with Edges.


Configure a Run

Probes

To run a probe with a OneBox:

  1. Plug the probe into a headstage and plug the headstage into a OneBox port.
  2. Check the enable checkbox for that (slot,port,dock) in the Probes table.
  3. Click Detect.
  4. Visit the IM Setup tab to set addition parameters for the probe.

Detailed instructions for the IM Setup tab are here.

ADC

To record an ADC input stream from a OneBox:

  1. Connect your input signals to a OneBox's breakout board.
  2. Check the enable checkbox for that (slot,ADC) in the Probes table.
  3. Click Detect.
  4. Visit the Obx Setup tab to set addition ADC recording parameters.

Detailed instructions for the Obx Setup tab are here.

Don't forget to also:


Troubleshooting

If the OneBox stops talking, say, you see this error on clicking Detect:

error 30 'USB IO error: 32'

It's usually simple to recover:

  1. Quit SpikeGLX.
  2. Cycle power to the OneBox.
  3. Relaunch SpikeGLX and try the operation again.

Sometimes just cycling OneBox power is enough.

fin