Portability, ease of use, robustness, and system cost are important parameters in designing flexible measurement systems. To this end, we introduce a cost-efficient and open-source measurement system based on consumer hardware for measuring air properties such as temperature, humidity, particle concentration in order to determine indoor air quality, thermal comfort, or air pollution. Cost and energy efficient sensor modules are integrated into an USB-based measurement interface that supports a wide range of communication protocols including Serial Peripheral Interface, Inter Integrated Circuit, Recommended Standard 232 and Recommended Standard 485. Moreover, the system provides a web interface and an application programming-interface that enables real time access to sensor data. In this paper we present the design of the hardware set-up, an overview of the sensors supported so far, and the software architecture as well as application examples.
Export citation and abstract BibTeX RIS
Original content from this work may be used under the terms of the Creative Commons Attribution 4.0 license. Any further distribution of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI.
Indoor air-quality and comfort are critical factors for human health and well-being, considering that people in the United States and Canada spend 87% of their time indoors and 6% in a vehicle [1]. Elevated CO2 concentrations and the comfort in offices and school buildings negatively affect work efficiency [2] or learning [3]. Hence, air properties such as temperature, air quality, and humidity play an important role in a person's comfort in a building or vehicle [4]. In addition, high concentrations of respirable particles increase carcinogenic risk, or the prevention of airborne particles is an important factor in the control of respiratory diseases such as SARS-CoV-2. All of these influencing parameters are of interest to public health and are considered in the development of ventilation design to increase safety and comfort, as well as to reduce overall energy consumption. Therefore, a cost-effective and easy to use measurement system that determines the relevant air properties and additionally meets the requirements for the necessary measurement accuracy is highly desirable.
In industrial and scientific environments, additional requirements for data acquisition (DAQ) systems are long-term stability, robustness to environmental influences, and overall cost. Although industrial-grade DAQ meet these requirements, they are mostly developed closed-source and do not allow access to or changes in the internal signal processing. Additionally, when devices are no longer supported by the manufacturer, system maintenance is often difficult or impossible and, in the case of network-connected devices, can even become an IT security risk. In large-scale set-ups the measurement at multiple sites requires high numbers of sensors and may conflict with the available budget. Citizen and open-science projects aim to make findings available to a wider audience [5] and to enable the reproduction of experiments, with a reasonable balance between costs and benefits. Specialized measurement systems limited to a small number of transducers have been proposed for the use in citizen science projects, for instance, to monitor drinking water quality [6], light pollution [7], or air quality [8]. Educational application in schools often utilize the internal sensors of smartphones due to their ubiquity, like e.g. PhyPhox [9]. Similarly, universities are using single-board computers such as the Raspberry Pi or micro-controllers (i.e. Arduino platform) for teaching because they can be programmed easily and with low hardware costs [10]. Although there are open-source particle detectors that require high measurement frequencies to measure cosmic showers [11], most open-source systems focus on environmental quantities e.g. temperature, humidity, or aerosol-concentration, with sampling rates on the order of 1 Hz. Open-source systems have reportedly been successfully implemented to monitor the performance of solar thermal collectors [12], access the indoor climate of data centers [13], or to operate a seawater distillation facility [14].
An overview of the implementations of low-cost measurement systems up to 2014 has been given by Urban [15]. It summarizes the hardware configurations used in measurement projects (which ones?). The review focuses on the area of analytical chemistry and detection of biological specimen. It presents applications of miniature systems that full-fill a specific purpose i.e. to detect Salmonella bacteria in drinking water [16].
In 2015 Arnold et al [17] proposed a temperature measurement system with up to eight thermocouples and a multiplexer connected to an Arduino. One year later in 2016, Avallone et al [18] developed a system with 30 digital temperature sensors to detect the temperature distribution in a solar thermal panel. Although the number of small form factor sensors has increased dramatically over the last decade, the accuracy of these sensors is often poor and compatibility with other sensor types is lacking. The issues are addressed by Panagopoulos and Argiriou [12], who suggest a system with higher temperature accuracy by using ten resistance temperature detectors (RTDs) and added sensors to quantify wind speed, humidity, solar irradiance, and liquid mass flow. They applied a wireless communication between the main processing unit and the micro-controllers operating a transducer and facilitate Message Queuing Telemetry Transport ( MQTT ). This makes it easier to add additional devices to the network, but requires updates to be performed individually on each measurement node. It slows down prototyping and the implementation of new software features. Additionally, the communication might become unstable for environments with strong electromagnetic fields such as passenger compartments with a large number of cellular phones.
To overcome the issues, a mobile, open-source, and cost-effective multi-sensor measurement platform has been developed at the institute of aerodynamics and flow technology at the German Aerospace Center (DLR) using off-the-shelf parts and open hardware-designs. It supports machine-to-machine (M2M) communication via an application programming-interface (API) and MQTT, the implemented sensor interfaces are: Inter Integrated Circuit (I 2 C), Serial Peripheral Interface ( SPI ), Recommended Standard 232 (RS232), and Recommended Standard 485 (RS485). I 2 C and SPI are common to the modern Internet of things (IoT) in consumer and industrial applications. The system features are: portability, ease of use and robustness, and a single system operates with more than 100 sensors. Beside the features listed before, the system stands out for its cost efficiency. The average cost per measurement channel using I 2 C is estimated to be approximately 10 USD (including wiring). This is significantly lower than industrial measurement systems by e.g. Keysight or portable DAQ by Dewetron. Here, the average cost is around 1000 USD per channel. Generally, these industrial measurement systems are suited for all cases presented, but offer sampling rates and accuracy beyond the requirements of intended measurement environments and are based on proprietary, closed-source drivers. As far as the authors are aware, no open-source measurement system has been reported prior to this work that is capable of reading more than 100 sensors in a single set-up while being able to measure temperature, relative humidity, volume-flow rates, absolute pressure, differential pressure, CO2 concentration in air, dew-point temperature, and voltage. In the following we introduce the system's hardware and software architecture as well as the user interface. Finally, to demonstrate the potential applications of this system we report on large-scale investigations with a variety of sensors, in buildings and vehicles as well as in an aircraft cabin under operating conditions.
2. System architecture
Most of open-source and open-hardware based measurement systems have been proposed in the past, require printed circuit board ( PCB ) [19] and pre-calibration [10]. Systems are often divided into several hardware systems, one or more of which are responsible for measurement DAQ and others for the human-machine interface (HMI) [20]. Software on more than two different systems increases the initial installation and maintenance effort. In the following, we present a system architecture that requires only a single host device that communicates with digital transducers via standard hardware and software interfaces.
Both, the in-house code and third-party software are open-source and suited for commercial and scientific applications. The source code, hardware description, and documentation are available in a public repository [21]. All sensors listed below use a uniform communication protocol and have a command set for evaluating the measured values and checking the operating states. Peripherals and wiring are standardized, readily available parts or feature an open design of the PCB used. The broad accessibility of spare parts or the ability to manufacture them yourself contributes to reduced downtime. In addition, a browser-based data visualization and control interface makes the system easy to use for a wide range of users. The range of applications extends from small-scale configurations in laboratories to large-scale set-ups with a plethora number of sensors. Thanks to this scalability, the same evaluation code, implemented in the proof-of-concept phase, can be used and deployed at industrial scale. Further, the support of a documented API ensures the integration of the system into higher-level measurement environments, into specialized visualization frameworks, or the option to control one or more copies of this system remotely. This guarantees easy integration into production chains where the measured values must be automatically converted into control units.
Device communication is done via USB and standard converters for the connection to RS232/RS485. Many low-cost transducers are based on I 2 C and SPI. The system provides these interfaces via an FT232H breakout board by Future Technology Devices International Limited with a 5 V level-shifter. However, both interfaces require a different wiring. I 2 C is based on a bus architecture, and multiplexing is required whenever there are sensors that respond to identical bus addresses. The connection of different sensors at the same multiplexer port (daisy chaining) is supported. This results in a standard DAQ unit consisting of an eight-channel multiplexer (TCA9548A) and an USB -to-I 2 C converter. If there is no electrical current limit, up to 64 sensors of the same type are supported via a single I 2 C measurement unit. Due to the bandwidth limitation of I 2 C, the polling rate decreases as the number of sensors increases. Thus, since the FT232H does not expose sufficient numbers of logical pins a 16-channel digital multiplexer is used to host 16 SPI on a single USB port. The wiring diagram is included in the project documentation [21].
Further, plug-and-play operations are supported by an automated sensor detection. The system also automatically detects whether a sensor is connected via SPI or I 2 C. Supported sensors are listed in table 1 with their accuracy and maximum sampling rate are listed. Table 1 lists only probes used in references applications, however the number of possible devices is vast. An updated list of all supported and tested devices is found in the project documentation [22].
Table 1. Measurement transducers including accessible measurement quantities (Qty.), maximum sampling rate , average accuracy, and measuring ranges. Quantities are: temperature (T), relative humidity (ϕ), volume-flow rate ( ), absolute pressure (P), differential pressure (p), CO2 concentration in air ( ), dew-point temperature , and voltage U. v represents the current measurement value.
Sensor | Qty. | Accuracy | Range | |
---|---|---|---|---|
SHT85 | 0.5 Hz | T | ±0.2 K | 0 ∘ C–80 ∘ C |
ϕ | ±1.5% | 0%–80% | ||
ADS1015 | 128 Hz | V | ±0.25% | ±6.1 V |
MAX31865 | 1 Hz | T | ±0.1 K | −200 ∘ C–500 ∘ C |
SFM3000 | 15 Hz | ±200 slm | ||
BME280 | 1 Hz | T | ±0.5 K | 0 ∘ C–65 ∘ C |
1 Hz | P | ±0.1 kPa | 30–110 kPa | |
1 Hz | ϕ | ±3% | 20%–80% | |
SDP810-128 | 0.5 Hz | p | ±3% | ±125 Pa |
T | ±2 K | −40 ∘ C–85 ∘ C | ||
SCD30 | 0.5 Hz | ±30 ppm | 0.4–10 kppm | |
T | ±0.6 K | 0 ∘ C–50 ∘ C | ||
ϕ | ±3% | 0%–95% | ||
S8000 | 0.1 Hz | Tdp | ±0.1 K | −40 ∘ C–125 ∘ C |
T | ±0.1 K | −40 ∘ C–90 ∘ C | ||
SMGAir2 | 30 Hz | T | ±1 K | 4 ∘ C–80 ∘ C |
P | −0.8–10 bar | |||
Depending | ||||
on nozzle |
To give an impression of the physical dimension of the system and its components figure 1 shows the photograph of a exemplary table-top configuration. A Raspberry Pi is used as the host device, to which an I 2 C measurement unit and a 16-channel RTD multiplexer are connected. Additionally, a particulate-matter sensor (SPS30) is directly plugged into the host and communicates via RS232. Two Pt100 are connected with the 16 channel RTD board (grey box), which consists of 16 MAX31865 (four-wire set-up), one CD74HC4067M multiplexer and one FT232H. In addition, two CO2 sensors are connected in parallel to the bridge sensor (NAU7802) and a sensor for air pressure (BME280) is connected to the I 2 C multiplexer. A SHT85 sensor for temperature and humidity measurement is linked via the BME280. Further application-related set-ups on large-scale are presented in section 3.
The software for the DAQ system is compatible with Unix-based computer systems with ARM or X86 processors, with the web interface and sensor drivers installed in sandboxed Docker containers. Figure 2 depicts an overview of the container composition within the operational host system. The containers communicate over a private network with an Nginx web server that hosts the interface to the outside world, i.e. GUI and API. Internally, the web server distributes data to the Django container, which is responsible for data processing and retrieving system status information. The results are returned to the user via web server or written to the relational time series database TimescaleDB. When the MQTT client is configured, any update to the database results in an MQTT message being sent to the broker. This interface is only capable of sending data, so manipulation of the system state is only possible through the exposed graphical user interface and API. The DAQ workers retrieve the system state and possible measurement tasks from the database and are divided into threads. Measuring data and hardware issues are reported via the database.
Measurement controlling and monitoring are possible via web interface or API, where all GUI commands of the web interface are resolved to predefined API calls. The web GUI allows: starting and stopping measurements, connecting new devices, initializing sensors, outputting of measuring data, plotting results in real-time, and exporting data via ASCII and Network Common Data Format. Moreover, the GUI offers additional settings to customize the display properties. Since users often need statistical data of the sensors sets during a measurement, the web interface provides the output of various statistical values in real time i.e. the mean value. Figure 3 shows two menus of the web interface with some of the above listed features, where image figure 3(a) is the data monitoring menu of the measured values and image figure 3(b) is the visualization menu of the probes time-series. For compatibility, all communication with a REST ful API is supported by many programming languages. This ensures integration to complement an existing set-up. Moreover, the MQTT client enables the monitoring of data via applications common to the IoT, such as Grafana or Node-RED. To simplify handling of measurements with a large number of sensors, each sensor with its specifications, such as calibration data, display settings, or sensor positions, is stored into a database. Based in this specifications an initialization is performed each time a measurement starts.
Further, the system has been tested against external disturbance such as increased vibration, high temperature gradient, or electromagnetic interference, in which sensors often become unresponsive or temporarily shut down. For instance, field tests have revealed that sensor communication is interrupted when a 40 kV electrical line at 5 m distance is powered up. After this event, the sampling frequency dropped by 20% for about half a minute. In the following, the sampling frequency returned to normal. In the event of sensor failure, the system will attempt to reinitialize missing sensors and will continue measurements of that sensor after the connection is re-established. The device control unit restores only threads with malfunctioning probes, while other threads remain operational. Similar to this, the system responses to disconnections with re-initialization attempts until the device is plugged in again or replaced. System-critical code for the software is written using test-driven development to ensure that readings are retrieved, converted, and stored correctly.
3. Applications of the measurement system
To the end, we present application examples to make the reader aware of the wide range of possibilities.
To assess the risk of infection due to airborne pathogens such as SARS-CoV-2, measurements of aerosol dynamics were performed in aircraft cabins [23], train cars [24], or generic classroom-configuration. In these measurements, the dynamics and concentration of an exhaled aerosol, that consists of an dispersed artificial saliva, were determined by more than 70 optical particle-matter sensors. Moreover, the system's flexible design and low power consumption enabled in-flight measurements exclusively by power banks in airplane passenger compartments of an Airbus A320, a Boeing B737 and a Boeing B787. For these investigations the measurement time range from one up to eight hours without interruption with sampling rates of approximately 1 Hz.
To quantify energy efficiency, air quality, and passenger comfort the system, was applied for compartments resembling aircraft [25], vehicles [26], and train cars [27]. The determination of these multidimensional quantities require spatial and temporal measurement of temperature, humidity and CO2 concentration. Typically measurements were carried out with up to 90 sensors and measurement times up to eight hours at sampling rates of about 1.5 Hz.
To investigate the latent and sensible heat transfer in mixed convective airflow with phase transition it is of utmost importance to determine the water vapor mass in humid air precisely [28]. The number of sensors in these experiments is 85 consisting of four different probe types with a sampling rate of approximately 1 Hz. Here, the systems function of the system is twofold. On the one hand the API monitors and controls the boundary conditions of the set-up and, on the other hand, it records the time series of measured variables. In addition, it is used for automatic sensor calibration of 32 capacitive humidity sensors by means of highly accurate dew-point mirrors. The high precision reference dew-point hygrometer provides an accuracy of 0.1 K for dew points starting at −40 ∘ C–90 ∘ C. Its price is about 10 000 USD and it has a reaction times more than 1 min. By means of the dew-point mirror a calibration of low cost humidity sensors. SHT85 sensors, priced at about 30 USD, are used for this purpose, with response times of less than 10 s, however, a they have a dewpoint deviation of 1 K 1 . An automatic calibration at the beginning of each measurement achieves an accuracy of 0.15 K. With this method, it is possible to obtain measured values at a scientific level with inexpensive transducers. Furthermore, a shorter response time is additionally achieved here. Of course, a cost-intensive reference device is still required for calibration, but for setups with a larger number of sensors, this example shows that accurate measurements are possible with this DAQ system, even if the price of the measuring devices is orders of magnitude lower than that of the precision reference.
4. Conclusion and future development
In this paper, we present an open-source measurement system that features are portability, ease of use, robustness, and low system cost. The field of application for that system is vast, including citizen science projects, application-related investigation on large-scales, or fundamental research on laboratory-scales. The system supports sensors using the communication protocols SPI , I 2 C, RS232, and RS485 and the host communication is realized via USB and a FT232H integrated circuit. In addition, the systems provides real time measurement controlling and monitoring via web interface or API and a MQTT client enables communication via applications common to the IoT. Result and sensor information are stored in a database and are easily accessible via web interface or API. All functions and components, of the system are well-proved and tested on a wide field of application. Future work is focused on enabling wireless transmission of sensor data and supporting TCP / IP measuring devices. We cordially invite readers to participate in the development and testing of the system.
Data availability statement
No new data were created or analysed in this study.