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

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.