Skip to content
Guillaume Galibert edited this page Jun 26, 2015 · 1 revision

YSI 6-series Binary file format (.dat)

YSI do not provide details on the format of the binary files retrieved from their 6-series instruments. This page details my attempts to reverse engineer the file format. This information is based on a file retrieved from a 6600 V2.4 instrument.

Available Sensors for this instrument : -Temperature, -Conductivity, -Dissolved Oxygen (ROX Optical), -pH, -ORP, -Depth (shallow, medium, deep, shallow vented). -Four total optical sensors (ROX Optical DO, Turbidity, Chlorophyll, Rhodamine WT, BGA-PC, or BGA-PE).

The file consists of a header, followed by a variable number of records.

Header

NOTE: The following description is an assumption which is based on a single sample data file; this description may be rendered obsolete when I receive more data files to play with.

The header begins with 111 bytes; I am not sure what these bytes contain - there doesn't seem to be anything useful.

This section is followed by a list of the elements contained in the records which follow the header. Time is always the first element in each record, and is always present. Each entry in the list is 15 bytes, and begins with 0x42. The fourth byte indicates the element type, as listed below. All other bytes in these 15 byte fields are 0.

ID Field
N/A Time (Seconds since 1 March 1984 00:00:00)
0x01 Temperature (Degrees Celsius)
0x04 Cond (mS/cm)
0x06 SpCond (mS/cm)
0x0A Total Dissolved Solids (g/L)
0x0C Salinity (ppt)
0x12 pH
0x13 Oxidation Reduction Potential (mV)
0x16 Depth (m)
0x18 BP (psi)
0x1C Battery (V)
0xC1 Chlorophyll (ug/L)
0xC2 Chlorophyll RFU
0xC4 Latitude
0xC5 Longitude
0xCB Turbidity (NTU)
0xD3 Dissolved Oxygen (% saturation)
0xD4 Dissolved Oxygen (mg/L) from previous value

Record

NOTE This description is specific to the single data file I have at my disposal; this description will likely change when I acquire more files.

Each record is (N+1)*4 + 1 bytes in length, where N is the number of elements in each record (as defined in the header). The contents of each record is identical. Each element is a floating point value, except for time, which is a 32 bit unsigned integer. Each record starts with a synchronisation byte of 0x44. Time is always the first element in each record. All multi-byte fields are stored least significant byte first.

Offset Length Description Type Note
0 1 Sync byte uint8 0x44
1 4 Time uint32 Seconds since 1 March 1984 00:00:00
5 2 Temperature float Degrees Celsius
8 2 Cond float mS/cm
10 2 SpCond float mS/cm
14 2 TDS float g/L
16 2 Salinity float ppt
22 2 pH float
23 2 ORP float mV
26 2 Depth float m
28 2 BP float psi
32 2 Battery float V
197 2 Chlorophyll float ug/L
198 2 Chlorophyll float RFU
200 2 Latitude float
201 2 Longitude float
207 2 Turbidity float NTU+
215 2 ODO float %
216 2 ODO Conc float mg/L
Clone this wiki locally