Mux80 AIN Expansion Board Datasheet | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver


Mux80 AIN Expansion Board Datasheet

Mux80 Overview

The Mux80 AIN Expansion Board serves to provide an additional 80 analog inputs to any compatible LabJack.  It uses 10 multiplexer chips connected to AIN4-AIN13 and splits each channel into 8 additional channels.  When a specific extended analog input channel is read on a U6, UE9, or T7, the digital output MIO lines are automatically set and the correct analog channel is read.  The Mux80 has a built-in DC-DC converter which provides the upper and lower rail voltages necessary for powering the multiplexer chips.

Three vertical DB37 connectors provide an easy interface to connect 24 AIN channels each. The remaining connector brings out unused connections (FIO, DAC, etc) from the LabJack, along with the last 8 AIN channels. There are a total of 84 available analog inputs when used in conjunction with a U6, UE9, or T7.

For screw-terminal access, connect a CB37 Terminal Board and reference the chart printed at the top of the Mux80 for connections. 


  • 80 Multiplexed Channels (or 40 Differential Pairs)
  • Built-In DC-DC Converter
  • OEM Capability
  • Easy-To-Use High Density Connectors
  • Snaptrack/DIN-rail compatible, with TE Connectivity P/N TKAD



    Connection Options

    The Mux80 can be connected several ways.  The images below demonstrate use with the CB37 Terminal Board, and several 3ft DB37 Cables.


    When connected to a CB37, there is a quick way to determine which screw terminals can be used as analog inputs; reference the chart printed on the top of the Mux80, also shown below for reference.

    Table 1. CB37 to MUX80 connection chart

    CB37 Labels X2 X3 X4 X5
    AIN0-13 AIN0-3, AIN120-127, N/C, N/C AIN48-61 AIN72-85 AIN96-109
    DAC0-1 DAC0-1 AIN62-63 AIN86-87 AIN110-111
    FIO0-7 FIO0-7 AIN64-71 AIN88-95 AIN112-119
    PIN2,20 PIN2,20 N/C N/C N/C
    MIO0-2 MIO0-2 N/C N/C N/C

    The above table defines the pinouts of X2-X5 in terms of a CB37.  If not using a CB37 see the CB37 Datasheet to translate the CB37 terminals to DB37 pin numbers.


    Connector X2 is essentially a duplicate of the DB37 connector on the main device, except AIN4-AIN11 are instead AIN120-AIN127, and AIN12-AIN13 are not connected to anything. On connector X2, AIN0-AIN3 are duplicates of the main device, as well as FIO, DAC, etc.

    AIN0-AIN3 are available on the built-in terminals of the T7 and also on AIN0-AIN3 of a CB37 connected to X2.

    AIN120-AIN127 are available on X2, along with the DACs and DIO.


    AIN48-AIN71 appear on the AIN0 through FIO7 terminals of a CB37 connected to X3.  Note that terminals labeled DACx and FIOx on the CB37 are used as analog inputs.


    AIN72-AIN95 appear on the AIN0 through FIO7 terminals of a CB37 connected to X4.  Note that terminals labeled DACx and FIOx on the CB37 are used as analog inputs.


    AIN96-AIN119 appear on the AIN0 through FIO7 terminals of a CB37 connected to X5.  Note that terminals labeled DACx and FIOx on the CB37 are used as analog inputs.


    A signal is connected to FIO6 on a CB37.  The CB37 is connected to X4 on the Mux80, so on the chart, under X4 and FIO0-7, locate AIN88-95.  So the signal is connected to AIN94.  To read AIN94 simply perform a standard AIN read for analog input number 94.


    Using Differential Analog Inputs with the MUX80


    The built-in analog inputs AIN0 through AIN3 can be used normally when using the Mux80 (but AIN4 through AIN13 are not available). This allows:

    • Positive channel = AIN0 paired with negative channel = AIN1
    • Positive channel = AIN2 paired with negative channel = AIN3

    See 14.0 AIN of the T-Series Datasheet for more details on built-in AIN.

    Extended range

    For extended channels, the positive channel can be any channel (even or odd) listed as a positive channel in the chart below. The negative channel number is the positive channel number plus 8 (listed under the “Negative Channel” the chart below).

    Example 1: The positive channel is connected to AIN102 (AIN6 on the CB37 connected to X5). The corresponding negative channel is AIN110 (DAC0 on the CB37 connected to X5).

    Example 2: The positive channel is connected to AIN64 (FIO0 on the CB37 connected to X3). The corresponding negative channel is AIN72 (AIN0 on the CB37 connected to X4).

    Note that for some differential pairs, the positive and negative are located on different connectors.

    Table 2. Channel numbers for analog inputs based on differential connection and CB37 connector

    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X2's AIN0 AIN0 X2's AIN1 AIN1
    X2's AIN2 AIN2 X2's AIN3 AIN3
    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X3's AIN0 AIN48 X3's AIN8 AIN56
    X3's AIN1 AIN49 X3's AIN9 AIN57
    X3's AIN2 AIN50 X3's AIN10 AIN58
    X3's AIN3 AIN51 X3's AIN11 AIN59
    X3's AIN4 AIN52 X3's AIN12 AIN60
    X3's AIN5 AIN53 X3's AIN13 AIN61
    X3's AIN6 AIN54 X3's DAC0 AIN62
    X3's AIN7 AIN55 X3's DAC1 AIN63
    X3 & X4
    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X3's FIO0 AIN64 X4's AIN0 AIN72
    X3's FIO1 AIN65 X4's AIN1 AIN73
    X3's FIO2 AIN66 X4's AIN2 AIN74
    X3's FIO3 AIN67 X4's AIN3 AIN75
    X3's FIO4 AIN68 X4's AIN4 AIN76
    X3's FIO5 AIN69 X4's AIN5 AIN77
    X3's FIO6 AIN70 X4's AIN6 AIN78
    X3's FIO7 AIN71 X4's AIN7 AIN79
    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X4's AIN8 AIN80 X4's FIO0 AIN88
    X4's AIN9 AIN81 X4's FIO1 AIN89
    X4's AIN10 AIN82 X4's FIO2 AIN90
    X4's AIN11 AIN83 X4's FIO3 AIN91
    X4's AIN12 AIN84 X4's FIO4 AIN92
    X4's AIN13 AIN85 X4's FIO5 AIN93
    X4's DAC0 AIN86 X4's FIO6 AIN94
    X4's DAC1 AIN87 X4's FIO7 AIN95
    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X5's AIN0 AIN96 X5's AIN8 AIN104
    X5's AIN1 AIN97 X5's AIN9 AIN105
    X5's AIN2 AIN98 X5's AIN10 AIN106
    X5's AIN3 AIN99 X5's AIN11 AIN107
    X5's AIN4 AIN100 X5's AIN12 AIN108
    X5's AIN5 AIN101 X5's AIN13 AIN109
    X5's AIN6 AIN102 X5's DAC0 AIN110
    X5's AIN7 AIN103 X5's DAC1 AIN111
    X5 & X2
    Positive Channel Negative Channel
    CB37 Label AIN# CB37 Label AIN#
    X5's FIO0 AIN112 X2's AIN4 AIN120
    X5's FIO1 AIN113 X2's AIN5 AIN121
    X5's FIO2 AIN114 X2's AIN6 AIN122
    X5's FIO3 AIN115 X2's AIN7 AIN123
    X5's FIO4 AIN116 X2's AIN8 AIN124
    X5's FIO5 AIN117 X2's AIN9 AIN125
    X5's FIO6 AIN118 X2's AIN10 AIN126
    X5's FIO7 AIN119 X2's AIN11 AIN127


    See 14.2 Extended Channels of the T-Series Datasheet for more details on extended ranges.


    Parameter Conditions Min Typical Max Units
    Typical Current Draw No Active Readings 4.5 5.5 10 mA
    VMUX+   12.8 13.8 16 V
    VMUX-   -12.8 -13.8 -16 V
    Crosstalk @ 100 Hz DG408DVZ   -125   dB
    LabJack U6   -104   dB
    Mux80   -100   dB


    Ground Offsets

    A single-ended analog input measurement is the voltage difference between the analog input and ground at the A/D chip on the main device (e.g. U6 or T7).  If the voltage provided by a given signal is different than the voltage at the A/D chip, that results in error.

    Suppose, for example, a thermocouple is connected to AIN0 and the adjacent GND terminal on a CB37, that is connected to X3 on a Mux80 via a 3 foot cable, and that is connected to a T7.  Suppose the remote end of thermocouple is at a temperature such that it is creating a voltage difference of 1600 µV between the AIN0 and GND terminals on the CB37.  Typically, the voltage at the CB37-AIN0 terminal will be the same voltage presented to the A/D chip, but the voltage at the CB37-GND terminal might be 280 µV higher than ground at the A/D chip due to other currents flowing on ground.  That means the A/D chip will see 1880 µV rather than 1600 µV, which is an error of roughly 7 degrees C.

    Voltage drop on the AIN connection is not a concern as the only current on the AIN connection is the bias current.  The typical AIN bias current of the U6 or T7 is 20 nA, so even if the path from terminal to A/D chip had a high resistance of 10 ohms that would only be 200 nV of error.

    Voltage drop on the ground connection can sometimes be a concern and is called ground offset error.  Just the normal power supply current of the Mux80 and CB37 can cause GND terminals on the CB37 to be 100s of microvolts higher than ground back at the A/D chip.  Any current sunk to GND by user connections will increase this difference.

    One solution is to use the AGND terminal on the CB37.  AGND has its own dedicated path back to the main device, so as long as the user does not sink any current into AGND it will be at the same voltage as ground at the A/D chip.

    To measure how much offset exists from a particular GND terminal to ground at the A/D chip, simply jumper the GND terminal in question to an unused AIN terminal and measure the single-ended voltage from that AIN channel.


    Suggestions & Solutions:

    A.  Use differential analog inputs.  Differential readings take the difference between 2 AIN lines and thus are not affected by ground offset.  For example with a thermocouple, connect thermocouple+ to a positive channel (AIN48 for example) and connect thermocouple- to a negative channel (AIN56 for example).  A resistor (100k would be typical e.g. CF14JT100K) from the negative channel to GND is also required, as the thermocouple cannot be totally floating (see the Differential Readings App Note).  Now configure and read AIN48 as differential.

    B.  Use AGND for all passive sensors such as thermocouples.  Make sure not to connect anything to AGND that will sink/source any substantial current to AGND or offset will be created from AGND versus A/D chip ground.

    C.  Use an extra AIN channel on the CB37 in question and jumper it to GND on the CB37 to measure the GND offset so it can be accounted for in software.

    D.  Get rid of or at least reduce GND offset by minimizing connections (minimizing resistance) between the signal terminals and A/D chip, avoiding sourcing/sinking current to GND on the CB37, and adding a big fat wire from CB37-GND to U6-GND or T7-GND.

    E.  Use a star ground, and have a single solid connection from that star ground to U6-GND or T7-GND.  For example, connect the negative leads of all signals to an external grounding post or grounding bar, and run a big fat wire from there to a GND on the main LabJack.



    The Mux80's extended channels (AIN48-AIN127) act just like normal channels (AIN0-AIN13) and are read the same way.  For example, one of the T7's built-in analog inputs can be sampled by reading "AIN0". To sample an analog input on the Mux80, you can read "AIN48". Similarly, AIN configurations like range and resolution are configured in the same way for extended channels as they are for normal channels.  Configurations that apply to ALL channels do include normal and extended.

    Most of our customers write their own software, but there are various software options:

    Our LJLog and LJStream example programs allow you to read any 16 channels.  So they can read any channels on the Mux80, but not all of them at the same time.  There is a beta version of LJLogM that does allow lots of channels (up to 255), so that is a reason for some customers to consider the newer LJM devices (e.g. T7) rather than UD devices (U3, U6, UE9).

    Another option for non programmers is DAQFactory, but the free Express version is limited to 8 channels.


    MIO0-2 are used to control the MUX80 multiplexers; ensure the MIO are not being used as normal DIO while trying to take readings from the MUX80.

    For initial testing, the same steps that are described in our Test an AIN application note can be performed. With T-series devices, the extended AIN registers (whose hardware mapping is described in Table 1, Table 2, and on the pinout page) can be read directly in Kipling using the register matrix tab. For UD devices, see the "U6 or UE9 only" guide below.

    If there seem to be problems with incorrect readings, also check that VMUX+ and VMUX- are within specified limits by measuring the test points with respect to GND. The Mux80 does not use VM+/VM- from the main device at all, but rather has its own power supply circuit to convert 5V (VS) to ±13V (VMUX+ and VMUX-) for the mux chips. Note that with a CB37 connected to any of X2-X5, the screw terminals labeled VM+/VM- are actually connected to VMUX+ and VMUX-, so this is a another way to measure besides the test points on the PCB.

    Troubleshooting - U6 or UE9 Only

    It is possible to check Mux80 functionality in LJControlPanel by performing the following steps:

    1. Open LJControlPanel
    2. Select UD device and click Test
    3. On test pane, locate MIO 00, MIO 01, MIO 02 checkboxes for both Digital Direction and Digital State
    4. Check the boxes for all 3 MIO lines under Digital Direction
    5. Check desired boxes under Digital State according to the following table.  Find the extended channel number to investigate, then trace across the row to the Digital State of MIO0, MIO1, and MIO2.  Set the output state to high (checked) for 1 and low (un-checked) for 0.
    6. Trace the column up to AIN#, this is the analog input that your analog signal will appear on. 

    Table 3. Channel selection based on mux input

    Output State   Expected Channel in LJControlPanel
    0 0 0   48 56 64 72 80 88 96 104 112 120
    1 0 0   49 57 65 73 81 89 97 105 113 121
    0 1 0   50 58 66 74 82 90 98 106 114 122
    1 1 0   51 59 67 75 83 91 99 107 115 123
    0 0 1   52 60 68 76 84 92 100 108 116 124
    1 0 1   53 61 69 77 85 93 101 109 117 125
    0 1 1   54 62 70 78 86 94 102 110 118 126
    1 1 1   55 63 71 79 87 95 103 111 119 127

    For example:  I have connected an analog signal to AIN65.  If I am using a CB37 Terminal Board, this will mean that the CB37 is connected to X3 on the Mux80, and the signal is wired to FIO1 on the CB37.  Looking at the above chart I note that 65 shares a row with MIO Output States of 1,0,0.  I then set MIO0 checked, MIO1 unchecked, and MIO2 unchecked.  Next I follow the column for 65 up to AIN6, so that is the analog input where I will see my analog signal with this MIO configuration.


    • Ensure your device has the latest firmwareThere is a known U6 firmware issue concerning MIO lines in v1.26 and older.  See revision history for more info. U6 firmware v1.40 and newer is able to stream differential channel pairs with the Mux80.
    • On the U6 and U6-Pro, the digital lines CIO0-2 and MIO0-2 are shared.  This means that changing the state of MIO0-2 will also change the state of CIO0-2.  Therefore, anyone using a Mux80 with a U6 needs to be aware that digital lines CIO0-2 are not usable. 



    I need more analog inputs than the 14 available on my U6.   Optimally, I'd like to measure 40 analog inputs.  Two alternatives would be to use 3 U6's via a USB hub, OR, the MUX80.  If I use the MUX80, will I see a 4X increase in my sampling rate?  Currently, I get an update about every 0.1 second.  Would this go to roughly 0.4 sec between measurements?   How would this compare to using multiple U6s?  Would using multiple U6s also slow my sampling rate?  If so, how much would you estimate?


    The sample rate for the U6 is dependent on several factors: resolution (settling time), range (gain), and USB communication time. If you know the appropriate resolution and range we can provide an estimate for sampling 40 channels. It's true that using multiple U6s can provide the faster sample rates, but one would have to write a program that uses threading in order to see this benefit.  Most likely one can improve the sample rate by tweaking the above parameters, even when using a Mux80.

    I am reading 80 channels on a MUX80 on U6. I am reading the signal on positive of 10 K resistors, each one in series with an actuator. 2V are applied to positive of actuator, with the negative of actuator connected to positive of resistor. Negative of resistor is ground, actuator resistance can be in the range 100k to >100M and I want to use the data to calculate the actuator resistance. I am using DAQfactory to acquire data with 10 s sampling.

    What is the maximum actuator resistance that I can measure? The first setup I used with fewer channels worked quite well up to >100 M, but as I added more channels I get a meaningful signal only when actuator resistance is quite low (<M).

    Is there a reason for this to happen or am I just doing something wrong in understanding the data? I have read section 2 (and the entire manual), should I manually change the SettlingFactor?

    Thank you.

    With high source impedance you can see 2 main types of error:  1.  Static error due to the bias current going in/out of the analog inputs which is ~20nA at steady-state, and 2.  Dynamic settling error as the source has to source or sink current to charge the U6 analog input system from the voltage of the previous channel to the voltage of the new channel.

    To meet specs for all combinations of range, resolution index, channel order, and data rates, the source impedance must be less than 1k.  With higher source impedance we need to put more thought in to the details.  Please start a forum topic where we can get into that.

    Question about the pinout chart.

    If DAC1 on X5 is MUX111, isn't FIO0 on X5 MUX112, NOT MUX111?


    That is correct.  The datasheet has been updated to reflect this change.  Although it is only a labeling mistake, LabJack may send an email update to recent buyers highlighting the error on the silkscreen.  "M111-119" should instead read "M112-119"

    Thanks, I still had the old datasheeet.  Another question, Are pins 8,9,10,12,19,27,28, & 30 connected on X2, X3, X4, & X5 to the same circuits as on X1?



    • Pin 8 & 10 - GND dedicated to charge pump. Not connected between X1 and others
    • Pin 9 & 28 - VM- & VM+, unused on the Mux80, Not connected, since the board has its own charge pump.
    • Pin 12 - AIN13, the dedicated input for Mux120-127, Not connected to others
    • 19 - GND, the shared GND plane for all headers (X2-X5)
    • 27 - VS, the shared 5V rail that appears on all headers (X2-X5)
    • 30 - AGND, dedicated analog GND, bypasses the GND plane for more isolated readings, shared on all (X2-X5)


    So (pardon my ignorance, I am but a humble software engineer :)), I have a UE9 with a Mux80 connected, and I want to read analogue in 67, then I'd just write (in C#)

    LJUD.eAIN( handle, 67, 0, ref value, (int)range, bitResolution, 0, 0 )

    is that correct? 

    How are the 80 channels split across the D connectors?


    That looks correct.  If you are getting an "invalid AIN channel number" error, try downloading the latest UD driver package from here:

    The 80 channels are split according to the table "Mux80 : CB37 Reference".  Each connector is labeled with an X number.  So X3 for instance has AIN channels numbering 48 through 71.  They are called Mux48 - Mux71 on the silkscreen of the Mux80.

    If you use a CB37 Expansion board, connect it to X3, and AIN 67 will be the "FIO3" terminal of the CB37.  All the acronyms and different names make it complicated, so don't feel bad.

    Thanks! I was getting confused because I thought I might have to be manually toggling the MIO channels and then reading AIN0..AIN14 to get the multiplexed channel data. It's nice that at least asking for channel 48 gets me MUX48 etc (the numbering being a bit confusing because we had that down as AIN0).

    I have a U6 pro with a mux80 connected to it. The Mux80 has a CB37 connected on X5 and there is a 37 pin connector on X4. The U6 pro alo has a relay board cconnected via the 15 pin connector. On the relay board  everything is set up to be an output except EIO0 and EIO1, which are inputs. Now when I try to read AIN 81 which is on the X4, CIO1 and 2 turn on. I am using C#.

    Section 2.8 of the U6 User's Guide mentions that CIO0-CIO2 are shared with MIO0-MIO2 on the U6.  The Mux80 uses MIO0-MIO2 to control the multiplexers.  Will make a to-do to make sure this is also mentioned somewhere on the Mux80 and RB12 datasheets.

    FloFlow's picture

    I have to measure 16 differential analog signals at 1kHz.
    I plan to buy a T7-Pro, but as there are only 7 differential analog inputs, I consider to use a Mux80 expansion board.
    What about my 1kHz sampling rate requirement using Mux80 expansion board ?

    labjack support's picture

    The Mux80 has no special effect on speed.  It is just more channels.  So your sample rate is still:

    SampleRate = ScanRate * NumChannels

    If you want to scan 16 differential analog inputs at 1 kscans/second, using a Mux80, that is a sample rate of 16 ksamples/second which is no problem at Range = +/-10V and Resolution = 3 or less.

    You will not be able to use smaller ranges at that speed, however.

    I just fried 3 mux80's till I found the source of the issue.

    A thermocouple tip (differential reading) was touching a bare metal part. That bare metal part had a 'ghost voltage' which I measured at 32 - 40 volts. Is it possible that such a low voltage, especially a ghost voltage can damage the mux80?

    The mux80 is visibly damaged. It has a burnt chip near a pin that was traced till the thermocouple in question. (that was how I eventually found the source of the problem). Is it possible that this also damaged the labjack U6pro that it was connected to?

    labjack support's picture

    Is that 40 volts measured versus Mux80 GND?  If you have 40 volts from AIN versus GND, and that voltage is capable of sourcing more than 20 mA, then damage is likely.

    The Mux80 has minimal protection.  Much less protection than the analog inputs on the U6/T7.  The reason is so that the Mux80 does not add extra errors or require more settling time compared to the normal U6/T7 analog inputs.

    As a quick test of an analog input, jumper that input to GND and look at the readings.  The accuracy spec for the 0.1V range (generally used for thermocouples) is +/-0.01% full-span, and full-span is 0.2V, so the readings you see when jumpered to ground should within -20uV to +20uV.  Check with ResolutionIndex=8 for the high-speed converter and ResolutionIndex=9 for the high-resolution converter.