SDI-12 for Arduino > Pages > Notes on SDI-12, Specification v1.4

Notes on SDI-12, Specification v1.4

Overview

SDI-12 is a communications protocol that uses a single data wire to communicate with up to 62 uniquely addressed sensors. So long as each sensor supports SDI-12, mixed sensor types can appear on the same data bus. Each address is a single character. The valid ranges are 0-9, a-z, and A-Z. Only the datalogger can initiate communications on the data bus.

It does so by pulling the data line into a 5v state for at least 12 milliseconds to wake up all the sensors, before returning the line into a 0v state for 8 milliseconds announce an outgoing command. The command contains both the action to be taken, and the address of the device who should respond. If there is a sensor on the bus with that address, it is responsible for responding to the command. Sensors should ignore commands that were not issued to them, and should return to a sleep state until the datalogger again issues the wakeup sequence.

Connection Details

Physical Connections:

  • 1 data line (0v - 5.5v)
  • 1 12v power line (9.6v - 16v)
  • 1 ground line

Baud Rate:

  • 1200 bits per second

Data Frame Format:

  • 10 bits per data frame
  • 1 start bit
  • 7 data bits (least significant bit first)
  • 1 even parity bit
  • 1 stop bit

Data Line: SDI-12 communication uses a single bi-directional data line with three-state, inverse logic.

LINE CONDITIONBINARY STATEVOLTAGE RANGE
marking1-0.5 to 1.0 volts
spacing03.5 to 5.5 volts
transitionundefined1.0 to 3.5 volts

While a series of bits is being transmitted on the dataline, the voltage level on that line might look something like this:

      _____       _____       _____       _____       _____     spacing
5v   |     |     |     |     |     |     |     |     |     |
     |  0  |  1  |  0  |  1  |  0  |  1  |  0  |  1  |  0  | transition
Ov___|     |_____|     |_____|     |_____|     |_____|     |___ marking

For more information, and for a list of commands and responses, please see SDI-12.org, official site of the SDI-12 Support Group.