Humidity Sensors: Resistive or Capacitive? The MFIA can tell the Answer.


Humidity sensors (also known as hygrometers) are commonly used in applications ranging from everyday sensing to lab research [1]. They are typically placed in an enclosed chamber, such as a car or a glovebox, where they are used to check whether the humidity is healthy for humans or materials inside. To quantify the temperature-dependent relative humidity (RH), it is necessary to convert it into an electronically readable signal. As such, many modern humidity sensors function by sensing the resistance or capacitance change with respect to the humidity. But it should be mentioned that thermal, gravimetric, and optical types are also available [2].

In this blog post, we will show how to characterize resistive (Digikey part number: 235-1450-ND) and capacitive (Digikey part number: HPP801A031-ND) humidity sensors. The sensing material in humidity sensors is either (semi)conducting (for resistive type) or dielectric (for capacitive type) polymers and oxides, patterned on interdigitated electrodes to further increase the sensing area. The electrode configuration allows them to be mounted easily on PCB carriers, as shown by Fig. 1, in a 4-terminal configuration. Most of the measurements are carried out at a room temperature of 28 °C. We will compare the performance of these two sensors in this blog post.

Figure 1. A photo showing the resistive humidity sensor mounted on the MFITF via a PCB carrier and connected to the MFIA, with another capacitive humidity sensor standing next to it.


Find the correct excitation voltage

The first step to characterize these sensors is to find the best excitation voltage. In most cases, humidity sensors show a linear I-V response at a fixed frequency, hence a constant impedance independent from voltage. However, when semiconducting sensing materials are used, possible Schottky contacts may form, resulting in a non-linear curve. To verify this, the AC voltage (test signal) amplitude can be swept in the LabOne Sweeper module. In case a sensor needs to operate at non-zero biased conditions, the DC voltage offset can also be swept using the same module [3].

Fig. 2a shows a sweep of test signal from 10 mV to 1 V at 1 kHz on the resistive humidity sensor. The measured phase of this sensor is around -1 deg, indicating a resistor-like behavior at 1 kHz. On the capacitive sensor in Fig. 2b, we use 5 kHz test signal and see a lower impedance with a phase of -89.8 deg (close to the value of a pure capacitor).  If we consider the impedance over the entire swept voltage range, the coefficient of variation in the capacitive sensor is calculated as 131.13/184.536 k=0.071%, about just 1/3 of the resistive sensor (929.185/406.46 k =0.23%). Therefore, the capacitive sensor is more precise and linear than the resistive one, in terms of excitation voltage variation.

The frequencies of 1 kHz and 5 kHz are chosen according to the spec sheets, but a detailed story will be also explained in the next section. We will also fix the test signal amplitude as 1 V, where both sensors (particularly the capacitive one) become flat in amplitude and phase response.

Figure 2. LabOne Sweeper shows sweeps of test signal from 10 mV to 1 V (a) on the resistive humidity sensor at 1 kHz and (b) on the capacitive humidity sensor at 5 kHz. 


Determine the working frequency

To understand the working mechanism of these sensors, we use again the LabOne Sweeper module, but this time to sweep the frequency. Although the lowest frequency of MFIA is 1 mHz, a starting frequency of 1 Hz is chosen, as we want to prevent the impedance change caused by the RH change in the environment over the lengthy measurement at low frequencies.

In the Bode plot of the resistive sensor (blue trace in Fig. 3a), we see the phase close to 0 deg at 1 kHz or lower, where one can approximate the sensor to a resistor. A second measurement from 50 Hz to 1 kHz (frequency range specified by the manufacturer) is done immediately afterward, which shows a slight decrease in impedance with almost the same phase in the red trace. Given the RH does not change over the measurement period (confirmed by the capacitive sensor), this decrease is likely caused by the local temperature change, i.e. ohmic heating due to the resistive behavior of the sensor.

In the Nyquist plot (Fig. 4a), we see clearly that the 50 Hz – 1 kHz segment (red trace) corresponds roughly to the knee frequency, where the charge transfer resistance (of about 369.8 kOhm in the blue trace) locates. An RC semicircle is observed above 1 kHz, indicating the difficulty of charge transfer in the sensing material. Below 50 Hz, the Warburg element starts to play a role, likely due to the diffusion of proton ions in the conductive polymer matrix. Interested readers are referred to the Grotthuss mechanism (proton jumping) for more details [3].

In the Bode plot of the capacitive sensor (blue trace in Fig. 3a), we see a good capacitive behavior close to -90 deg below 10 kHz. Phase roll-off happens above 10 kHz, which likely originate from the parasitic inductance due to contact. In capacitive sensors, the sensing material is typically a hydrophobic polymer, which changes its dielectric property upon absorption of humidity (water vapor). This process is more linear than proton jumping, meaning the capacitive humidity sensor should have a higher precision than the resistive counterpart.

In a second sweep from 5 kHz to 300 kHz, which the manufacturer recommends, we see the red trace almost perfectly overlaps the blue one, and even being masked in the vertical line in the Nyquist plot. Since the capacitive sensor works effectively as a capacitor, ohmic heating is unlikely and the measurement is more repeatable. Using a frequency higher than 10 kHz is however less ideal, as the phase starts to strongly deviate from -90 deg.

Figure 3. Bode plots of (a) the resistive and (b) the capacitive humidity sensor. Full frequency sweep (blue trace) is done at first, followed by a second sweep in the specified frequency range by the manufacturers (red trace). The resistive sensor shows a slight decrease in the impedance in the second sweep.


Figure 4. Nyquist plots of (a) the resistive and (b) the capacitive humidity sensors. Note that the decrease of impedance in the resistive sensor (red trace) becomes more visible on this scale.


Look at the measurement on both fast and slow timescales

Unlike other sensors, humidity sensors are relatively slow, with typically a response time (usually defined as RH dropping by 66%) of a few seconds [5]. This is mainly because the mixing of humid by convection, diffusion, or other means takes time. In addition, the absorption and desorption processes on the sensing material also take long to equilibrate. Thankfully, the slow response makes sweeps (frequency or amplitude) more stable, less perturbed by the change in the environment after the initial condition is set.

By introducing a blast of warm and moist air to the two sensors, we can use the LabOne Plotter module to look at their response time. In both sensors, it takes about the same period to reach minimal impedances. However, the recovery time differs significantly: about 100 s in the resistive sensor and only about 10 s in the capacitive sensor. Note that the data transfer rate on the MFIA even in continuous mode can go up to 53 kSa/s, corresponding to ~20 us in resolution. Using this rate ensures that the transient decay measured from the sensors is intrinsic, rather than from instrumentation.

Figure 5. The LabOne Plotter module shows the impedance decrease and recovery of (a) the resistive humidity sensor and (b) the capacitive humidity sensor.


It should be mentioned that there are also interests to study the RH over a long period. Using the LabOne Plotter, impedance data (related to RH) can be easily stored and displayed on a timescale of up to 12 hours. Should you need a measurement longer than that, you will find the data streaming function or the LabOne APIs very helpful. The slow data streaming can be set as in Fig. 6. In the config tab, the ‘Sample’ under the impedance node should be selected. Other information nodes can also be added for completeness. This means it is possible to record the temperature (or other parameters) during the measurement if the temperature sensor has an analog output that can be read by the MFIA.  Demodulator nodes can also be included to register the current and voltage, which may be useful for troubleshooting at a later stage. Note that the data transfer rate plays a key role in the saved file size. A low rate of 0.1 Sa/s is recommended for continuous recording over days (for instance, a CSV file can store at most 1048575 rows). Also, it is recommended to fix the input range in manual mode and enable the discard sample feature, to prevent occasional spikes during the recording.

Alternatively, LabOne API users can make use of the ‘Poll’ command. Taking Python for example. The included file ‘’ in the zhinst package shows how to use ‘Poll’ to extract impedance data over a user-specified duration. Simply using a loop with a sleep time between each ‘Poll’, an even slower data logging becomes possible in such a ‘gated’ way.

Figure 6. Screenshot of LabOne showing the location in the config tab where the streamed data can be configured. The Impedance Analyzer module is used to configure the measured impedance signal at a fixed frequency.


How to convert the impedance parameters to RH?

Even without precise control of the humidity and temperature in the testing environment, the correlation between the measured impedance and RH can still be done in a limited range by referring to another calibrated humidity sensor (Sensirion SHT31, Digikey part number 1649-1024-ND) that can log the RH during the measurement. In Fig. 7 below, we see a good match between the derived conductance from the resistive humidity sensor (using the aforementioned data streaming in LabOne) and the RH from SHT31. In this RH range, a simple linear relation of 𐤃RH (%) = 2.05*𐤃Conductance (μS) can be established.

The MFIA can resolve 5 digits after the decimal place in μS, which corresponds to an RH change of 0.00002%. This means the resolution when measuring with the MFIA is 500 times higher than the reading from SHT.

Figure 7. The conductance of the resistive humidity sensor measured by the MFIA, overlaid with the RH from a third-party calibrated sensor.



This blog post describes resistive and capacitive humidity sensor characterization with the MFIA. We have shown how to determine the excitation voltage and working frequency using the LabOne Sweeper module, to study the temporal response using the LabOne Plotter module, to save the impedance data using the LabOne streaming function or API, and finally to correlate the impedance data to RH. To briefly summarize, the capacitive sensor wins in all aspects: precision (linearity), repeatability, and fast response.

If you have further questions or suggestions, please get in touch.



  1. Wikipedia Hygrometer Entry.
  2. Humidity Sensors: A Review. Sensor Letters, 2005.
  3. Zurich Instruments Blog: Better Amplitude Accuracy with MFLI Analog Adder. 
  4. Humidity Sensors: A Review of Materials and Mechanisms. Sensor Letters, 2005.
  5. Fast-response ionogel humidity sensor for real-time monitoring of breathing rate. Materials Chemistry Frontiers, 2019.