Home › Forums › Infrastructure and Equipment › USB SDI-12 Interface
- This topic has 3 replies, 2 voices, and was last updated 2016-10-24 at 11:10 AM by Danny Waz.
2016-06-17 at 4:24 PM #1569
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.
2016-06-17 at 4:34 PM #1573
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
2016-10-23 at 4:48 PM #1760SultanpepperParticipant
Hi , Any updates for it to go public ?
2016-10-24 at 11:10 AM #1761
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.
- You must be logged in to reply to this topic.