Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, a web toolkit designed to help citizens, conservation practitioners, municipal decision-makers, researchers, educators, and students advance knowledge and stewardship of fresh water. New to EnviroDIY? Start here

USB SDI-12 Interface

Home Forums Infrastructure and Equipment USB SDI-12 Interface


Viewing 2 reply threads
  • Author
    • #1569
      Danny Waz

        Inspired in part by S Hicks’s SDI-12 Sensor Display (and in part by how much trouble it was to debug a custom SDI-12 device), I built a handy little interface based on an Arduino Nano and SWRC’s SDI-12 library. Just connect the GND and SDI-12 data lines to your SDI-12 bus under test, plug the interface into a USB port, and open up HyperTerm/PuTTY/MobaXTerm/your terminal of choice. You can use it to spy on a bus, watching all the commands from the datalogger and responses from the sensors. You can also use it as a master to manually send commands to force a measurement or debug a sensor.

        But wait, there’s more: in verbatim mode with feedback turned off, it simply stands between a serial bus (your USB) and an SDI-12 bus, transparently translating everything it hears. So if you want to connect an SDI-12 sensor to your PC/Raspbery Pi and implement something in Python (or whatever), you can! Just send SDI-12 commands (aM!, aD0!, etc.) as serial messages, and don’t worry about all the electrical and timing specifics of the SDI-12 protocol.

        As far as hardware projects go, this is as easy as they come! It’s a Arduino Nano with wires soldered to GND and D2. Hammond Manufacturing makes a tiny enclosure (1551USB2GY) that just so happens to friction-fit an Arduino Nano board with a little coaxing (i.e. push really hard). File a groove for the wires to exit, add a drop of epoxy for strain relief, and button it up! I’ll try to make the software available soon if there is interest.

      • #1573
        Danny Waz

          I should mention that when I was about 90% done with it, I discovered Vegetronix offers something similar off-the-shelf. However, I am benefiting from some advantages to my approach:
          1. It is customizable, which is especially useful for integration into custom applications on the host PC
          2. Total cost was ~$15

        • #1760

            Hi , Any updates for it to go public ?


            • #1761
              Danny Waz

                The code is publicly available in my GitHub (link). For it to work, you will need my fork of the EnviroDIY SDI-12 library in your Arduino/libraries folder. At the time of this comment, it is ahead of EnviroDIY:master and fully backward-compatible, so it will not break your old sketches if you are already using that library.

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