Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, an initiative of Stroud Water Research Center designed to help people advance knowledge and stewardship of fresh water.
New to EnviroDIY? Start here

SDI-12 sniffer based on Raspberry Pi

Home Forums Miscellaneous SDI-12 sniffer based on Raspberry Pi

Viewing 2 reply threads
  • Author
    • #17362


        I have just finished my first post on my first blog 🙂  and wanted to share it with Enviro DYI community. The post is about tool for debugging SDI-12 communication. Here it is:


        I am writing it partialy for myself so I don’t have such mess in my files, notes and ideas, but I hope some people might find it useful.

        Unfortunately I am not native English speaker so please be tolerant.

      • #17363

          Wow thanks so much for sharing, and no problem with your English.  I’ve been in that situation where its difficult to debug ModularSensors/Mayfly as the software implementation using time loops is so time sensitive.

          Are you planning on using a git to store the programs with an open source license? Its very nice if you do and gives some confidence in being able to do crowd sourced testing and feeding back how it works.  🙂

          Just wondering if you are using your program with the Mayfly implementation?

          One issue to keep in mind if using the Mayfly, is that the SDI-12 is specified electrically as 0V to +5V, and the Mayfly as SDI-12 recorder/host/server implementation has a reduced electrical interface to only do 0V to +3.3V. This makes it easy to implement.  However it can mean that the SDI-12 sensor equipment doesn’t detect the incoming packet. I’ve seen this for the Insitu LT500 equipment   ~ or at least I got a non-response from some older equipment and assumed that was the reason. Similarly with the Vegetronix SDI-12 analog sensor that has been tested to the SDI-12 specification, it doesn’t respond. An earlier version of the Vegetronix SDI-12 analog sensor does respond, but that version didn’t have the CRC implementation.

          You solve the electrical interface by using the TekBox TBS03 (or at least hopefully it covers it), though I wonder if it also reports packets that are out of electrical specification?

        • #17365

            Thank you for feedback.

            I didn’t think about publishing it on GitHub at first as I felt like there are just two small pieces of Python program and it is all already available in that post. But maybe it is good idea anyway for possible issues reporting and improvements…

            I have never used Mayfly logger. When I found out about that project it was impossible to ship it to Europe. I thought I will build it myself and I still have somewhere few Mayfly PCBs, but I just didn’t have time for it in the end. I am not 100% sure, but it seems that Amazon now ships it to Europe so I am thinking about ordering one.

            Well, the sensors do not have to respond to 3.3V logic signal, right? Everything between 1 and 3.5 V is undefined state according to SDI-12 spec.

            The TekBox converter does not report packets which are out of electrical specification. It just listens to communication and that is it. It might have its issues too, but I haven’t noticed any. It definately helped so far with debugging less reliable SDI-12 devices and it captured  communication from sensors which (problematic) datalogger was not able to catch. It showed that the logger didn’t catch the sensor sesponse to D0! command and instead of repeating D0! command after timeout, it just continued with next sensor.

            The most expensive TekBox converter can also automaticaly test sensor if it is made according to SDI-12 protocol. But I think it just tests which commands are supported and their timing. I think it is really cool for sensor development. These converters are unfortunately all really expensive in my opinion.

        Viewing 2 reply threads
        • You must be logged in to reply to this topic.