High Performance Electrophysiology Recording & Experiment Control

Cheetah Software provides the ultimate, high performance electrophysiology recording and experiment control software available for neural signal processing, display, recording and network data distribution for customized, online experiment analysis and control. Through excellent software design and efficient CPU usage, Cheetah is able to process 512 input electrode channels.

Over the past 20 years, Neuralynx has been continually developing and enhancing Cheetah Software for Single Unit Action Potential and LFP research experiments, providing the signal and data processing features and performance required for this highly demanding aspect of neuroscience research. Cheetah enhancements support the flexibility to easily configure electrode input channel assignments and signal processing options needed for the user’s specific experiments.

One software package – Cheetah – seamlessly integrates with all of Neuralynx’s hardware acquisition subsystems, including our most recent Digital Lynx SX, FreeLynx wireless digital telemetry, and Digital Multiplexing Headstages. This extends the investment made in laboratory equipment.

Catalog Number


Channel Cloning & Digital Filtering

Neuralynx’s Digital Lynx SX system eliminates channel duplication challenges by digitizing and sending the signal to Cheetah without any analog domain modification: all channels are sampled at 24-bit resolution and are full bandwidth (DC to 8 KHz). Digitizing the full bandwidth signals allows Cheetah to perform digital filtering (Digital Signal Processing (DSP) on the signal. Users can make unlimited copies, or “clones,” of each input channel and use Cheetah to perform the desired bandwidth filtering for each signal type. Changes to the settings of an acquisition entity using one of the cloned channels will not affect any other acquisition entity using other clones of that channel. Note: The most common use of channel cloning is to record a continuous version of one tetrode channel, allowing the user to filter for low frequency signals, such as Theta, while still recording the high frequency spike activity without any special connections or equipment.

Digital Reference Selection (DRS)

Cheetah manages all hardware settings “behind the scenes,” making Digital Reference Selection (DRS) set up easy. Instead of having to control each setting of the DRS hardware analog switch arrays – the interactions between the DRS functions and the input boards and with each other – the user merely sets the reference input for an acquisition entity (AE) directly in the AE property page. The Digital Lynx Combo Board combines the same DRS functions and Input Board operation into a single board while maintaining backward compatibility of the DRS Board.

Additionally, Cheetah eliminates manual programming of the references in a configuration file: the reference selection list only shows A/D Channels and dedicated references that the hardware is currently capable of using as a reference for a particular AE. Once a reference is selected, Cheetah programs the necessary hardware changes to set the reference appropriately.

Recording & Experiment Control:

  • High Performance: 8 to 512 channels
  • Signal processing for LFP/EEG/EMG and spikes
  • Real-time data record distribution for experiment control and analysis
  • High performance displays for spikes and EEG
  • Input channel signals may be “cloned” and processed with multiple parameters, such as different low and high frequency bands for EEG and spikes
  • Microwire tetrode, stereotrode and single wire spike processing
  • Online FFT plots improve signal evaluation
  • Online reference selection allows for quick reference change
  • 64-bit Windows® 10
  • Audio monitoring of input signals
  • Unfiltered, raw data file records

Direct Wireless Acquisition

  • FreeLynx – 32 – 256 channel, wireless digital telemetry
  • LabLynx – portable, low-cost 16 – 256 channel acquisition system

Ease of Use:

  • Auto Threshold operations automatically set functional spike detection levels in seconds – reducing setup time
  • Pre-defined configuration files for easy startup
  • Modifiable configuration files to suit user specific needs
  • User-friendly interfaces
  • Multi-threaded for full use of computer resources
  • Improved File Playback functions
  • Controls ultrasonic microphone

Software Integration:

  • Video Tracking (VTS license sold separately)
  • Domain Time II for precise synchronization of varied data sources. See our TechTip: Basics of Time Synchronization for Neuralynx Acquisition Systems.
  • SpikeSort 3D – online/offline wave-to-cell classification tool (free license)
  • Hardware Processing Platform (HPP) for sub-millisecond signal analysis latency
  • Free access to extensive library of software utilities and development packages:
    • NetCom
    • MATLAB


Video Tracking Software (VTS) supports many modes, such as multiple “targets” for position, navigation, head direction and Grid cell experiments/studies.

Distributed data analysis and experiment control are supported by our NetCom library, enabling users to focus on developing custom analysis and control programs for their experiments without being concerned about the details of data acquisition engineering.

System Requirements:

  • Digital Lynx SX Firmware version 2.1.0.
  • Digital Lynx SX acquisition systems require Windows 10 PRO 64-bit
  • Intel Xeon W or Intel i7 / i9 processor (8 core)
  • 16GB RAM
  • 500GB Serial ATA /M.2 SSD for Windows OS
  • 2TB Serial ATA 3.0Gb/s 7200RPM Hard Drive for data storage
  • 4GB PCIe DirectX 9 compatible graphics card (Nvidia T1000+)
  • DirectX capable sound card for audio output
  • 1000Mbps (gigabit) Intel Fiber Ethernet adapter

Version History

General Changes
  • Update Simulator for the latest Pegasus and Cheetah versions.
  • Add support for time-limited licenses.
  • Update TeamViewer executable and link.
Fixed Bugs
  • Enhance AD timestamp assignment from drifting system clock as per Pegasus modifications.
  • UI fixes for entity value display, when multiple channels are selected and the underlying parameter value is different.
  • Do not save Video Frame Rate in configuration if not valid (-1)
  • Alter log level on Time Sync events to better represent underlying status
  • DSP filter frequency bounds check corrected appropriately so lowCut != highCut
Known Issues
  • GigE camera frame rates lower than 30fps are not currently supported.
  • When selecting the color thresholds for video tracking, the user must ensure that the specified colors are enabled in the tracking mode setup.
  • Disabling the writing of CSC files via the -SetDiskWriteEnabled command (or UI) still creates a 16kb file for the CSC.

General Changes
  • Add support for microsecond accurate timing across all Acquisition devices, including FreeLynx, LabLynx, DigitalSX, and GigE cameras
  • Add ability to support higher frame rates or resolutions for GigE cameras.
  • Add ability to disable writing of all CSC channels via the -SetDiskWriteEnabled “CSC*” command
  • Added improved MP4 encoding for video recording.
  • Change to storing timestamps as UTC.
  • Removed support for non-GigE version 2 cameras (Basler acA1600-60gc and Basler acA640-90gc)
  • Add utility to automatically configure the DomainTime II service.
Fixed Bugs
  • Fix issue with event file headers being corrupted.
  • Fix issue with FreeLynx DIO not being recorded in certain circumstances.
  • Fix issue with video frames being dropped when changing the video settings while acquisition is active.
  • Fix issue with the video files not respecting the maximum file interval if a recording had been made with unlimited file length previously in the same session.
  • Clarify UI state when a FreeLynx/LabLynx device is recording to local storage.
  • Digital IO events are now recorded to the events file if no other acquisition device is enabled.
Known Issues
  • GigE camera frame rates lower than 30fps are not currently supported.
  • When selecting the color thresholds for video tracking, the user must ensure that the specified colors are enabled in the tracking mode setup.
  • Disabling the writing of CSC files via the -SetDiskWriteEnabled command (or UI) still creates a 16kb file for the CSC.

General Changes
  • Added support for GigE vision cameras.
  • Added support for Measurement Computing E-DIO24.
  • Added French, German and Norwegian translations of About box.
Fixed Bugs
  • The -SetAutoThresholdingSDMultiplier command now works with decimal values.
  • Fixed some command error messages that were not being displayed.
  • Fixed occasional freezing when enabling FreeLynx SD card recording.
  • Fixed nuisance warning when creating AE with FreeLynx and LabLynx.
  • Raw Data files now generate TTL values for SX ports 3/4 during playback.

General Changes

Now supporting DigitalLynxSX firmware v2.2.X

Fixed Bugs
  • Cube2 low battery warnings now logged and the warning message no longer pauses acquisition.
  • If creating an HWSS fails, the HWSS configuration can now be reloaded without restarting Cheetah.
  • Saved Cube2 configuration with enabled IMU will now load correctly.
  • Cube2 Video Tracking LED enabled state is now saved to last configuration file.

General Changes
  • Added support controlling the ultrasonic microphone for the Cube2 wireless system.
  • The following commands have been added or changed (see reference guide for details):
    • SetUltrasonicMicrophoneEnabled
    • GetUltrasonicMicrophoneEnabled
Fixed Bugs
  • Measurement Computing add-on DIO boards now generate events when the TTL value is changed.
  • Measurement Computing add-on DIO boards now write messages to the log file.
  • Unlicensed copies of Cheetah now show and log a valid host ID that can be sent to Neuralynx support.

General Changes
  • Added support controlling data transmission and SD card recording for the Cube2 wireless system.
  • Cube2 Wireless system now shows a warning when the battery level reaches 20%
  • Cube2 startup connection timeout increased to 90 seconds.
  • The following commands have been added or changed (see reference guide for details):
    • SetDataTransmissionEnabled
    • GetDataTransmissionEnabled
    • SetSDCardWritingEnabled
    • GetSDCardWritingEnabled
Fixed Bugs
  • Cube2 can now reconnect if disconnected for more than 20 seconds.

General Changes
  • Added support for the Cube2 wireless system AD, IMU and Digital IO
  • DigitalLynx SX Digital IO can now be treated as 2 16 bit ports or 4 8 bit ports.
  • Added support for automatic thresholding of spike acquisition entities.
  • The following commands have been added or changed (see reference guide for details):
    • CreateHardwareSubSystem (Cube2 option added)
    • SetCube2TrackingLED
    • GetBatteryRemaining
    • GetCoreTemperature
    • SetBatteryType
    • SetAutoThresholdingSDMultiplier
    • SetIMUEnabled
    • GetIMUEnabled
    • SetDigitalIOBitsPerPort
    • GetDigitalIOBitsPerPort
    • SendBinaryCommand
Fixed Bugs
  • An error is now generated if performing arithmetic operations on string variables in configuration files
  • An error is now generated if dividing by 0 in configuration files using the /= operator

Fixed Bugs
  • DSP High and Low cut filters now unaffected by changing AE sub sampling
  • DSP delay compensation calculation is now unaffected by changing AE sub sampling
  • Video Tracking dropped records no longer shows large numbers of lost packets when receiving out of order frames.
  • Warnings for DSP High Cut no longer generated when using a saved configuration that has a subsampling interleave greater than 1.
  • Histogram FFT displays now update when the AE is sampled <= 16KHz

General Changes
  • Default configuration files are now installed in Cheetah\Configuration of the Public Documents folder.
  • Added support for Digital Lynx SX Combo Boards
  • Digital Reference Selector (DRS) has been renamed to Hardware Reference Selectors (HRS).
  • Unpaired input boards can now be located in any DigitalLynx SX slot.
  • Digital Lynx SX firmware version 2.0.0 is now required.
  • The following commands that were deprecated in previous versions have been removed:
    • RequestApplicationName
    • RequestCheetahVersionNumber
    • RequestCheetahBuildDate
    • GetCheetahBuildDate
    • SetDRSChannelReferences
    • RequestCheetahObjects
    • RequestCheetahTypes
    • RequestRingBufferSize
    • GetADBitVolts
    • SetSpikeChannelEnabled
    • GetSpikeChannelEnabled
    • RequestADRange
    • RequestSamplingFrequency
    • RequestFeature
    • SetDSPDelayCompensationEnabled
    • AddSpikeTTLOutputDevice
    • SetTTLResponse
    • AddDigitalIOBoard
    • SetDigitalIOInputEventsEnabled
    • SetDigitalIOTTLPulseDelay
    • SetDmaBuffers (for everything except RawDataFile HWSS)
    • SetDigitalIOBit (3 argument version)
    • DigitalIOTTLPulse (3 argument version)
  • Removed support for Cheetah 32/64 analog systems.
  • Removed support for Digital Lynx S systems.
  • Removed support for 32 bit versions of Windows.
  • Removed manual control of headstage power. It is now controlled by the DigitalLynx SX hardware, turning on with start of acquisition and off with stop.
  • Changed “Animal Ground” reference name to “Subject Ground”
  • Changed “Headstage #”/”HS#” reference naming to “Source #”/”SRC#” (e.g. “HS1R1” is now “SRC1R1”)
  • Subsampling interleave averaging added to AE processing.
  • Maximum high cut DSP filter setting is now 0.25 * AE_SamplingRate and the high cut filter will be automatically enabled for AE_SamplingRate < HWSS_SamplingRate.
  • AE Selection Dialog now displays associated AD channels.
  • Improved error reporting in the System Status dialog.
  • File creation and AE property changes have far fewer restrictions. Properties coupled to Input Range still generate a new file.
  • Add hardware input calibration commands for setting offset and gain values.
  • The default reference for all AE will now be SGND of the HRS that controls the AD associated with the AE.
  • The -SetChannelNumber command will only change the reference of the target AD channels if not all of the channels passed to the command are using the same reference.
  • HRS Setup now shows reference assignments for AD channels with no associated AE
  • Events are generated when changing references between recording sessions instead of creating new files.
Fixed Bugs
  • Error reporting due to out of order AD records is now accurate
  • System Status display can handle large quantities of messages being generated.
  • The -break command functions properly regardless of whitespace.
  • Modifying the Zoom Quadrant of Spike plots with the Right-click menu will now properly be displayed in the AE Display Property – Feature Plot Properties.
  • The -SetDigitalIOPortString command now fails if the port direction is set for input.
  • Messages added to the log file when errors are detected while processing startup configuration with invalid commands.
  • TTL values with bit 15 set to 1 now display correct decimal value in the Event history.
  • Events created from raw data file playback for bits 16-31 no longer have a hex string of 0x0000 in the event string.
  • High frequency TTL events no longer cause data loss when the Events Dialog is shown.

Fixed Bugs
  • Can now recover from a Direct3D lost device when time windows are visible.
  • Fixed incorrect error messages related to Video Windows
  • Fixed inability to display live video on some systems.
  • Fixed freezing if a video capture device cannot be initialized.

Fixed Bugs
  • Can now use multiple capture devices for VT with the same device name if they have unique hardware IDs
  • Fixed intermittent crashes caused when changing some acquisition entity properties
  • Fixed multi-selection bug when switching between different AE types.

Fixed Bugs
  • Data files no longer lock up after ring buffer overrun errors occur.
  • High frequency TTL events are now properly saved to NEV files.
  • Fixed errors logged for each AE when shutting down software.

General Changes
  • Added back support for the 3 argument -SetClusterBoundary command in order to work with SpikeSort 3D
  • NetCom data buffering is now on by default for SE, ST, and TT acquisition entities.
  • Can now add multiple of the same AE to a Time or Spike window.
  • Now works with Measurement Computing InstaCal v6.51
  • Error message now shown when Digital Lynx SX is acquiring, but not receiving data
  • DRS Properties window now adjustable
Fixed Bugs
  • Fixed communication problem with CUBE utility programs
  • Pre-made configuration files now display properly in Notepad
  • Y-axis labels in maximized time plot now adjust to appropriate values when using Zoom.

General Changes
  • DRS Properties display is now read only.
  • Spike Plot can now only individually enable and disable display of cells 0 – 6 and then 7+ as a group.
  • Last configuration file is now written out every 5 minutes.
  • System configuration file now written and used to notify user of unexpected shutdown.
  • All configuration files processed are now stored in sub directory of data directory.
  • Addition of hot keys for displaying System Status dialog (Ctrl+Shift+A), Event Display dialog (Ctrl+Shift+E),
  • AE and Display Properties dialog (Ctrl+Shift+P) and Audio Output Control dialog (Ctrl+Shift+Y)
  • Addition of the following commands: -GetDASBuildDate, -GetDASVersionNumber, -GetDASObjects, -GetDASState, -GetSampleFrequency (for HWSS)
  • GetVoltageConversion.
  • Updated version for all data file formats except log file.
  • Unique recording session identifier.
  • Data acquisition state retrieval.
  • Recording Options dialog now contains raw data file output GUI
  • Modification of error reporting and viewing in System Status dialog.
  • Firmware version verification for Lynx SX systems.
  • Increased log file output for property changes.
  • Event history populated in Event dialog even when Event dialog is not displayed.
  • Spike trace colors in time window will match trace color in spike window when using classification.
  • Messages displayed in time window when window is frozen, recording is off or when raw data file playback is being performed.
  • Can now copy selected messages from the System Status Dialog to the clipboard using Ctrl+C or right clicking on an item.
  • Removed “Save Window Configuration to File” from menus of display windows.
  • All acquisition entities now default to Headstage 01 Animal Ground as their reference.
Added Features
  • Addition of feedback display window type containing FFT plot.
  • Data lost during recording and file writing is now logged to a data processing errors file (NDE v1.0.0)
  • Automatic recording shut off when hard drive is full.
  • New data files per recording option.
  • Max file length recording option.
  • Raw data file playback resumes from current location when acquisition is toggled.
  • Start timestamps specifier for raw data file playback.
  • Raw data file playback speed adjustment.
  • Plot trace color is now adjustable for for Time Plots.
  • Background color is now adjustable for for Time Windows.
  • Support for multiple NetCom client applications simultaneously.
  • 64 bit version – currently supports Windows 7 and Video Tracking, DigitalLynx SX, Raw Data Playback and Cheetah64 systems
  • Adjustable channel count for Lynx SX hardware.
Fixed Bugs
  • TTL values with bit 15 set to 1 now display correct decimal value in the Event history.
  • Digital Lynx SX and ATLAS systems without a DRS no longer cause an exception when viewing reference properties.
  • Events being created at 130 Hz no longer cause data loss when the Events Dialog is shown.
  • Events created from raw data file playback for bits 16-31 no longer have a hex string of 0x0000 in the event string.
  • Reordering of AD Records for Lynx SX hardware sub system.

General Changes
  • Data Translation Driver updated from to for Cheetah64 analog systems.
Fixed Bugs
  • Timestamps for events created from Digital IO input for Cheetah 32/64 HWSS are now correct.

General Changes
  • All DRS references are now set using a single Cheetah command, no need to manage globals and locals on each DRS.
  • Added Named TTL Events. Allows you to associate custom event string with specific TTL bits transitioning from 0 (low) to 1 (high).
  • Cheetah will now support a sample frequency of 32768 Hz for the Lynx SX hardware sub system.
  • FIR Filters can now be used for Lynx SX DA output.
  • Cheetah now supports the Digital Lynx SX 16 board system.
  • Cheetah now requires that DRS boards only be at odd slot indices and that all input boards not paired with a DRS be placed after all paired input boards.
  • Cheetah now logs an error when the VT is no longer receiving frames from the capture device during acquisition.
  • Added New Commands:
    • SetAcqEntReference
    • GetAcqEntReference
    • GetMinMaxInputRange
    • GetDiskWriteEnabled
    • SetNamedTTLEvent
    • RemoveNamedTTLEvent
    • GetRawDataFile
    • GetDataDirectory
  • Deprecated Commands that will be removed in a future release
    • SetDRSLocalReferences (replaced by -SetAcqEntReference)
    • SetDRSGlobalReferences (replaced by -SetAcqEntReference)
    • SetDRSChannelReferences (replaced by -SetAcqEntReference)
  • All Cheetah output files now contain a file version in the file header.
  • The -AcqEntName field has been added to the event file header.
  • The -FileType, -NumADChannels and -RecordSize fields have been added to the raw data file header.
  • The -NLXBase_Class_Name field has been changed to -AcqEntName in the video file header.
  • The -FileType, -CheetahRev, -HardwareSubSystemName, -HardwareSubSystemType, -SamplingFrequency, -ADMaxValue, -ADBitVolts and -NumADChannels fields have been added to the lost AD records file header.
  • All AD and raw data timestamps are now synced to start and stop recording event timestamps for all hardware sub systems.
  • The -PostEvent command now has an optional timestamp argument.
  • Cluster and Feature library version information now written to log file.
  • AD data files are now automatically created when the Acq Ent(CSC, Spike) is created.
  • Fixed problems when using globals or making many DRS reference changes that caused Cheetah to report references incorrectly.
  • Fixed erroneous error message saying VT is not in ADAcqEntContainer.
  • Cheetah no longer generates error messages when clicking in the white space below the device selection list in the Audio Output Dialog.
  • Cheetah now returns error code for NetCom OpenStream and CloseStream commands.
  • Creation of a VT can now only happen when Cheetah is idle.
  • VT capture device selection dialog no longer shows capture devices that have invalid hardware IDs.
  • Attempting to create a plot window via NetCom now fails instead of locking Cheetah’s UI which requires a restart of Cheetah to unlock.
  • Tooltips are now shown when hovering over the icons in the time windows.
  • Cheetah now searches the path of a configuration file that calls -ProcessConfigurationFile if no complete path is specified for the file to process.