South Dakota State University
South Dakota Climate and Weather

HOW TO: Make Stevens Hydraprobe soil temperature and moisture sensor (analog)
work with CR10X datalogger and AM16/32 multiplexer

Created: Chirag Shukla
Status: Original author
Date: 06/30/2009
Audience: General/Novice

Revision History: 0.0 (Initial Draft)
Purpose: Stevens Water Monitoring System manufactures soil monitoring sensor called the Hydraprobe analog. These sensors measure soil temperature, soil moisture, soil salinity and conductivity and are used with variety of dataloggers by several organizations that study climate and weather. CR10X and CR1000 dataloggers made by Campbell Scientific are used on weather stations managed by South Dakota State Climate Office for weather and climate monitoring. Hydraprobe analog is also used with the dataloggers in production setting. Initially, battery drainage appeared to be a problem when using hydraprobes but upon discussing the techniques used by the High Plains Regional Climate Center, battery drainage was eliminated. This document provides brief instruction on how hydraprobes were attached to CR10X and AM16/32 multiplexer
Usage: This "How To" is free to use and distribute with proper citation/credits and without altering this original document. If alterations need to be made, please make the updated version freely and publicly available. Add your name, date of revision, and revision history/number on the top of the original author's header before distributing the updated document. Also make available citiation of orginal document so that new users can review the updates made to this document. Any documentation derived from this document should be made available to general public at no cost to them (free)
Note: Use instructions at your own risk. The author will not be liable for any losses or damages resulting from this documentation
Keywords: Campbell Scientific, CR10X, CR-10X, CR1000, CR-1000, Stevens Water, hydraprobe, analog, datalogger, AM16/32, multiplexer, soil temperature, soil moisture

Instruments and materials:

  1. CR10X datalogger [ Purchased from Campbell Scientific ]
  2. PS-100 12v/7Ahr battery [ Purchased from Campbell Scientific ]
  3. SC-12 cable [ Purchased from Campbell Scientific ]
  4. AM16/32 multiplexer [ Purchased from Campbell Scientific ]
  5. Hydraprobe analog [Purchased from Stevens Water Monitoring System]
  6. Loggernet or PC208 or PC200W

Preliminary reading:

  1. CR10X manual, CR10X overview or CR1000 manual
  2. Hydraprobe manual
  3. AM 16/32 manual


    Case: CR10X was used for testing in the field with several sensors including 5 hydraprobes. The station was powered with a 12V 7AHr rechargeable battery. The battery was recharged with a 10W solar panel. It was noticed that the battery would drain out in a matter of a few days. Sensors, other than the hydraprobes, were removed from the wiring panel in an attempt to narrow down the sensor(s) causing the battery drainage. It appeared that hydraprobes drew 35-40 mA power. An attempt was made to move hydraprobes to an AM16/32 multiplexer followed by switching power to the multiplexer for a short time at given intervals. Measurements were taken only when the multiplexer was powered up.

  1. Ensure that the battery is good. Test the battery under load to make sure battery is not a problem source
  2. Ensure that the solar panel is wired correctly with the charging regulator/battery
  3. Change the setting on AM16/32 hardware to 4x16 mode. The multiplexer can then scan 16 input channels with 4 lines/piece
    AM 16/32 multiplexer
  4. Hydraprobe has 7 wires. Connect hydraprobe #1's wires to AM16/32
    Channel Wire color Information
    1H1 Blue (Raw Voltage 1 between 0-2.5v)
    1L1 Brown (Raw Voltage 2 between 0-2.5v)
    1G Yellow Ground
    1H2 Green (Raw Voltage 3 between 0-2.5v)
    1L2 White (Raw Voltage 4 between 0-1v)
    1G Black Ground
    T Red T = terminal strip
  5. Connect hydraprobe #2's wires to AM16/32
    Channel Wire color Information
    2H1 Blue (Raw Voltage 1 between 0-2.5v)
    2L1 Brown (Raw Voltage 2 between 0-2.5v)
    2G Yellow Ground
    2H2 Green (Raw Voltage 3 between 0-2.5v)
    2L2 White (Raw Voltage 4 between 0-1v)
    2G Black Ground
    T Red T = terminal strip
  6. Connect CR10X and AM16/32
    CR10X channel   AM 16/32 channel
    G :: GND
    C3 :: CLK
    C2 :: RES
    12V :: 12V
    5H :: COM ODD H
    5L :: COM ODD L
    G :: COM ODD G
    6H :: COM EVEN H
    6L :: COM EVEN L
    G :: COM EVEN G
  7. Jump a wire from C1 to SW12v-CTRL on CR10X
  8. Red wires from all hydraprobes will go to a terminal strip (marked as T in wiring tables above). Short the terminal strip to ensure that power going to the terminal strip also powers up all channels of the terminal strip.
    Terminal Strip
  9. Connect terminal strip and SW12v
  10. Logic: At every X minutes,
    * Activate the multiplexer using RES, indirectly by using C2 on CR10X
    * Begin a loop count (e.g. 1 to 5 for 5 sets of sensors)
    * -- (a) --
    * Step into the measurement loop
    * Advance the measurement channels using CLK, indirectly by using C3 on CR10X
    * Power up the hydraprobes, indirectly by using C1 on CR10X
    * Wait for a few milli-seconds
    * Take measurement and go back to (a). Continue this till loop ends
    * Power down the hydraprobes, indirectly by using C1 on CR10X
    * Deactivate the loop count
    * Deactivate the multiplexer using RES, indirectly by using C2 on CR10X

Here's a sample code:

; CR10X :: AM16/32 (16x4)
; G     :: GND
; 5H    :: COM ODD H
; 5L    :: COM ODD L
; G     :: G
; 6H    :: COM EVEN H
; 6L    :: COM EVEN L
; G     :: G
; C3    :: CLK
; C2    :: RES
; 12V   :: 12V
; wire from SW12 goes to terminal block
; terminal block - connect all red wires of hydraprobe
; blue/brown/yellow/green/white/black wires of hydraprobe
; go into AM16/32 (2" = #1, 4" = on)
; currently attached: 2", 8", 4", 20" and 40"

; shutting it down to save battery life

; when in the 29th minute of 30-min span, start collecting
; data from the multiplexer

26:  If time is (P92)
 1: 29       Minutes (Seconds --) into a
 2: 30       Interval (same units as above)
 3: 30       Then Do

; RES (C2) - activate multiplexer
     27:  Do (P86)
      1: 42       Set Port 2 High

; start looping - there are 5 sensors
; 2", 4", 8", 20", 40"

     28:  Beginning of Loop (P87)
      1: 0        Delay
      2: 5        Loop Count

; step 4 times in the loop - one time for each voltage
          29:  Step Loop Index (P90)
           1: 4        Step

; advance the clock
          30:  Do (P86)
           1: 73       Pulse Port 3

; power up the hydraprobe (c1/12v-sw)
          31:  Do (P86)
           1: 41       Set Port 1 High

; wait for 5 seconds after excitation
          32:  Excitation with Delay (P22)
           1: 1        Ex Channel
           2: 0        Delay W/Ex (0.01 sec units)
           3: 500      Delay After Ex (0.01 sec units)
           4: 0        mV Excitation

; measure voltage - 4 replications
; go to item 4 and press F4 for the double-dash
; to index ports to the loop counter
          33:  Volt (SE) (P1)
           1: 4        Reps
           2: 5        2500 mV Slow Range
           3: 9        SE Channel
           4: 18    -- Loc [ v11       ]
           5: 1.0      Multiplier
           6: 0.0      Offset

; power down the hydraprobe
          34:  Do (P86)
           1: 51       Set Port 1 Low

; stop loop p87
     35:  End (P95)

; RES (C2) - deactivate multiplexer
     36:  Do (P86)
      1: 52       Set Port 2 Low

37:  End (P95)


Data would get stored in location v11 (i.e. voltage #1 of sensor #1). Measurements of voltage #2 of sensor #1 will be stored in the following location in the location-table, which I have named v12. Following two measurements of voltages get stored in v13 and v14 respectively. Similarly, for sensor #5, voltages 1 through 4 are stored in v51 through v54 locations.

After the 4 voltages are collected for each of the 5 sensors, use hydra.exe from to extract meaningful soil data (temperature, moisture, salinity, conductivity) from the voltage readings. Campbell Scientific also has a P201 Hydraprobe instruction in LoggerNet that may be used to automatically store meaningful results instead of raw voltages.


  1. Mr. Glen Roebke for suggesting methods to conserve power
  2. Mr. Maughan, Mr. Jarrell, Mr. Ritter and Mr. Knox from Campbell Scientific for suggesting variations to existing programs
  3. Mr. Traum and Mr. Mann from Stevens Water for their vital suggestions on reading data from hydraprobe
  4. Mr. Berns from Iowa State University for suggesting techniques in programming CR10X


The views and opinions expressed in this page are strictly those of the author. The contents of this page have not been reviewed or approved by either the State Climate Office or the University.