Go Down

Topic: Sensor Interfacing: Soil Moisture Sensor using SDI-12 (Read 15406 times) previous topic - next topic


Hi quatch you are right I tried the softwareSerial method but can not get anything from SDI-12. But I do get data reading using the DDI serial communication protocol, which is based on 8N1 and non-inverted, and I can use other pins (right now Pin 7 as RX to receive data).If you are interested you may try this as well, the disadvantage is that you need a single pin for each sensor (maybe mux can help)..


This is true for decagon devices, I'd forgotten about it as I was also working with a stevens hydra probe (SDI version) which doesn't have a friendly DDI startup. Actually the decagon manuals have a very nice description of SDI12, easier to read I think than the official specification (I do see that the manual for the 5TE and GS3 disagree as to whether DDI is active high[yes] or active low[no]).. Of course they insist on a nonstandard 3.3V, but that can be advantageous nowadays.

As long as you only need the measurements that are pre-programmed for the DDI burst, you're golden. A multiplexer would work great, but you'll also need to be able to supply and remove power to toggle the measurements.


Hi all,

I'm considering of buying GS3 sensor from Decagon as well in order to connect it to Arduino MEGA using serial DDI (not SDI-12). And I am quite concerned about the "active-high logic levels using 0-3.6V", and then I founf this post.

My question is that if I connect the sensor directly to Serial1 in arduino mega I guess that it wont work straightaway, is that correct? And in that case, could you tell me the circuit that I would need??

I would appreciate any help.



Yeah, DDI is just normal serial. A real shame the interface isn't completely DDI..

The voltage is high enough that it should be read by a 5V arduino. You won't be able to transmit back (but with DDI there is no reason to).


Hi Guys

Long time lurker first time poster.  anyway I just made a Library that does exactly this and I would love some feedback




Hi guys,

I am new user of  Arduino Mega, is it possible for Mega to read data from different sensor? 3 sensors (soil moisture, soil temperature, ph level) specifically interface to 1 Mega Arduino. i am also thinking to used  an rf module to send this data to my PC. Could you recommend what will i used? Thank you so much.

Go Up