SDI-12 miniUART module

The SDI-12 miniUART module is intended for those who want to incorporate SDI-12 sensors into their existing systems such as an Arduino, ESP32, or Raspberry Pi Pico microcontroller system with minimal efforts. If you are just starting with SDI-12 sensors, you are recommended to get an SDI-12 USB adapter. The adapter will help you learn the SDI-12 protocol. You can use your computer or raspberry pi with the adapter, which is really convenient. This miniUART module assumes that you already have sufficient knowledge and are ready for the next level, integration SDI-12 into your logger. The following is a breadboard example of wiring with an ESP32 dev board:

As you can see, the module is small, less than half the size of an ESP32 dev board. It requires the following connections:
- 5V: supply 5V to power the module such as from the USB or 5V rail on your dev board
- GND: ground, connect to gnd of your dev board
- TX3: This is the TX (3.3V) from the module to send information to your dev board. Connect to your dev board’s RX. The 3.3V logic works with both 5V boards such as Arduino UNO, MEGA2560, and 3.3V board such as ESP32 or Raspberry Pi Pico/Pico W
- RX: This is the RX for the module to receive information from your dev board. Connect to your dev board’s TX. The module accepts both 5V and 3.3V logic inputs so both 5V boards and 3.3V boards are fine.
- SDI: this is the SDI-12 bus. Connect to your SDI-12 sensor’s SDI-12 line.
- NC: For symmetry purposes (it’s very important to physicists) I have included a pin that’s not connected to anything. Nothing needs to be connected to it.
- Not on the module: many SDI-12 sensors work fine with 5V power supplied to them. Some require at least 9V if not the nominal 12V. Please refer to the sensor’s manual for additional power requirement. As an example, the METER group Teros 12 works with 5V supply. Some other SDI-12 sensors from the same company may require higher voltages.
The following is a playlist for everything related to the miniUART module including what it is and how to wire it up and get data from it: