Please note that this web page contains confidential information that is legally privileged.

Links to Newer Models.

Computer Controlled

Second Generation.

Re-packaged Unit with LabJack U6 DAQ (2011). [photo]

Re-packaged Unit with LabJack U6 DAQ - Manufacturing (2013) (
Re-packaged Unit with LabJack U6 DAQ - Software (2011).

Third Generation.

USB Electrical Stimulator with LabJack U6 DAQ. ( [photo]

Portable Models.

Portable Model Prototype #1 and partial #2 (2012). [#1 photo]

Portable Model Prototype #2(2013). [#2 image]

Portable Model (2013). [#3 image]
Portable Model with Schematics (2013). (
Portable Model Arduino Code (2013). (

General Information

Links to System Components.

Cardiac Cycle Monitor & EEG Markers Generator (2009).
Precision timer unit used for initial investigation (2009).
Electrical Stimulator Command Converter & Monitor (2010).



To shock subjects to hell and back.


Pulse Duration.

Skin Conductance Monitor.

Stimulus Amplitude

Background Information

The Coulbourn A13-75 stimulus input has an amplitude range of 0 to 10 volts modified by means of a front panel selector ("Range") rotary switch that has the following settings:
(1) x 100 (or x 1 ma) for a maximum of 10 mA
(2) x 10 (or x 100 µa) for a maximum of 1 mA
(3) x 1 (or x 10 µa) for a maximum of 0.1 mA
There is no provision for the software to know the setting of the switch and the user must make sure that the software setting is identical to the hardware setting (we will investigate the possibility of implementing a feed back as soon as we have access to the unit).


Calibration Check

- Connect a voltmeter to the "Amplitude" output BNC.
- Checking the amplitude command vs the voltmeter reading. Should the voltmeter reading, multiplied by the software "Multiplier" value, differ from the command, a hardware calibration should be performed (see below).
- Checking the accuracy of the displayed "Actual" amplitude - The displayed "Actual" voltage divided by the software "Multiplier" value should be identical to the voltmeter reading. Should they differ, an "Actual" amplitude display software calibration/adjustment should be performed (see below).

Hardware Calibration

- Connect a voltmeter to the "Amplitude" output BNC.
- Remove the electrical control unit top cover and locate the "zero" and "gain" adjustment trimmers.
- Zero adjustment - send a 0 volt command to the stimulator and adjust the zero if the voltmeter reading is different from zero.
- Gain adjustment - send any command, preferably near the top of the selected range, and adjust the gain if the voltmeter reading divided by the software "Multiplier" value, is different from the command.
- Check the zero adjustment again -

Software Adjustment/Calibration

- Connect a voltmeter to the "Amplitude" output BNC.
- Zero adjustment - send a 0 volt command to the stimulator. If the displayed "Actual" voltage is not zero, then open the electrical stimulator controller initialization text file with a text editor and change the "B input offset" to this value (divided by the selected multiplier).
- Gain adjustment - send any command, preferably near the top of the selected range, and change the initialization file "A input factor" to correct any error.

Pulse Timing with the Intel 8253

Althought the hardware timer based on the Intel 8253 is very accurate, the actual electrical stimulus pulses will depend, in a great part, on the relay response of the Coulbourn isolator/driver.

Intel 8253 Single Shot

The accuracy of the timing obtained with the 8253 is better than within +/- 0.001 according to our Tektronix DC 5009.
Software correction for crystal inaccuracy yields a 7/100,000 (0.00007) precision.

The crystal used has a frequency of 2MHz divided by 2 by means of a 74LS393.
The Intel 8253 counters 0 and 1 are used as dividers. Their values are set to:
5 and 2 respectively
10 and 10
100 and 10 etc.
........... to a maximum of:
10,000 and 10,000
Counter 2 represents the sugnificant digits:
from 1 to 65,535

This results in:
a minimum timing of 10 microsec and
a resolution of 10 microsec.
and a maximum of 65,535 x 10,000 x 10,000 microseconds = 6,553,500 seconds (ridiculously higher than needed).

Some test results (according to our Tektronix DC 5009.):
1 microsec => 10.08 microsec.
10 microsec => 10.09 microsec.
100 microsec => 99.95 microsec.
1 millisec => 1.0005 millisec.
10 millisec => 10.0028 millisec.
100 millisec => 100.0067 millisec.
1,000 millisec => 1,000.066 millisec.
10,000 millisec => 10,000.655 millisec.

Electrical Stimulator Output Pulse

Data not yet available.


The "Gate" to the Coulbourn A13-75 is turned on by the "Selected Trigger" and turned off at the end of the "Duration" period as timed by the Intel Timer chip.

Trigger Selection

The trigger is selected by the value of the DAQ digital lines IO0 and IO1 states:

Trigger Software Commands

When using the "Multi Stimuli" package, the trigger can be selected thus:


Waiting for external trigger

When using an external trigger the software sets a flag and waits for the "Gate" to come on.
This may result in problems:

Reseting the stimulator

When problems such as those mentioned above occur, the stimulator can be reset by sending an "OFF" command followed by an "ON" command.


1990's Electrical Stimulator Schematics.

1990's PC Card Timer Schematics.

2008 October 15
Last updated 2015 May 14