SDI-12 to USB Translator Buy Now

SDI-12 to USB Translator

Quickly turn your PC into a SDI-12 compliant data logger, with the Vegetronix SDI-12 USB translator board.

The translator will connect to your PC through a USB interface, and allow you to communicate with SDI-12 compliant sensors with simple serial commands.

The USB port emulates a serial port so you can use any serial port communication program such as Termite, RealTerm, or HyperTerminal to communicate with the device through a command line interface. You can also write your own software programs to communicate with the translator board, and merely need to target a serial port.

The translator allows you to pass through SDI-12 commands, or you can set up the on-board scheduler, and it will retrieve data at specified intervals.

The low power board is powered directly from the USB cable.

We also have an RS232 to SDI-12 translator which may be of interest.


  • Ultra-fast prototyping of SDI-12 sensor networks.
  • Replacement of expensive data loggers.
  • Environmental/Weather monitoring.
  • Control and monitoring of irrigation systems.
  • SDI-12 testing of sensors.


  • Affordable.
  • Fully SDI-12 compliant.
  • Sends SDI-12 commands and passes back the responses.
  • Powered from the USB interface.
  • Low power.
  • Can be used with any serial communication program.
  • Command line interface.
  • Can interface with up to 62 SDI-12 sensors.
  • 4 mounting holes in each corner.

Pricing and Ordering Info

We ship to nearly EVERY COUNTRY on the planet, directly to you from our factory.

99% of orders ship same day.

Part Number Description Price Purchase
SDI-TRANS-USB SDI-12 to USB translator $115.95 Buy Now

Contact us for volume pricing information.


Power consumption < 50mA
Supply Voltage 5V from USB cable
Dimensions 1.5in x 2.0in
Supported number of sensor 62

Other Vegetronix Products of Interest

Wiring Table

Terminal Block TB1 (SDI-12 INTERFACE)
Pin Description
2 SDI-12 Bus

Software Setup

A serial communications program must be used to access the translator. While thetranslator will work with most any serial communications program, we recommend Termite for Windows and only provide support for it. If you are having dificulties, get it working with termite first, then switch to your desired program.

When you plug a USB Comm device into your computer it will randomly assign a comm port number. To determine which comm port the device has been assigned to do the following:

  1. Open Windows device manager. This can be access through the control pannel.
  2. Plug in the USB device. You should see the device under the tree node labled: "Ports (COM & LPT)"
  3. When you un-plug the USB device, that device should disapear. You now know the correct comm number.
Now that you have the correct comm port number for the device, you can setup Termite:
  1. Open the Termite Program.
  2. Push the "Setting" button on the too bar.
  3. Select the comm port that you determined from the steps above.
  4. Set the Baud Rate to 9600.
  5. Data bits should be 8.
  6. Stop bits should be 1.
  7. Parity should be none.
  8. Flow Control should be none.
  9. Under the "Transmitted Text" group box, select "Append CR".
  10. Select Okay to close the Settings box.
  11. Put the cursor on transmit text line, at the very bottom, and type random text, and hit the enter key. Thetranslator should respond with an error message. At this point you know that the settings are correct, and you can start sending correctly formatted commands.


You can setup the board to act as a data logger and to sample the various sensors at periodic times, by using the "ADD" command, or you can use the transparent mode, and send the sensors any SDI-12 text string that you desire. "<CR>" as used below means carriage return with no line feed. Some communication software programs have an option to automatically send a line feed with the carriage return. Make sure this feature is disabled.

Command Description
H Help - Lists all of the available commands
ADD [sensor number (0-9)]:[Measurement number], [sample period (in seconds, 0 for no sampling)],[use CRC (1:true/0:false)], [Type (0:Normal,1:Concurrent,2:Continuous)]<CR> Add a sensor/measurement number to the scheduler which periodically goes out and samples the specified sensor and measurement. You can specify sample period, and type, and if you want to use CRC.

Example: ADD 0:0,120,0,0<CR> - sensor 1 is sampled every 2 minutes without CRC.

DEL [sensor number (0-9)]:[Measurement number]<CR> Remove a sensor/measurement from the scheduler.
START<CR> Turn on the scheduler and begin sampling for each sensor/measurement added using the ADD command.
STOP<CR> Turn off the scheduler and stop sampling.
QUERY [sensor address (0-9)]:[Measurement number]<CR> Returns the information specified by a particular ADD commands, and SDI ID string.
V<CR> - Returns the version Number of the SDI USB Translator. (Current Version: V2.6)
READ [sensor address (0-9)]:[Measurement number]<CR> Perform immediate measurement.
TRANS [String]<CR> Transparently sends a string to SDI bus.
DATA [sensor number (0-9)]:[Measurement number]<SDI values> Response from logger to measurements.

Error Codes

If your sensor is working correctly you should never see these error codes.

Error Description
ER: (2) response The sensor has returned an unexpected number of parameters 'n' from the sensor response: atttn\r\n
ER: (3) response The sensor has returned an invalid time 'ttt' from the sensor response: atttn\r\n

USB Drivers

Determine your board revsion by looking at the silk screen on the board. Most windows systems already have these drivers installed.
Board RevisionDriver Link
Rev J or Higher: Proflic USB Driver
RevA through Rev H FTDI USB Driver

Quick Start Guide

  • Install and configure a serial terminal program on your computer such as Termite.
  • Plug the translator into the USB port. You will see its LEDs blink briefly.
  • Make sure the serial terminal program has the correct USB comm port selected.
  • From the serial terminal program send a carriage return (CR) by pressing the enter key. The translator should respond with an error message.
  • Wire a single SDI-12 Sensor to the SDI-12 bus of the translator, and make sure your sensor is powered.
  • Send an address query command in transparent mode by sending the following string from your terminal program:
    • T ?!             // The sensor should respond with its address.
  • You can send the sensor other SDI-12 commands in transparent mode such as:
    • T 0M!            // Measurement command.
    • T 0D0!           // Get data command.
  • Make sure each of your sensors have a different address so that there is no conflict on the bus. You can change the sensor address with the change address command. The following example assumes that the sensor is currently at address 0, and you want to change it to address 1:
    • T 0A1!             // The sensor should respond with its new address.

How to Get Started

The best way to get started is to order a few sample translators and relay boards and try them out in your application. Contact us now to purchase samples.

Buy Now