-  EN  |  DE  -

PiDS - the different π-Pressure-Sensor

Welcome to the PiDS - a smart pressure sensor based on the Raspberry Pi and REBOL.
This webpage provides some information about a further developement of TGD-Consulting in the field of embedded hardware and software solutions for the Raspberry Pi and is intended for all users, makers and developers who like to use their Raspberry Pi as a level gauge or water level indicator by using a differential pressure sensor.

You can purchase an officially licensed bundle of the "PiDS-It!" management software at a price of €29.99 EUR only here. The software bundle already includes all necessary modules (web server, pressure sensor, archive & plot) of the management software, which are required for a level gauge or a water level indicator for tanks and cisterns based on the Raspberry Pi.

The software runs on all Raspberry Pi models. The modular concept of the "PiDS-It!" management software is ideally suited for the new multi-core architecture of the Raspberry Pi 2 and uses the additional computing power optimally.

The "PiDS-It!" management software features in particular
  • amazingly simple setup
  • small memory footprint (<1MB)
  • efficient, modular, smart application
  • user space operated embedded web server

The hardware that is shown on the following photos are only for illustration and example as a PiDS can look like and how it is assembled. Please purchase the required hardware from the respective manufacturers or through their distribution channels. TGD-Consulting offers only IT services and software solutions.

You want to make your own PiDS based on our "PiDS-It!" management software? Then purchase a license and read on to find out ...

As a quick start you'll get here directly an answer to the most frequently asked questions:

More answers to questions can be found in the FAQ.

The term PiDS stands for π-Druck (Pressure)-Sensor and represents the extension of an ordinary Raspberry Pi to a via web interface controllable differential pressure sensor. PiDS is highly versatile and uses the well-known and field-tested software modules of PIUS. But due to the different measuring method an additional customized software module is used to record the measured values of the pressure sensor. PiDS can be used as PIUS either to measure the groundwater level
PIDs as groundwater level meter: Example of groundwater hydrograph
, for monitoring of tanks, rainwater collection barrels and cisterns or for logging the water level of standing/floating aquatic environments. These application example are described below.

All important functions of PiDS are controlled and monitored even from afar by using a browser from any PC, tablet or smartphone. Find out live the ease of use and advantages of the π-Pressure-Sensor and convince yourself right here and now on the Internet from the "PiDS-It!" management software, its simple operation and the extensive configuration options. Here you see a

PiDS in action: 

The PiDS user interface.

The system price of PiDS including all required components is juast over 100,- EUR. That figure already includes the cost for the license of the "PiDS-It!" management software. The version of the PiDS shown on this page consists of the following components:

PiDS prototype 

PiDS protoype with case open.

The external appearance of our prototype of the PiDS is characterized by the black pressure sensor and the air-filled hose. Due to the size of the MPX5100DP pressure sensor the installation in an ordinary Raspberry Pi plastic housing is a bit cumbersome. However, each component of the PiDS can still be single-handedly assembled by any ambitious users with a little skill. All parts can be ordered directly from the Internet. The sources of supply are partly linked in the above lists. We are using a Raspberry Pi Model 2 for our prototype of the PiDS, which is extended by a MCP3008 A / D converter and the MPX5100DP pressure sensor. This enables you to create your own self made low-cost smart digital level gauge device.

Weatherproof and suitable outdoor housings for the Raspberry Pi are known to be quite expensive, therefore, it is recommended to connect the pressure sensor via an arbitrary 3-wire cable to the Raspberry Pi and to one of the input channel of the A/D converter if required. Thus even longer distances between pressure sensor and A/D converter or Raspberry Pi can be bridged. If the cable quality is right, this works for lengths up to 20m without any problems.
The pins 2 and 3 of the pressure sensor are directly connected to the 5 volt supply voltage and ground of the P1 pin header of the Raspberry Pi. At pin 1 of the MPX5100DP semiconductor component is in accordance with its operating characteristics a voltage analogous to the differential pressure. This analog signal is to be connected with one of the input channel of the A/D converter. The MPX5100DP sensor is specified for a differential pressure range up to 100 kPa (about 10 m hydrostatic head) and has an accuracy of 45mV per 1 kPa. Up to a depth of approximately 7m the A/D converter can be directly wired, as the reference voltage (3.3V) of the A/D converter is not exceeded. Only at a higher water column, a voltage divider is required to lower down the output voltage of the pressure sensor to the permitted input voltage of the A/D converter. If a longer cable is used, then the voltage divider has to be placed on the RPi-site in close proximity to the input of the A/D converter. The exact wiring of the differential pressure sensor is shown below at the circuit diagram

Caution: If you get unexpected system hangers during operation, this indicates a too weak power supply for the Raspberry Pi. Then replace the PSU with a stronger and more reliable one.

When mounting the components into the case short circuiting must be avoided. While installing the A/D-Converter and the pressure sensor pay careful attention, that no unwanted connections to live lines arise. This may damage your Raspberry Pi. In particular during the installation of the Raspberry Pi and especially with semiconductor devices is to ensure that appropriate protective measures against static discharges are taken.
The ethernet port (only availabe for Model 2 and B+) and the USBs port on the Raspberry Pi (all models) are freely accessible, so that the π-Pressure-Sensor (PiDS) can be connected either via CAT cable or USB wireless adapter to your own LAN. At the moment our prototype of the PiDS looks from the inside like this:

PiDS inside 

Breadboard wiring diagram of the PIDS prototypes
PiDS - magic by design.

Measuring the height of a water column by a pressure sensor is in principle quite simple and is based on the hydrostatic pressure. Through an air-filled hose (or filled with a different compressible gas mixture) whose length is more than twice the height of the maximum to be detected water column, the hydrostatic pressure of the water column is passed to the MPX5100DP differential pressure sensor for detection. For this purpose both ends of the hose must be located above the water surface. One end of the hose is firmly connected with the right hose connector of the sensor, the other end is hermetically sealed. Then the center of the hose is sunk with the help of a weight to the bottom of the cistern or tank. The air in the hose gets noticeable compressed due to the hydrostatic pressure within the water column and so detected by the pressure sensor. First, however, a short calibration of the measurement system has yet to be carried out to simulate the pressure of an empty cistern / tank. For this purpose only the atmospheric pressure may act on the previously sealed hose and the PIDS-It! management software is to start once. Please refer to the FAQ for further and exact details on calibration.

In addition, a low diffusion hose should be used which over time is not getting more and more porous so that neither air can escape nor liquid can penetrate. Otherwise the accuracy and long term stability of measurement decreases and the measurement system may need to be recalibrated. By the way an influence of air pressure does not matter for the chosen measurement method, because only the differential pressure is detected by the sensor and converted to an analog voltage. A smart REBOL3 script, the pressure sensor module, controls and evaluates the signals digitized by the A/D converter.

The advantages of level measurement by pressure are obvious. Measurements are relatively simple and reliable and have a good accuracy at low fault tolerance. Even fluctuating temperatures and atmospheric pressure changes are compensated by the sensor. The MPX5100DP pressure sensor is inexpensive and available for less than ? 20, - Euro. It features a measuring range of up to 10m depth of water with a maximum accuracy of 10 cm / kPa. The pressure sensor requires a supply voltage of 5 V and has an operational current consumption of less than 10 mA. Therefore, it can be powered directly from the pin header P1 of the Raspberry Pi with electricity.

The central core of the PiDS is the "PiDS-It!" management software, which in addition to a Web server module also includes the pressure sensor module as well as the Archive & Plot module. With the help of the latter PiDS-It! is archiving all measured data and prepares them for graphing as a plot. The plots are automatically drawn every night shortly before midnight and provided as resources for one page of the web server. The clearly arranged daily, weekly, monthly and annual charts (see above) can be increased by clicking. The pressure sensor module requires a spidev Python module. It is available on Github under Open Source. The other constituents of the management software are closed source and require the purchase of a license.
The software requires a REBOL3-interpreter/runtime environment. Those who like can even compile themselves the source code of the REBOL3 interpreter for the Raspberry Pi. The master branch is released under the Apache2.0 license on GitHub. Alternatively, a ready-made binary for Raspbian can be downloaded right here from our website.

The operation of PiDS-It! done easily via a standard web browser. The web server module handles the entire communication and control. An integrated search function enables easy and fast search for historical readings. It also provides an additional status function ("... a nice gimmick ..."), which among other things records the temperature of the SOC of the Raspberry Pi for the last 10 hours and represents it as a temperature profile. Just click at the corresponding π at the bottom of the page and find out how warm it is about inside the PiDS.
In addition to this gimmick you are configuring all the essential functions of PiDS via the web server module. Starting with the indication of the capacity of the cistern used, over the sampling rate of the pressure measurements and up to the identification of possible maintenance intervals as well as the optional event control, all important parameters of the system settings are configured centrally from the browser.
By using the universal event control

example of a LED level meter based on the event control
any configurable events (GPIOs, e-mail or shell commands) can be level-dependent controlled. For example, an automatic water make of the cistern or a level-dependent garden irrigation using magnetic valves or pumps can be easily realized by additional GPIOs and relay modules. Also, a notification e-mail in case of an empty or full cistern is possible in this way.
An overview of the various configuration options can be seen on the following image.


The PiDS configuration interface (PiDS-Settings).

Note: By factory default the configuration interface (PiDS-Settings) is only reachable within the same network segment as the PiDS. If necessary, this can be adjusted according to your own security requirements. If no address for the Admin IP nor an IP range is specified, the π-Pressure-Sensor is configurably from any IP address! Optionally, you can set the access control by an individual combination of user and password.

There are countless types of cisterns and tanks in many different designs from different manufacturers, an exact calculation of the current volume proves to be difficult. The "PiDS-It!" management software calculates the volume linearly to the configured maximum capacity and can therefore be used without any further adjustment for cisterns and tanks in rectangular or cubic shape as well as for vertical cylindrical tanks. Other designs can be easily integrated via bearing charts. The volume is adjusted individually based on a bearing chart (mapping table per CSV file) to the local nature of the cistern. The software bundle already includes bearing charts of cisterns from the following manufacturers:

Use the following link to purchase a license of "PiDS-It!" and to acquire the software itself. The license for the software bundle already includes the limited, nonexclusive right to use the respective modules. An additional license fee for each module is not necessary anymore. Nevertheless when needed you can also purchase volume licensing of our software in addition to individual licenses for the respective modules ( Pressure Sensor / Archive & Plot / Web server ). Detailed information on prices or volume discounts for volume licensing are available upon request.

Prerequisite: A recent Raspbian image on SD card with gnuplot and spidev Python module installed. The Serial Peripheral Interface (SPI) of the Raspberry Pi must be enabled in the kernel.

Installation & Start: It's an amazingly simple setup. The software is delivered as a tarball, which only has to be unpacked (tar xvf PiDSIt.tar) and PiDS-It! is ready for use on the Raspberry Pi. By manually calling the shell script ./PiDSIt.sh start all PiDS-It! modules on the Raspberry Pi are started. Of course, this script can also be used as an init script to start PiDS-It! automatically within the booting process of the system. But you can even run individually the PiDS-It! modules as an alternative to the shell script. By entering ./bin/r3 PiDSIt.r & in the shell the Archive & Plot-module as well as the pressure sensor module are started. The launch of the web server module is provided by this command ./bin/r3 Webserver.r & . However, we recommend at least the integration of the web server module as respawn process in the /etc/inittab . This offers the advantage that the web server module restarts each time it has been killed.

Usage: As already mentioned above, the continued use and configuration of the PiDS-It! management software is amazingly simple. It is primarily done by using the browser on pc, tablets or smartphones. Simply enter the IP address of the Raspberry Pi in conjunction with the port of the web server module as an URL in the browser ( eg: ) and go for it. Everything else is self-explanatory or reveals itself by itself.

We hope you are just as convinced of the benefits of PiDS and from the smart design of the software as we do. If you have any questions, requests or suggestions for improving PiDS or the "PiDS-It!" management software, we are looking forward to your inquiry.

You are interested in a level indicator on the basis of a low cost ultrasonic measurement method, then click here


You want to know more about our projects and other software? Then visit also these sites:


  -   Copyright 2014-2020 by TGD-Consulting   -   FAQ   -   PiDS powered by Serve-It! TNG   -