YSI ODO RTU X-Series Integration Guide

Real-Time Water Quality Measurements

The YSI ODO RTU Optical Dissolved Oxygen Sensor is compatible with NexSens X-Series data loggers using the Modbus-RTU communication protocol and the RS-485 sensor interface. A pre-defined script on the X-Series data loggers can detect, log, and transmit all parameters available on the sensor. Parameter data is transmitted, in real-time, at a user-specified interval (e.g., 10 minutes) to the NexSens WQData LIVE Web Datacenter. There, data is stored on customizable dashboards with statistics and graphical interfaces for each parameter. Users can download and send data reports via Email, FTP, or an API. Below is information on the settings and wiring required to integrate these sensors with a NexSens X-Series data logger.

YSI ODO RTU Optical Dissolved Oxygen Sensor product page.

Figure 1: YSI ODO RTU Optical Dissolved Oxygen Sensor integration with NexSens X-Series data loggers.




Compatible Models

YSI currently offers a single model of the YSI ODO RTU, which comes with an optional conductivity sensor for automatic salinity compensation. The conductivity probe provides additional parameters such as conductivity (µS/cm), specific conductivity (µS/cm), salinity (ppt), conductivity nLF (µS/cm), and total dissolved solids (mg/L). Understanding the model and the number of available parameters is critical when creating the Modbus-RTU script.

YSI ODO RTU Optical Dissolved Oxygen Sensor product page

Figure 2: YSI ODO RTU Optical Dissolved Oxygen Sensor




Sensor Integration

Section 5 of the YSI ODO RTU manual outlines the Modbus configuration and commands necessary to create the Modbus-RTU script. The commands show the Modbus registers used to change the Modbus address and read from the available parameters. The sensor can be programmed using a NexSens RS-485 UW Sensor USB Adapter in any Modbus interface software.

1. Wiring for Communication

In nearly all applications involving NexSens integration, a connectorized UW8 plug will be added to the sensor cable, which is compatible with the NexSens RS-485 UW Sensor USB Adapter. However, users can wire the sensor using the flying leads for direct communication, or if a UW8 plug is added, the pins for the ground, power, and 485 communication are below.

YSI ODO RTU Flying Lead Wire Color*SignalNexSens UW8 Plug Pins
Green/Drain WireGround2
Red12+VDC Power5
WhiteRS-485 B7
BlackRS-485 A8


2. Setting a Unique Modbus Address

The YSI ODO RTU does not require any changes to the internal settings before detecting with an X-Series data logger, except changing the sensor to have a unique Modbus address. A custom script must match the default internal settings for proper communication. For direct communication, the sensor has the following default communication parameters:

  • Baud Rate: 9600
  • Address: 1
  • Parity: Even
  • Stop bit: 1
  • Data: 8-bit
Setting a Unique Modbus Address

If another sensor using Modbus-RTU communication is connected to the data logger, including additional YSI ODO RTU sensors, they will each need their own unique Modbus address. Below is the register information for adjusting the sensors’ Modbus address.

Read Current Modbus Address
Function 0x03 (Read input registers)
RegisterData TypeData SizePurpose
0x000032-bit Float, Big-endian1 registerRequests the current Modbus address.


Write a New Modbus Address*
Function 0x06 (Write a Single Register)
RegisterData TypeData SizePurpose
0x000032-bit Float, Big-endian1 registerWrites a new Modbus address based on a user-entered value.

*Power must be cycled on the sensor to solidify the new address.


3. Automatic Sensor Detection

After setting a unique Modbus address, a script can be generated to read the available parameters from the sensor.

X-Series Logger Detection and Script Information

During NexSens integration, a 4000-level script will be added to the X-Series data logger before shipment. If the sensor is purchased separately, contact NexSens to procure the script or create the script using the Generic Modbus Script Utility.

Note: While generating the script, the selected parameters must be a continuous register request. Thus, the script should begin with ODO saturation at register 0 and be in the order in the table below until the final parameter. Gaps in the register request will return erroneous data.

Sensor Parameters

The sensor outputs the dissolved oxygen and temperature parameters by default. Adding the optional conductivity sensor will add conductivity (µS/cm), specific conductivity (µS/cm), salinity (ppt), conductivity nLF (µS/cm), and total dissolved solids (mg/L). The manufacturer and model for the sensor are available within the script utility, which displays the default dissolved oxygen and temperature parameters. Choose Show all next to Available parameters to add the remaining conductivity sensors.

All parameters in the table below are 32-bit IEEE-754 floating point numbers in big-endian format. Each value is a combination of two registers. Values are read using a read input registers command (function code 0x04).

CONNECT Parameter NameDefault UnitsODO RTU ParameterStarting Register
DOSat%ODO Saturation0x000
DOSat%ODO Local Barometer Compensated0x0004
Temperature2°CReference Temperature0x0008
GenericmsTime Since Boot*0x000A
Sp Cond(µS/cm)Specific Conductivity0x000E
nLF Cond(µS/cm)Conductivity nLF0x0012
TDSmg/LTotal Dissolved Solids0x0014

*The Time Since Boot parameter is an unsigned 32-bit integer.


Run the Sensor Detection

Once the script is created, transfer and enable it on the data logger.

Configure Sensor Scripts

After the script is enabled, run a sensor detection to program the sensor onto the logger.

Run a Sensor Detection


Read Sensor Configuration – Confirm Sensor Detection

After ~5-10 minutes, read the sensor configuration to confirm the YSI ODO RTU and other sensors have been detected on the data logger. Thoroughly review the parameter list to ensure all parameters are accounted for and are measured in the desired units. Let the unit gather a few readings to confirm accurate and reasonable parameter data.

Read Sensor Configuration


4. Setting up WQData LIVE

Once an X-Series data logger has finished a new sensor detection, it will automatically push the sensor configuration to the WQData LIVE Web Datacenter. Follow the three articles below to create a WQData LIVE account and a project/site. Then add the data logger to the project using the included claim code.



Real-Time System Application

Real-time DO measurements from YSI ODO RTU sensors are useful in various environmental monitoring applications.

Applicable Systems

Discover applicable uses for YSI ODO RTU sensors.


Dissolved Oxygen Measurements

Learn more about dissolved oxygen measurements on the NexSens Blog Page. Blog posts specifically regarding DO monitoring systems are below:


Sensor Manual

For additional information on the In-Situ RDO-Blue DO sensor, please refer to the YSI ODO RTU Sensor Manual.