NYX1-512
The NYX1-512 chip is a recording peripheral that can implement the Synapse Electrical Broadband node. It supports the following ElectricalBroadbandConfig parameters:
| Parameter name | Parameter options |
|---|---|
bit_width | 12 |
sample_rate | 4000, 8000, 16000, 20000, 25000, 32000 |
low_cutoff_hz | 4, 57, 92, 154, 457 (defaults 92 if field is empty) |
high_cutoff_hz | 4365, 13489, 20400 (defaults 13489 if field is empty) |
channels | valid electrode_id and reference_id depend on the desired reference mode. |
id is arbitrarily assigned | |
type specifies ELECTRODE (default) or GPIO |
Gain and Filter Parameters
The NYX1-512 chip has tunable filter parameters and gain settings. The value of the low- and high-frequency cutoffs determines the gain of the system. The table below details the valid pairs of filter cutoff values, as well the gain associated with each setting.
| Low Cutoff (Hz) | High Cutoff (Hz) | Gain (V/V) |
|---|---|---|
| 457 | 13489 | 138 |
| 154 | 13489 | 179 |
| 92 | 13489 | 200 |
| 57 | 13489 | 200 |
| 57 | 4365 | 200 |
| 4 | 20400 | 13 |
Differential Reference Mode
You need to select pairs of electrodes according to the following rules:
electrode_id: Select a set of even numbered electrodes which fall between 0–511, inclusive.reference_id: For a givenelectrode_idn,reference_id= n+1
Global Reference Mode
Alternatively, you can select a global reference according to the following rules:
electrode_id: All even OR all odd values between 0–511, inclusive.reference_id: Refer to the following table:
electrode_id | Valid reference_id |
|---|---|
0–7 | 512 |
8–127 | 513 |
128–135 | 514 |
136–255 | 515 |
256–263 | 516 |
264–383 | 517 |
384–391 | 518 |
392–511 | 519 |
Ground Reference Mode
To use PCB ground as your reference signal:
electrode_id: All even OR all odd values between 0–511, inclusive.reference_id: 520
LUX1-16K
The LUX1-16K chip is a stimulation peripheral that can implement the Synapse Optical Stimulation node. It drives an LED array of up to 128 × 128 pixels (16,384 total). It supports the following OpticalStimulationConfig parameters:
| Parameter name | Parameter options |
|---|---|
peripheral_id | ID of the LUX1-16K peripheral to drive |
pixel_mask | Per-pixel enable list in row-major order. A value of 0 forces the corresponding pixel off; any non-zero value leaves it enabled. Leave empty to enable all pixels. When provided, its length must match the frame's rows × columns. |
bit_width | 7 (yields 128 intensity levels, 0–127) |
frame_rate | Frame rate in Hz. Must be greater than 0. |
gain | Intensity gain multiplier applied to the normalized pixel values |
send_receipts | true or false (defaults to false). When true, the device returns a 1×N receipt vector (N = number of LEDs) with each frame. |
Frame Format
An optical stimulation frame (OpticalStimFrame) describes a single image to display on the LED array. Each frame specifies:
| Field | Description |
|---|---|
rows | Frame height, in pixels |
columns | Frame width, in pixels |
intensity | Normalized pixel intensities in row-major order. Each value ranges from 0.0 (fully off) to 1.0 (fully on); values are scaled to the 0–127 range on the device. |
duration_us | On-time, in microseconds. For passive displays this is the row on-time; for active displays it is the frame on-time. |
Neuropixels 1.0
The Neuropixels 1.0 probe is a recording peripheral that can implement the Synapse Electrical Broadband node. Its NRIC1384 readout IC multiplexes 960 shank electrodes onto 384 recording channels.
One probe presents two Synapse peripherals that record simultaneously from the same electrodes: NRIC1384 for the action-potential (AP) band and NRIC1384-LFP for the local-field-potential (LFP) band. Each is configured independently, and both support the following ElectricalBroadbandConfig parameters:
| Parameter name | Parameter options |
|---|---|
bit_width | 16 (defaults 16 if field is empty) |
sample_rate | Fixed per band: 30000 for NRIC1384, 2500 for NRIC1384-LFP. A request above the band's fixed rate is rejected; any lower value is accepted but the band still streams at its fixed rate |
gain | 50, 125, 250, 500, 1000, 1500, 2000, 3000 (defaults 1000 for the AP band and 50 for the LFP band if field is empty) |
low_cutoff_hz | AP band only, and selects one of two corners rather than an arbitrary frequency. See AP High-Pass Corner |
high_cutoff_hz | Ignored |
channels | electrode_id selects a shank electrode, 0–959. See Electrode Banks |
reference_id selects one of three fixed reference nodes. See Reference Selection | |
id is arbitrarily assigned | |
type must specify ELECTRODE. GPIO channels are not supported |
The signal chain must supply an electrode configuration; a pixel configuration is rejected. Impedance measurement is not supported on this peripheral. Its self-test verifies that the base configuration loads and the probe asserts SR_OUT_OK.
Electrode Banks
The shank's 960 electrodes are grouped into three banks that share the probe's 384 recording channels:
| Bank | electrode_id | Recording channels |
|---|---|---|
| 0 | 0–383 | 0–383 |
| 1 | 384–767 | 0–383 |
| 2 | 768–959 | 0–191 (partial bank) |
An electrode maps to recording channel electrode_id modulo 384, so a configuration can select only one electrode per recording channel. Selecting electrodes 5 and 389 together is invalid because both land on channel 5. A configuration is also rejected when it repeats an electrode_id, exceeds 384 electrodes, or names electrode 191, 575, or 959, which are reference-only and cannot record.
Reference Selection
A Neuropixels 1.0 channel can reference one of three fixed nodes rather than an arbitrary electrode, so reference_id carries a reserved selector instead of an electrode ID:
reference_id | Reference |
|---|---|
| 0 | External reference electrode (used when the field is empty) |
| 1000 | External reference electrode |
| 1001 | Tip reference electrode |
| 1002 | Internal reference, bank 0 (electrode 191) |
| 1003 | Internal reference, bank 1 (electrode 575) |
| 1004 | Internal reference, bank 2 (electrode 959) |
Any other value is rejected. Only one internal-reference electrode is active across the probe, so a configuration cannot mix two different internal-reference banks.
AP High-Pass Corner
The probe's AP high-pass is a single on/off setting, so low_cutoff_hz selects between two corners:
- A value of 10 or less disables the high-pass and records full-band, leaving only the amplifier's own sub-1 Hz corner.
- A value above 10, or an empty field, engages the ~300 Hz AP high-pass.
The LFP band ignores low_cutoff_hz entirely.
Running Both Bands
The AP and LFP peripherals drive one physical probe, so their configurations must agree wherever they overlap. When both bands are running, a recording channel shared between them must select the same electrode and the same reference in each, and the two bands cannot request different internal-reference banks. gain remains independent per band.
Signal Scale
The probe digitizes with 10-bit ADCs and delivers samples as signed 16-bit values. The input-referred range is 1200 µV at a gain of 1000 and scales inversely with the configured gain, so raising the gain narrows the range and shrinks the value of one LSB.
Intan RHD2132
The Intan RHD2132 is a 32-channel recording peripheral that can implement the Synapse Electrical Broadband node. It appears as IntanRHD2132 and supports the following ElectricalBroadbandConfig parameters:
| Parameter name | Parameter options |
|---|---|
bit_width | Set this field explicitly; an empty field passes configuration but fails when the signal chain starts |
sample_rate | Greater than 0 and at most 30000. See Sample Rate Quantization |
gain | Ignored. The chip's amplifier is fixed at 192 V/V |
low_cutoff_hz | 0.1–500, snapped to the nearest supported corner (defaults 1 if field is empty). See Filter Corners |
high_cutoff_hz | 100–20000, snapped to the nearest supported corner (defaults 7500 if field is empty) |
channels | electrode_id is 0–31 for an ELECTRODE channel and 0–2 for a GPIO channel |
reference_id is ignored | |
id is arbitrarily assigned | |
type specifies ELECTRODE or GPIO. See GPIO Channels |
A configuration may enable up to 32 electrode channels, and the peripheral streams them in ascending electrode_id order regardless of the order you list them. Repeating an electrode_id is accepted and produces two channels that both sample the same amplifier. The peripheral's self-test reads the chip's ROM registers to confirm the INTAN signature and chip ID 0x01.
Sample Rate Quantization
The gateware derives the sample period from a fixed 80 MHz clock, so the achievable rates are 80 MHz divided by a whole number of clock cycles. The peripheral rounds the requested rate to the nearest achievable period and records at that rate, which can differ slightly from the value you requested. A request of 30000 Hz, for example, yields a period of 2667 cycles and an actual rate of about 29996 Hz. The frames report the actual rate.
Filter Corners
low_cutoff_hz and high_cutoff_hz set the chip's analog bandwidth. Both must be supplied together: a configuration that sets one and leaves the other empty is rejected, because a single corner would silently leave the other at its default. When both fields are empty, the chip records with its default 1 Hz to 7.5 kHz bandwidth.
Each value is snapped to the nearest corner the chip's register tables can produce:
| Corner | Supported values (Hz) |
|---|---|
low_cutoff_hz | 0.1, 0.25, 0.3, 0.5, 0.75, 1, 1.5, 2, 2.5, 3, 5, 7.5, 10, 15, 20, 25, 30, 50, 75, 100, 150, 200, 250, 300, 500 |
high_cutoff_hz | 100, 150, 200, 250, 300, 500, 750, 1000, 1500, 2000, 2500, 3000, 5000, 7500, 10000, 15000, 20000 |
GPIO Channels
The peripheral can sample up to three digital inputs alongside the electrode channels. A GPIO channel's electrode_id selects the input, 0 through 2; higher IDs are rejected because only those three are wired on the board. Duplicate GPIO IDs are also rejected.
GPIO samples arrive in the same frames as the electrode data, appended after the electrode channels, matching the channel ordering the NYX1-512 uses for its GPIO channels.
Impedance
This peripheral supports impedance measurement through the chip's on-chip impedance-check DAC. Measurements run per electrode, 0 through 31, and cannot run while the signal chain is recording. The stimulation frequency must be at least 250 Hz, and very high frequencies are rejected when a stimulation period becomes shorter than the measurement loop.
Sample Resolution
Samples are 16-bit two's complement. One LSB corresponds to 0.195 µV at the input, the datasheet's input-referred resolution at the chip's fixed 192 V/V gain. This value does not change with the filter corners.
SciFi Virtual Recording Peripheral
This recording peripheral generates test data for benchmarking and debugging SciFi headstages. It can implement the Electrical Broadband node. The peripheral will attempt to match the bit-rate requested by the supplied config parameters. It supports the following ElectricalBroadbandConfig parameters:
| Parameter name | Parameter options |
|---|---|
bit_width | 12 |
sample_rate | 0–10000 |
gain | Ignored |
low_cutoff_hz | Ignored |
high_cutoff_hz | Ignored |
channels | electrode_id and reference_id are ignored. Test data will output the id of each configured channel at the requested sample rate |