Gravity: Industrial Stainless Steel Submersible Pressure Level Sensor(0~5m)

KIT0139 throw-in type liquid level transmitter


This industrial stainless steel submersible pressure level sensor adopts high-performance pressure sensing chip, with advanced circuit processing and temperature compensation technology. The level transmitter receives different pressures at different depths of liquid, which can be converted into corresponding current signals and output through the sensor. In this way, the depth of liquid can be measured.

The shell of the transmitter is made of stainless steel, anti-corrosion and easy to clean. It can be directly placed in the liquid like water, oil or even mash with large viscosity. This product can provide a steady performance in all sorts of measurement conditions such as river, reservoir, city water supply, groundwater in urban, and basin.

We sold this product together with our Gravity: Analog Current to Voltage Converter(4~20mA). The converter can convert current into voltage signal which can be read by your Arduino controllers or other controllers. The throw-in type liquid level transmitter can be used in waterworks, refinery, sewage disposal work, construction, light industry, mechanical and so on.


Board Overview

KIT0139 throw-in type liquid level transmitter Board Overview
Num Label Description
1(red) VCC Positive pole
2(red, thick) AIR PIPE Air guiding tube
3(black) GND Negative pole
KIT0139 throw-in type liquid level transmitter Board Overview
Num Label Description
1 GND Power Ground
2 VCC Power Positive(3.3~5.5V)
3 Signal Voltage Signal Output
4 I+ Current Input
5 I- Current Output


This tutorial introduces the usage of level transmitter with current-to-voltage module, which converts the current signal output by the sensor into a analog voltage signal. The Arduino UNO reads this analog voltage signal and converts it to corresponding depth.

Measurement Principle

When the liquid level transmitter is put into a certain depth of some liquid, the pressure at the end of the sensor is

KIT0139 throw-in type liquid level transmitter Measurement Principle

The atmospheric pressure P0 on the liquid surface is introduced into the back chamber of the sensor through the air guiding tube to offset the atmospheric pressure P0 at the end of the sensor, so that the measured pressure of the sensor is P'=P-P0=ρgh. Therefore, if the liquid density ρ and the acceleration of gravity g are known, the liquid level depth h can be calculated by measuring the pressure P'.

The pressure measured by the liquid level sensor is then amplified and compensated by the circuit and output with a standard 4-20 mA current signal. The relationship of output current of the liquid level transmitter, output voltage of the current to voltage module and depth are shown below:

KIT0139 throw-in type liquid level transmitter Measurement Principle


  • The depth ranges, voltages and currents shown in the figure are for pure water. If other liquid is to be measured, the density of the liquid needs to be considered. The specific conversion relationship is shown in the sample code.

Connection Diagram

KIT0139 throw-in type liquid level transmitter Connection Diagram


Sample Code

      DFRobot Gravity: Analog Current to Voltage Converter(For 4~20mA Application)

      GNU Lesser General Public License.
      See <> for details.
      All above must be included in any redistribution

    #define ANALOG_PIN A2
    #define RANGE 5000 // Depth measuring range 5000mm (for water)
    #define VREF 5000 // ADC's reference voltage on your Arduino,typical value:5000mV
    #define CURRENT_INIT 4.00 // Current @ 0mm (uint: mA)
    #define DENSITY_WATER 1  // Pure water density normalized to 1
    #define DENSITY_GASOLINE 0.74  // Gasoline density
    #define PRINT_INTERVAL 1000

    int16_t dataVoltage;
    float dataCurrent, depth; //unit:mA
    unsigned long timepoint_measure;

    void setup()
      pinMode(ANALOG_PIN, INPUT);
      timepoint_measure = millis();

    void loop()
      if (millis() - timepoint_measure > PRINT_INTERVAL) {
        timepoint_measure = millis();

        dataVoltage = analogRead(ANALOG_PIN)/ 1024.0 * VREF;
        dataCurrent = dataVoltage / 120.0; //Sense Resistor:120ohm
        depth = (dataCurrent - CURRENT_INIT) * (RANGE/ DENSITY_WATER / 16.0); //Calculate depth from current readings

        if (depth < 0) 
          depth = 0.0;

        //Serial print results


The depth of liquid the sensor detected will be constantly displayed on the Arduino IDE serial monitor.(Unit: mm)


If you have any questions about using this product, please check the FAQ list for that product for a corresponding solution. For any questions, advice or cool ideas to share, please visit the DFRobot Forum

More Documents

DFshopping_car1.png Get Throw-in Type Liquid Level Transmitter from DFRobot Store or DFRobot Distributor.

Turn to the Top