Test an AIN Channel (App Note) | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver


Free Shipping for U.S. Orders $150+   |   5-year Warranty   |   Try Our Devices & Support for 60 Days, Risk Free  |   51 of 54 Products In-Stock Now

Test an AIN Channel (App Note)

Think that something might be wrong with an analog input on your LabJack?  The following describes basic tests for analog inputs on T-series devices (T4, T7) and UD devices (U3, U6, UE9).  If anything does not work as expected go through the troubleshooting tips at the bottom of this page.

Hint: The LabJack is almost always working right!  Damage is very rare. Expect these tests to show that your LabJack has not been damaged and is working as specified.

Ground Test

Securely clamp a jumper wire from GND to AINx and observe the readings.

For differential, jumper both analog inputs to GND.


Readings should be 0.0 to within the accuracy spec for the device.

U3-HV (±10V range, HV channels): -0.027 to +0.027 volts
U3-LV/HV (0-2.4V range, LV channels*): -0.0032 to +0.0032 volts
U6/U6-Pro (±10V range): -0.002 to +0.002 volts
UE9 (±5V range): -0.005 to +0.005 volts
T4 (±10V range, HV channels): -0.027 to +0.027 volts
T4 (0-2.5V range, LV channels*): -0.0032 to +0.0032 volts
T7/T7-Pro (±10V range): -0.002 to +0.002 volts

*0.0 (GND) is not a good test point for the low voltage analog inputs (FIO/EIO) on the U3 and T4, as their span might not include all the way down to 0.000 volts.  The most likely solution is to apply a test voltage and use a high accuracy DMM to determine the actual value for comparison.


The noise level of most (1 standard deviation) readings should be similar to the documented effective or RMS noise level.  Watch a number of readings and note the voltage variance level that includes most readings.

U3-HV (±10V range, HV channels): 5 mV/count, ±1 counts of noise
U3-LV/HV (0-2.4V range, LV channels*): 0.6 mV/count, ±1 counts of noise
U6 (±10V range, ResolutionIndex=8): 37 µV
U6-Pro (±10V range, ResolutionIndex=9): 26 µV
UE9 (±5V range,ResolutionIndex=17): 44 µV
T4 (±10V range, HV channels, ResolutionIndex=5): 5 mV/count, ±1 counts of noise
T4 (0-2.5V range, LV channels*, ResolutionIndex=5): 0.6 mV/count, ±1 counts of noise
T7 (±10V range, ResolutionIndex=8): 37 µV
T7-Pro (±10V range, ResolutionIndex=9): 26 µV

*0.0 (GND) is not a good test for the low voltage analog inputs (FIO/EIO) on the U3 and T4, as their span might not include all the way down to 0.000 volts.  For the U3, the internal temperature sensor (channel 30) is a sufficiently quiet internal analog input signal, allowing you to see the inherent noise level of your U3.  The UD driver converts these readings do degrees K, so expect 0.2 K per count, or divide degrees K by 350 to get a rough conversion to raw volts.  For the T4, use an analog output (e.g. DAC0) set to 2.0 volts for a test signal with low enough noise level.

For the U6 and T-series devices, there are noise testing applications available for Windows.

DAC Test

Securely clamp a jumper wire from DACx to AINx and observe the AINx readings as you adjust DACx.  Vary DACx from 0.5 to 4.5 volts and confirm AINx reads a similar value.  This can be done on the Dashboard in Kipling or the Test panel in LJControlPanel.

Differential Test

For a basic test of differential analog inputs, jumper the inputs to GND or VS.  Expected readings follow.

AIN0 => VS, AIN1 => GND, Reading => 41072 counts
AIN0 => VS, AIN1 => VS, Reading => 32768 counts
AIN0 => GND, AIN1 => VS, Reading => 24496 counts
FIO4 => VS, FIO5 => GND, Reading => 2.4 volts
FIO4 => VS, FIO5 => VS, Reading => 0 volts
FIO4 => GND, FIO5 => VS, Reading => -2.4 volts

U6 & T7:
AIN0 => VS, AIN1 => GND, Reading => 5 volts
AIN0 => VS, AIN1 => VS, Reading => 0.0 volts
AIN0 => GND, AIN1 => VS, Reading => -5 volts

These U6/T7 values are when using the ±10V range, but this test also works for other ranges as the 5 or -5 readings above will just hit the limit of the range.  For example, if Range=0.1 the last reading above will be -0.1 volts rather than -5 volts.

    Mux80 Extended Channels

    The Mux80 is added to a U6/UE9/T7 to create analog inputs 48 through 127.  These extended channels behave the same as normal channels, so testing is the same as above, but here are a couple tips:

    • LJControlPanel does not support the extended channels, so for UD devices use LJLogUD to view readings from any analog input.
    • Extended channels do no show up on the Dashboard or Analog Inputs tab in Kipling, so for T-series devices use the Register Matrix in Kipling or use LJLogM.
    • AIN48-AIN127 appear on the X2-X5 connectors of the Mux80.  If using CB37s to provide screw terminal connections, you must use Table 1 of the Mux80 Datasheet to find where each extended analog input appears on the CB37s.
    • Unlike normal analog inputs, differential pairs for extended analog inputs are not positive=even and negative=even+1.  See the Mux80 Datasheet to determine the correct channel numbers for positive/negative differential pairs.


    Troubleshooting Tips

    These tips might lead you to a solution, might lead you to the conclusion you have a problem, or might provide clues that will help us understand your issue.

    T1. Update to the latest version (beta if available) of our software so you are using the same as us.

    T2. Update to the latest firmware (beta if available) so you are using the same as us.

    • T-series:  Use the Device Updater tab in Kipling.
    • UD (U3, U6, UE9): Use LJSelfUpgrade for Windows.

    T3. Reset device to factory condition. This eliminates issues due to custom analog configuration, AIN-EF configuration, and Lua scripts.

    1. Securely install reset jumper
          U3-LV or U3-HV: SPC to FIO6
          U6: SPC to FIO2
          UE9: SCL to FIO2
          T4: SPC to FIO6
          T7: SPC to FIO2
    2. Power cycle the device.
    3. Remove reset jumper.
    4. Power cycle the device.

    T4. Remove all connections except power & communication as needed (e.g. USB). This includes ANY and ALL connections to screw terminals or DB15/DB37 ports. Then just use 1 or 2 small jumper wires as needed for testing. This eliminates issues caused by other user connections.

    T5. Confirm power supply is 4.75 to 5.25 volts. Use a DMM to measure VS to GND (see T7 below), and/or add an extra jumper wire to connect VS to some unused analog input.

    T6. Close all other software and just run Kipling (T-series devices) or LJControlPanel (UD devices).  This eliminates issues due to unknown software.  Make sure you only run 1 LabJack related program at a time.

    T7. Make sure any applicable screw terminals are securely clamped on a conductor.  Click for more about screw terminals.

    T8. For the U6-Pro and T7-Pro, compare readings from the high-speed converter (ResolutionIndex 1-8) to readings from the high-resolution converter (ResolutionIndex 9-12).  They should be very similar and both should be within spec.

    T9. Compare your LED behavior to normal LED behavior examples.

    T10. Contact LabJack Support for further help.  Provide confirmation that you did the above 8 items in order, and let us know if all went as described.




    This is an app note?  Really?

    Sometimes it is nice to see something is as simple as you thought.

    This is great for newbies like me. Thanks!!

    I want to read two outputs from my circuit. I just wanted to make sure I understand it well: I have to connect one output to AIN0 and the other to AIN1 and then connect the ground of my circuit to GND on LabJack?

    Do I have to configure negative channels if I am doing single ended readings? Your Matlab Streaming code includes the bit I pasted below, is it necessary?

    %Configure the negative channels for single ended readings.

        aNames = NET.createArray('System.String', numAddresses);

        aValues = NET.createArray('System.Double', numAddresses);

        for i=1:numAddresses,

            aNames(i) = [char(aScanListNames(i)) '_NEGATIVE_CH'];

            aValues(i) = LJM_CONSTANTS.GND;


        LabJack.LJM.eWriteNames(handle, numAddresses, aNames, aValues, 0);

    Thank you in advance.

    That sounds right.  Will the voltage of each point (versus ground) be within the valid AIN range of your LabJack?  In your code you are talking to the LJM libary, which suggests you have a T7.  The max AIN range for the T7 is +/-10V.

    The default is single-ended (negative channel = 199), so you likely do not need to write those in your case.