background image

NeuroNexus Technologies, Inc. ©2014

  |  655 Fairfield Court, Suite 100, Ann Arbor, Michigan USA

Telephone: +1.734.913.8858  |  Fax: +1.734.786.0069  |  

[email protected]

Instruction Manual

SmartBox

Version 1.5

Updated June 12, 2014

Summary of Contents for SmartBox

Page 1: ...exus Technologies Inc 2014 655 Fairfield Court Suite 100 Ann Arbor Michigan USA Telephone 1 734 913 8858 Fax 1 734 786 0069 support neuronexus com Instruction Manual SmartBox Version 1 5 Updated June 12 2014 ...

Page 2: ...l show you how to set up the SmartBox and help you get started with recording For questions regarding operation or issues with the SmartBox email support neuronexus com OR call 1 734 913 8858 NeuroNexus Technologies Inc is a global leader for innovative neural interface products and technologies to meet both current and upcoming needs in neuroscience research neuro surgery and neurostimulation The...

Page 3: ...plifier Bandwidth Selection Electrode Impedance Measurement Analog Waveform Reconstruction and Audio Output Configure Tab Spike Scope Triggered Recording Mode Data File Format Menu Functions Importing Recorded Data into NeuroExplorer Importing Recorded Data into MATLAB Temperature Sensor Data Upsampling Waveform Data WARRANTY INFORMATION APPENDIX A ADDING A LED APPENDIX B DATA FILE FORMATS Standar...

Page 4: ...rbor Michigan USA Telephone 1 734 913 8858 Fax 1 734 786 0069 support neuronexus com Front Panel HARDWARE Indicator lights Power button Stereo Line Out channels selectable in software for auditory monitoring of neural signals 4 HDMI ports for neural data acquisition p 4 ...

Page 5: ... support neuronexus com Back Panel HARDWARE Ground banana jack connect to earth ground Power 5 VDC 2 A USB 2 0 port DB50 Connector for additional I O 6 x ADC in DAC out 14 x TTL in TTL out ADC_CS Digital clock signal to sync external devices user selectable sampling rate Voltage Pins 3 3 V 3 3 V 3 5 V 5V See p 10 for pin out p 5 ...

Page 6: ...ural signals with external analog signals e g auditory signals 2 BNC TTL in 0 5 V Sync neural signals with external signals e g light pulses or lever press 2 BNC 16 bit DAC out 3 3 V 3 3 V Reconstruct digital neural signals back to analog for oscilloscope monitoring or acquire with LabVIEW Channels selectable in software 2 BNC TTL out 0 5 V Trigger external events based on the detection of neural ...

Page 7: ...nput Connector Omnetics NPD36 4 guide posts Output Connector Micro HDMI Do not use with regular HDMI cable SmartLink64 Weight 1 27 g Input Connector 2x Omnetics NPD36 4 guide posts Output Connector Micro HDMI Do not use with regular HDMI cable SmartLink headstages connect conventional probes to the SmartBox system Contact us for connector options All SmartLink headstages use on board electronics t...

Page 8: ...elephone 1 734 913 8858 Fax 1 734 786 0069 support neuronexus com How to connect the SmartBox CONNECTIONS WITH SMARTPROBES SmartProbe Micro HDMI Connector HDMI Connector USB port Standard B USB port SmartBox PC 3 5 mm jack for aural monitoring Connect to earth ground 5 VDC 2 A in REF p 8 ...

Page 9: ...13 8858 Fax 1 734 786 0069 support neuronexus com How to connect the SmartBox CONNECTIONS WITH SMARTLINK HEADSTAGES SmartLink Headstage Micro HDMI Connector HDMI Connector USB port Standard B USB port SmartBox PC 3 5 mm jack for aural monitoring Connect to earth ground 5 VDC 2 A in REF Standard Probe p 9 ...

Page 10: ...on the box itself the remaining 40 inputs and outputs are wired to a DB 50 female socket on the back panel see below The 16 bit 0 5 V ADC inputs may be used to sync external analog signals e g sync auditory signal with acquired neural signal The 0 5 V digital in puts may be used to sync external TTL signals such as light pulses for op togenetics or lever press in behavioral experiments with acquir...

Page 11: ...computer Double click on the executable file Front PanelUSB DriverOnly 4 2 5 exe in the Windows subdirectory This will install the USB drivers for Opal Kelly module The Windows software release file contains a directory with the SmartBox interface executable file SmartBox exe and four supporting files main bit the FPGA configuration file okFrontPanel dll the DLL for the Opal Kelly module QtCore4 d...

Page 12: ... for detailed installation instructions The number of waveforms displayed on the screen may be varied between 1 and 32 If a 64 channel SmartProbe is used users can display the next 32 channels by scrolling down the window using a mouse wheel or arrow keys The voltage and time scale of the waveform plots may also be varied over a wide range GUI combo boxes or keyboard shortcuts may be used to selec...

Page 13: ...able all unwanted channels to save disk space when record ing data Scrolling down to the bottom of the Port A waveforms using the cursor keys or the mouse wheel reveals four extra channels three auxiliary analog in puts auxin1 auxin2 and auxin3 to each SmartProbe or SmartLink headstage that are recorded at 1 4 the amplifier sample rate and the supply voltage that is recorded at 1 60 of the amplifi...

Page 14: ...TLAB using an m file available at neuronexus com Also provided is an m file that upsamples amplifier data by a factor of two using cubic spline fitting so higher effective sampling rates may be approximated See the Importing Recorded Data into MATLAB section on p 22 for more information on these m files The Change Bandwidth button brings up an amplifier bandwidth selection dialog see Figure 22 tha...

Page 15: ... its header noting the notch filter setting The MAT LAB function provided by Intan reads this parameter and if the notch filter was applied during recording applies the identical notch filter to the data extracted in MATLAB The last control in the Bandwidth tab is a check box that changes all waveform plotting from lines to individual points to reduce CPU load If the soft ware is run on a particul...

Page 16: ...to remember that there is a fair amount of noise and uncertainty in these impedance measurements so their precise values should be taken with a grain of salt The best accuracy seems to be obtained at a sample rate of 20 kS s and measurement frequencies no higher than 2 kHz Impedance measurements may be saved in CSV Comma Separated Values format which is a text file that can be imported into any sp...

Page 17: ... and right channels of the audio line out jack on the USB interface board Any signals assigned to DACs 1 and 2 will be audible if the board is connected to an audio amplifier using a standard 3 5 mm stereo cable The audio signals are generated by hard ware the FPGA and the DACs rather than software because of the near impossibility of streaming raw sound waveforms to computer speakers seamlessly a...

Page 18: ...pikes Clicking on the small buttons labeled with question marks brings up help windows that explain the operation of these features in more detail The Configure tab contains a variety of miscellaneous tools for working with amplifier boards connected to the USB interface board see FIG 27 The Rescan Ports A D button causes the USB interface board to search for connected amplifier boards on all SPI ...

Page 19: ...on is enabled by checking the Realtime Settle Control box and selecting a digital input on the USB interface board that will be used to activate blanking If this box is checked a logic high signal on the selected digital input will enable amplifier fast settling with a latency of 4 5 amplifier sampling periods For example if the sampling frequency is 20 kS s the control latency will be 200 250 μs ...

Page 20: ...t spikes However the user specified thresholds set in the Spike Scope are saved in the rhd data file so it would be relatively easy to write a script to isolate action potentials based on these thresholds e g for compressing saved data files after recording The Trigger button enables triggered recordings Users may select any of the analog or digi tal inputs on the SmartBox to serve as the trigger ...

Page 21: ...lection dialog shown in FIG 30 Details of the various file formats are described in Appendix B on p 29 The File menu contains functions to load and save settings for the GUI Channel order channel names waveform scales amplifier bandwidth sample rate spike thresholds and all other user selectable options are saved to a file with a isf Intan Settings File suffix The Channels menu contains functions ...

Page 22: ...ance Since the m file creates variables in the base workspace it is recommended that all other variables be deleted by using the clear command before running this function Following is a transcript of a typical MATLAB session loading a recorded data file and looking at several data structures clear read_Intan_RHD2000_file Reading Intan Technologies RHD2000 Data File Version 1 4 Found 32 amplifier ...

Page 23: ...ow available in the MATLAB workspace Type whos to see variables whos Name Size Bytes Class Attributes amplifier_channels 1x32 42880 struct amplifier_data 32x1200240 307261440 double aux_input_channels 1x3 4682 struct aux_input_data 3x300060 7201440 double frequency_parameters 1x1 2760 struct notes 1x1 528 struct spike_triggers 1x32 15616 struct supply_voltage_channels 1x1 2030 struct supply_voltag...

Page 24: ...ual_dsp_cutoff_frequency 0 7772 dsp_enabled 1 desired_lower_bandwidth 0 1000 actual_lower_bandwidth 0 0945 desired_upper_bandwidth 7500 actual_upper_bandwidth 7 6038e 03 notch_filter_frequency 0 desired_impedance_test_frequency 1000 actual_impedance_test_frequency 1000 amplifier_channels 1 ans custom_channel_name A 00 native_channel_name A 00 native_order 0 custom_order 0 board_stream 0 chip_chann...

Page 25: ...the Configure tab In this example no ADC channels or digital input channels were enabled when the data file was saved If those waveforms had been present additional MATLAB variables would have been created containing this data as well Note that this MATLAB m file supports the Traditional Intan File Format as well as the informational header files for the other two saved data formats Information on...

Page 26: ...t_amplifier_2x amplifier_data_2x upsample2x t_amplifier amplifier_data Upsampling waveforms by 2X 10 done 20 done 30 done 40 done 50 done 60 done 70 done 80 done 90 done 100 done Done Elapsed time 11 7 seconds plot t_amplifier_2x amplifier_data_2x 1 Users may type help upsample2x at the MATLAB prompt for more information on this function To save disk space users may wish to sample amplifiers at a ...

Page 27: ...ned to Neu roNexus or the authorized distributor from which it was bought together with proof of purchase and a brief description of all alleged defects Prior to returning the SmartBox the original purchaser must contact a NeuroNexus customer service representative and obtain a RMA number The original purchaser may return only the items and quantities approved through the RMA The original purchase...

Page 28: ...rent ILED required to produce a reasonable amount of light depends on the type of LED Older LEDs require 10 20 mA of current while newer low power LEDs produce the same amount of light with 1 2 mA of current This range of parameters yields resistances in the range of 65 Ω to 1300 Ω It is recommended that different values be tried experimentally to deter mine a value of current that produces desire...

Page 29: ...pable of driving up to 2 mA of current from the nominal 3 3V chip supply Note that this supply voltage can vary from 2 9 V 3 5 V depending on the length of SPI interface cable used due to IR drops in the cable This is sufficient to drop a low power LED that does not require a high voltage drop If additional current drive and or voltage range is required an N channel MOSFET transistor may be added ...

Page 30: ...2 bit single precision floating point number 64 bit double precision floating point number length prefixed Unicode string see below 0 to 65 535 32 768 to 32 767 0 to 4 294 967 295 2 147 483 648 to 2 147 483 647 3 4 x 10 38 with 7 digit accuracy 1 7 x 10 308 with 15 digit accuracy 0 to 2 147 483 647 Unicode characters NAME DESCRIPTION RANGE Most of the data types described in this document will be ...

Page 31: ...xed strings using the QString style from the open source Qt framework for C In the QString format each string begins with a 32 bit unsigned number uint32 that indicates the length of the string in bytes If this number equals 0xFFFFFFFF the string is null A series of 16 bit 2 byte Unicode characters follows and there is no special character to indicate the end of the string The following MATLAB fun...

Page 32: ...pass filter was enabled Amplifier analog high pass filter cutoff frequency units Hz Amplifier analog low pass filter cutoff frequency units Hz User requested DSP offset removal high pass filter cutoff frequency units Hz User requested amplifier high pass filter cutoff frequency units Hz User requested amplifier low pass filter cutoff frequency units Hz single Actual DSP cutoff frequency DSP offset...

Page 33: ...tab in the GUI The SmartLink headstage is not always capable of achieving the precise cutoff frequencies specified by the user so both the values requested in the GUI and the actual values realized on the chip are saved The next parameter records the state of the software implemented 50 60 Hz notch filter in the GUI during recording This notch filter is never applied to saved data but this informa...

Page 34: ...The SmartBox supports saving on chip temperature sensor readings The following number is saved in these versions indicating the number of tem perature sensors recorded This number is typically equal to the number of SmartLink headstages plugged into the SPI ports or zero if the temperature recording option is disabled Note that some file formats do not support saving temperature sensor data in tho...

Page 35: ... by user int16 Native order Original numerical order of this channel in the GUI display int16 Custom order Numerical order of this channel in the GUI if reordered by user int16 Signal Type 0 SmartLink amplifier channel 1 SmartLink auxiliary input channel 2 SmartLink supply voltage channel 3 SmartBox ADC input channel 4 SmartBox digital input channel 5 SmartBox digital output channel For each signa...

Page 36: ...igital edge polarity 0 trigger on digital falling edge 1 trigger on digital rising edge int16 Electrode impedance magnitude Last measured impedance magnitude units Ohms int16 Electrode impedance phase Last measured impedance phase units degrees Even non amplifier channels will contain fields for Spike Scope trigger parameters and electrode impedance data but these fields will contain default value...

Page 37: ...dstage supply voltages SmartBox ADC inputs and SmartBox digital inputs to one file along with the Standard Intan RHD2000 Header described earlier Only enabled chan nels of each type are saved To keep individual file size reasonable a new file is created every N minutes where N is an integer that is specified by the user New filenames are created by appending a date and time stamp to a base filenam...

Page 38: ...iary input channel there are 15 ADC samples The SmartBox GUI software samples the SmartLink auxiliary inputs at one fourth the sampling rate of the amplifiers For each enabled SmartLink supply voltage channel there is one ADC sample The SmartBox GUI software samples the SmartLink supply voltage at one sixtieth the sampling rate of the amplifiers For each enabled SmartLink temperature sensor channe...

Page 39: ...or data viewing and analysis See http neuro scope sourceforge net for more information on this third party software When using this file format the following data files are written to the subdirectory Standard Intan RHD2000 Header file info rhd This file contains the data listed in the Intan RHD2000 Standard Header described above sampling rate amplifier bandwidth channel names and other useful in...

Page 40: ...e contains a matrix of ADC samples from all enabled SmartLink amplifier channels in int16 format For example if four amplifier channels are enabled data will be written in the following order amp1 t amp2 t amp3 t amp4 t amp1 t 1 amp2 t 1 amp3 t 1 amp4 t 1 amp1 t 2 amp2 t 2 To convert to electrode voltage in microvolts multiply by 0 195 If no amplifier channels are enabled in the GUI this file will...

Page 41: ... will not be written The following MATLAB code reads an auxiliary input data file and creates a waveform matrix with units of volts num_channels length aux_input_channels aux input channel info from header file fileinfo dir auxiliary dat num_samples fileinfo bytes num_channels 2 uint16 2 bytes fid fopen auxiliary dat r v fread fid num_channels num_samples uint16 fclose fid v v 0 0000374 convert to...

Page 42: ...samples uint16 fclose fid v v 0 0000748 convert to volts Board ADC input data file auxin dat This file contains a matrix of ADC samples from the analog inputs on the SmartBox in uint16 format To convert to volts multiply by 0 000050354 If the board mode is not equal to zero other scaling values may apply If no board ADC input channels are enabled in the GUI this file will not be written The follow...

Page 43: ...uts 0 15 If no auxiliary input channels are enabled in the GUI this file will not be written The following MATLAB code reads a board digital input data file and creates vector of 16 bit words fileinfo dir digitalin dat num_samples fileinfo bytes 2 uint16 2 bytes fid fopen digitalin dat r digital_word fread fid num_samples uint16 fclose fid Board digital output data file digitalout dat This file co...

Page 44: ...ecordings a one hour recording session at 30 kS s would generate a 216 MB file for each enabled channel while not dividing particular waveforms between multiple files When using this file format the following data files are written to the subdirectory Standard Intan RHD2000 Header file info rhd This file contains the data listed in the Intan RHD2000 Standard Header described earlier sampling rate ...

Page 45: ...fopen time dat r t fread fid num_samples int32 fclose fid t t frequency_parameters amplifier_sample_rate sample rate from header file Amplifier data files Each amplifier data file has a filename that begins with amp followed by the SPI port letter and channel number For example amp A 000 dat amp C 063 dat or amp D 027 dat Each amplifier data file contains the consecutive ADC samples from one enabl...

Page 46: ...onvert to volts multiply by 0 0000374 Although the SmartBox software samples the SmartLink auxiliary input channels at one fourth the rate of the amplifiers each auxiliary input sample is repeated four times in this file so that this data may easily be aligned with the timestamp vector in the time dat file The following MATLAB code reads an auxiliary input data file and creates a waveform vector w...

Page 47: ...e and creates a waveform vector with units of volts fileinfo dir vdd D VDD1 dat num_samples fileinfo bytes 2 uint16 2 bytes fid fopen vdd D VDD1 dat r v fread fid num_samples uint16 fclose fid v v 0 0000748 convert to volts Board ADC input data files Each board ADC input data file has a filename that begins with board ADC followed by the channel number For example board ADC 00 dat board ADC 01 dat...

Page 48: ...on the SmartBox in uint16 format Each uint16 value in these files will be equal either to 0 or 1 The following MATLAB code reads a board digital input data file and creates a waveform vector fileinfo dir board DIN 07 dat num_samples fileinfo bytes 2 uint16 2 bytes fid fopen board DIN 07 dat r din07 fread fid num_samples uint16 fclose fid Board digital output data files Each board digital output da...

Page 49: ...m_samples uint16 fclose fid The SmartBox supports up to 256 amplifier channels plus several other analog and digital inputs that may be sampled up to 30 kS s channel This can quickly create enormous data files The example MATLAB code shown above reads entire raw data files into memory but it is also possible to read particular segments of data from a file using the MATLAB commands fseek ftell and ...

Reviews: