Sensors, Signal Conditioning and ADCs

The measurement chain from sensor to number: thermocouples, RTDs, 4–20 mA, bridges, converters, noise, grounding and an uncertainty budget.

The measurement chain

A logger never sees the physical quantity; it sees a voltage after a sensor, some conditioning and a converter. Each link adds error, and the final number is only as good as the weakest. Work along the chain: sensor (turns temperature, pressure or load into a small electrical change), conditioning (excitation, amplification, filtering, isolation), converter (an ADC turning volts into counts), then the scaling from counts back to engineering units. The sensors themselves are described in Sensors and Field Devices; this page covers what the logger must do with them.

Choosing the sensor

SensorOutputTypical useWatch out for
RTD (Pt100, Pt1000)Resistance, 0.385 Ω/°C (Pt100)Accurate temperature, −200 to 600 °CLead resistance, self heating, needs excitation
ThermocoupleMicrovolts (about 41 µV/°C, type K)Wide range, hot, fast, ruggedCold-junction compensation, noise, wire type, drift
Thermistor (NTC)Resistance, strongly non-linearCheap, sensitive, −50 to 150 °CNon-linear, needs a curve (Steinhart–Hart) and a stable divider
4–20 mA transmitterCurrent loopProcess: pressure, level, flow, temperatureLoop power, shunt resistor, broken-wire detection
0–10 V / 0–5 V sensorVoltageShort runs inside a cabinetNoise pick-up and ground offsets over distance
Strain gauge / load cellMillivolts per volt of excitationForce, weight, torqueNeeds an amplifier, bridge excitation and a low-noise ADC
Digital sensor (I²C, SPI, 1-Wire)Numbers directlyBoard-level temperature, humidity, pressureBus length, address clashes, built-in filtering you cannot change
Current transformer / HallAC voltage or current proportional to loadEnergy and motor currentBurden resistor, RMS calculation and sampling rate
  • Range: choose the sensor and input range so that the usual signal uses most of the span, with headroom for faults, not 5 % of it.
  • Response time: a sensor in a thermowell may have a time constant of tens of seconds, which limits what the sample rate can show (see Planning a Logging System).
  • Place it where the quantity is: a probe that is warmed by its cable or shaded from the air reads the wrong thing very accurately.

RTDs and wiring

A Pt100 changes by only 0.385 Ω per °C, so the resistance of the wires matters. A 2-wire connection adds both leads to the reading; a 3-wire connection cancels most of it if the leads match; a 4-wire connection measures the voltage across the sensor only, so lead resistance drops out entirely.

Worked example: lead resistance and resolution

  • 2-wire error. Two leads of 0.50 Ω each add 1.00 Ω, which reads as 1.00 ÷ 0.385 = 2.6 °C too high. A 4-wire connection removes it.
  • Signal. With 1 mA excitation a Pt100 gives 0.385 mV per °C. A 16-bit ADC with a 3.3 V reference has a step of 0.050 mV, so connected directly it resolves only 0.1 °C per count (and the signal sits on 100 mV of offset). Hence an instrumentation amplifier, a dedicated RTD converter or a 24-bit ADC.
  • Self heating. Excitation power warms the sensor: 1 mA through 100 Ω is 0.1 mW, small in water but visible in still air. Use the lowest current that gives a clean signal.

Thermocouples

A thermocouple makes a voltage from the difference between its hot junction and the point where it meets the copper of the logger (the cold junction). The logger must measure that cold-junction temperature and add it back, called cold-junction compensation. Without it the reading is simply wrong by the temperature of the terminals.

Worked example: a type K thermocouple

  • A type K couple gives about 41 µV/°C, so 100 °C above the cold junction is about 4.1 mV: tiny, so a gain of about 100 to 200 or a 24-bit ADC is needed.
  • Cold-junction error passes straight through. If the terminal temperature is wrong by 2.0 °C, the reading is wrong by the same 2.0 °C, whatever the process temperature. Keep the terminals isothermal (away from heat and drafts) and measure them with a good sensor.
  • Use thermocouple wire all the way to the logger (or the matching compensating cable): copper in the middle creates extra junctions.
  • Open thermocouple detection: a small bias current drives the input to full scale when the wire breaks, which you want to see as a fault, not as a plausible temperature.

4–20 mA and voltage signals

The 4–20 mA loop is the industrial standard for good reasons: current is the same everywhere in the loop, so wire resistance does not matter; 4 mA, not 0, is “zero”, so a broken wire (0 mA) is distinguishable from a real zero; and the transmitter can be powered from the loop. The logger reads the current through a precision shunt resistor.

Worked example: a 0 to 10 bar transmitter

  • A 250 Ω shunt gives 1.0 V at 4 mA and 5.0 V at 20 mA: a span of 4 000 mV, in range for a 0 to 5 V input.
  • A reading of 12.0 mA is (12.0 − 4) ÷ 16 = 50.0 % of span, which is 5.0 bar. (The Analog Scaling Tool does this.)
  • Broken-wire check (NAMUR NE 43). A reading below about 3.6 mA means a failed sensor or cable, not a pressure; above about 21 mA is an over-range fault. Log these as faults, not values.
  • Use a shunt with 0.1 % tolerance and low temperature coefficient: a 1 % resistor puts a 1 % error into every reading.
  • Voltage signals (0–10 V) are easy but pick up noise and ground differences on long runs: use shielded twisted pair, a differential input and keep them short.
  • Isolate the input when the sensor and logger have different grounds, or when the signal comes from a plant with ground loops; a ground loop shows as hum or a steady offset that changes when something else is switched.
  • Loop power: a 2-wire transmitter needs 10 to 30 V in series with the loop, with the shunt and any other devices dropping voltage: check the supply can drive 20 mA through all of them.

Bridges and small signals

Strain gauges and load cells are Wheatstone bridges that unbalance by a few millivolts for each volt of excitation, typically 2 mV/V at full load. At 5 V excitation a 2 mV/V cell gives only 10 mV at full load, so it needs an amplifier or a 24-bit delta-sigma ADC with a programmable gain (the HX711 and ADS1232 are common). Use ratiometric measurement (the ADC reference is the bridge excitation) so that supply drift cancels, and use 6-wire connections (sense lines) over long cables.

ADC resolution and the reference

BitsLevelsStep with a 3.3 V reference
10 bit1 0243.223 mV
12 bit4 0960.806 mV
16 bit65 5360.050 mV
24 bit16 777 2160.000 mV
  • Effective number of bits (ENOB) is lower than the quoted bits, because noise, reference and layout take their share. A “12-bit” microcontroller ADC often gives 9 to 10 usable bits. Read the datasheet’s noise and ENOB figures.
  • The reference sets the accuracy. A converter using the supply as its reference moves when the supply moves. For anything accurate use a precision reference or a ratiometric sensor.
  • Input range: use the whole range. A 0.5 V signal on a 3.3 V ADC wastes about 85 % of the bits; amplify it or switch to a lower range.
  • External ADCs (ADS1115, ADS1256, MCP3564) give better noise and stability than a microcontroller’s built-in one, at the price of an extra part and bus (see Embedded Systems).

Worked example: oversampling and averaging

  • Extra bits. Averaging N samples of a noisy signal adds ½ log2 N bits. With N = 256 samples, a 12-bit ADC gains 4.0 bits, becoming 16.0 effective bits. Each extra bit needs four times as many samples, so 4 extra bits need 44 = 256 samples.
  • It needs noise. Oversampling works only if there is about one LSB of random noise to “dither” the steps; a perfectly steady signal on a clean ADC gives the same count each time and gains nothing.
  • Noise averaging. If one reading has a random noise of σ = 0.8 °C, the mean of 100 readings has σ ÷ √N = 0.08 °C. It reduces random noise, not offset, gain error or drift.

Noise, grounding and shielding

SymptomLikely causeCure
50 or 60 Hz ripple on the readingMains pick-up on the wires or on the supplyShielded twisted pair, a differential input, integrate over a whole number of mains cycles (20 ms rejects 50 Hz), move cables away from power wiring
Spikes when a motor or relay startsSwitching noise coupling inFilter or snubber at the load, separate routing, ferrites, opto-isolation
Slow wander that tracks the ambient temperatureOffset or reference drift; thermocouple junction effectsBetter reference, an isothermal block, auto-zero or a periodic calibration reading
A steady offset that changes with other equipmentA ground loopOne ground point for the signal, isolation, a differential input
Readings jump between two valuesA noisy value on a code boundary, or the sensor is switchingAverage, add hysteresis in the display, check the sensor
A channel affects its neighborMultiplexer charge injection or settlingWait for the input to settle, add a buffer, or sample slower
  • Shield one end only (at the logger), unless you know the design needs both, to avoid ground-loop currents in the shield.
  • Twist the pair so that interference is picked up equally by both wires and canceled by a differential input.
  • Keep high-impedance inputs short; a long wire on a high-impedance node is an antenna.
  • Look at the raw signal: a scope or a burst of fast samples shows noise that a slow logger hides (see Sampling, Aliasing and Filtering).

An uncertainty budget

Every part of the chain has an error. If the errors are independent, they combine as the root of the sum of the squares (RSS), not by simple addition: the worst case of all errors together is rare, and a straight sum overstates it.

u = √( u1² + u2² + u3² + … )

SourceErrorSquared
Sensor accuracy (class)±0.80 °C0.64
Amplifier gain and offset±0.30 °C0.09
ADC and reference±0.15 °C0.02
Self heating±0.02 °C0.00
Resolution and noise±0.10 °C0.01
Installation (heat conduction)±0.40 °C0.16

Worked example: a temperature channel

  • The straight sum of the errors is ±1.77 °C, the worst case.
  • The RSS is √0.92 = ±0.96 °C. A ±1.92 °C expanded uncertainty (coverage factor 2, about 95 %) is the figure normally quoted.
  • The largest term dominates. The sensor class (±0.80) contributes 69 % of the squared total, so a better ADC would change almost nothing; spend the money on the sensor and the installation.
  • This is a 0.96 °C system, so a ±0.5 °C tolerance cannot be proved with it (the 4:1 rule in Planning a Logging System); a class A or better sensor and a calibration are needed.
Where the error comes from (±°C)Sensor accuracy (RTD class B at 100 °C)±0.80Cable and lead resistance (uncompensated)±0.30Signal conditioning gain error±0.15ADC quantization (16-bit over 0–200 °C)±0.02ADC noise and reference drift±0.10Installation: heat conduction along the probe±0.40Simple sum ±1.77 °C (too pessimistic); root sum of squares ±0.96 °C.
The same budget as bars: the sensor and installation dominate; the converter is minor.

Related

FAQ

RTD or thermocouple?

An RTD is more accurate and stable up to a few hundred degrees; a thermocouple is cheaper, faster, rugged and goes much hotter, but needs cold-junction compensation and gives smaller, noisier signals.

Why is 4–20 mA better than 0–10 V?

Current is the same along the loop, so wire resistance does not matter, noise pick-up is lower, a broken wire shows as 0 mA (a detectable fault), and the transmitter is powered from the loop.

How many bits do I need?

Enough that one step is well below your accuracy requirement, and no more than the noise allows. Check the effective bits, not the quoted ones; 16 bits of a noisy ADC may be 12 real bits.

Why do my readings drift when the room warms up?

Offset and reference drift in the electronics, cold-junction error, or the sensor itself. Test by logging a fixed precision resistor in place of the sensor; if it still drifts, the electronics are the cause.

References

  • Dally, J. W., Riley, W. F. and McConnell, K. G., Instrumentation for Engineering Measurements.
  • Analog Devices, Data Conversion Handbook and application notes on RTD, thermocouple and bridge measurements.
  • IEC 60751 (Pt100), IEC 60584 (thermocouples), NAMUR NE 43 (4–20 mA fault levels), JCGM 100 (uncertainty).

Last reviewed: October 2026. Resistances, sensitivities and errors are typical values: use your sensor’s datasheet.