-
Notifications
You must be signed in to change notification settings - Fork 15
Equipment_List
Neuropixels 1.0 and 2.0 probes equipment [which version do I have? ]
1.0 probes (on sale now) require different cables and headstages than Phase3A, and are used with a new PXIe-based system. See https://github.com/billkarsh/SpikeGLX/blob/master/Markdown/SystemRequirements_PXI.md and neuropixels.org for more information. A limited number of FPGA-based recording systems for P3B were developed for testing but these are not generally available.
2.0 probes additionally require different headstages (that can get input from up to 2 probes) than 1.0, but use the same cables.
To record data from a Neuropixels 1.0 and 2.0 probes, you will need:
- Headstage (IMEC-supplied, different for 1.0 and 2.0 probes)
- Cable (IMEC-supplied)
- PXIe chassis (eg PXIe-1071)
- IMEC card (IMEC-supplied - maximum 2 per chassis, allowing the simultaneous recording to 8 1.0 probes or 16 2.0 probes)
- PXIe module (eg PXIe-8381)
- PCIe card (eg PCIe-8381)
- Acquisition computer with:
- Minimum 6 cores (Passmark rating > 13000)
- Minimum 3.5 GHz
- Minimum 16GB memory
- Graphics Card: Nvidia GeForce 1060 or better
- Dedicated data drive (SSD or NVMe, 500+ MB/s)
- PCIe 8X slot for the PXIe controller
- Optionally, to align signals between probes and with other computers, you can add a separate device, such as an Arduino, to generate a sync signal that is inputed to the IMEC card(s) in the chassis and to any NIDAQ or similar device (see the section below).
here is a schematic of an example rig:

You have two options:
-
configure the IMEC card(s) to output a sync signal. These sync pulses can only be generated at regular intervals (1 or 10Hz), which can sometimes make aligning tricky.
-
use a separate device to generate a sync signal, that is then sent as input to the IMEC card(s) in the chassis. The bext parctice is to generate these at pseudo-random intervals, making it easy to align data.
Here is some code to implement this with an arduino:
const int poissonPin = 7;
const int minPoissonDur = 10; //ms
const int maxPoissonDur = 200; //ms
int currentPoissonState = 0;
void setup() {
// put your setup code here, to run once:
pinMode(poissonPin, OUTPUT);
digitalWrite(poissonPin, LOW);
currentPoissonState = LOW;
}
void loop() {
// put your main code here, to run repeatedly:
//code for flipper
int poissonStateDur = random(minPoissonDur, maxPoissonDur);
delay(poissonStateDur);
if (currentPoissonState==LOW){
currentPoissonState=HIGH;
}
else {
currentPoissonState=LOW;
}
digitalWrite(poissonPin, currentPoissonState);
}
More details and resources on aligning can be found here.
Phase3A probes [which version do I have? ]
To record data from a Neuropixels Phase3A probe, you will need:
- Headstage (IMEC-supplied)
- Cable (IMEC-supplied)
- Basestation (IMEC-supplied)
- FPGA: Xilinx Kintex-7 KC705. E.g. from Digikey
- Acquisition computer
- Required: gigabit ethernet port
- Recommended: good GPU, SSD hard drive (not the same drive the OS is on)
An example rig (old FPGA-based system):

This is an example of a complete and working setup for an anesthetized recording.
- About Neuropixels and probe types
- Configurations and selecting electrodes
- Equipment List and example setup
- Probe handling/mounting
- Chronic implants
- Probe sharpening
- Probe care
- Planning probe trajectories
- Acquisition software
- Referencing and Grounding
- Gain settings
- Filter settings
- Impedance testing
- Synchronization
- Multiple probes on one computer
- Light artifacts
- Troubleshooting
- Recommended preprocessing
- Spike sorting
- Spike sorting curation
- Other analysis methods, and tutorial for getting started with Neuropixels Phase3 data in matlab
- Identifying tracks in histology