1. Introduction
The use of low-cost, open-source electronics prototyping, and do-it-yourself (DIY) platforms, has become increasingly common across all fields of science, in which needs for tailor-made solutions in budget-tight situations are recurrent. The Arduino platform [
1] is among the most popular electronics prototyping platforms, with myriad applications reported in the literature, such as smartphone-integrated systems for environmental measurement [
2], agricultural applications [
3,
4,
5], landslide monitoring [
6], meteorological applications [
7], systems for indoor environmental monitoring and control with various types of sensors [
8,
9,
10,
11], Internet-of-Things (IoT) temperature and humidity systems [
12], temperature and humidity measurements inside concrete structures [
13], air quality monitoring [
14], and custom-made printed circuit boards (PCBs) for various laboratorial automation [
15].
This work introduces an open-source, low-cost, eight-channel data-logging system for temperature and humidity monitoring named HIGROTERM, based on DHT22 (AM2302) sensors [
16], describing its hardware components, assembly process, source code development, operation guidelines and an example of application.
The HIGROTERM system was developed in the context of real needs found in the Laboratory of Material Testing of the Department of Civil and Environmental Engineering at the University of Brasília, for teaching and researching activities. The need to monitor the temperature and humidity, two of the main environmental variables in building material studies, at many points in several environments simultaneously was common in many research projects conducted at the laboratory, being requirements of many standardized tests [
17,
18,
19,
20]. The environments also varied in size and location: it could be the monitorization of several points across an entire room or many small experimental chambers or boxes located in a workbench. In this way, a multichannel sensor data logger system, capable of measuring temperature and humidity from small sensor nodes, with flexible deployment, seemed to be the appropriate solution to these problems.
Commercial off-the-shelf solutions for temperature and humidity monitoring were considered inefficient, due to either high costs of multichannel data logger systems and sensors, or the impracticability of usual single stand-alone remote sensors, which may be too bulky to monitor small environments, or rely on batteries that run out too quickly. An attempt was made to write this paper as accessible as possible to non-experts in electronics, so as to contribute not only to the widespread use of HIGROTERM systems, but also of prototyping electronics systems for real problem solving in different scientific communities.
2. Materials and Methods
2.1. System Requirements and Design
The HIGROTERM system was designed to be a multichannel data logger for temperature and humidity sensors that meets some basic requirements, devised to aid the task of monitoring and controlling laboratorial environments. The following requirements were outlined for the system:
The system should be, at the greatest extent possible, developed in open source and easy-to-use platform to favor the widespread across the scientific community;
The system’s hardware and software were to be both low-cost because budget limitations are common in research projects;
At least eight simultaneous sensors’ channels were to be supported by the system, because it was deemed sufficient for the current needs at the Laboratory of Material Testing at the University of Brasília, but its design should enable the easy addition of more channels;
A tailor-made user interface was to be incorporated to the system, based on a liquid-crystal display (LCD) touch screen that allows the user to easily configure the system in an on-demand approach, without the need for any additional equipment, such as a computer, as commonly found with other systems reported in the literature [
8,
9,
10,
12,
15];
The collected data were to be stored in physical media with wide compatibility with other systems, to facilitate data transfer;
The date and time of each sample was also to be recorded, to enable reconstruction of the data history;
The system would be powered by a wall socket because such availability is reasonable in a laboratorial environment and ensures a long-term running system.
In order to quickly obtain a first working prototype, the HIGROTERM system was built using the Arduino platform, a low-cost and easy-to-use prototyping hardware and software platform for electronic systems [
1]. The Arduino platform comprises several types of prototyping boards, each containing one microcontroller unit (MCU) and the circuitry necessary for peripheral controls and interfaces, and to upload source codes by using a computer. The boards are conceived in a way that allows the building of electronic control systems to be virtually reduced to a simply plug-and-play hardware process. The platform also provides an integrated development environment (IDE) for programming the MCUs contained in all Arduino boards with a C++/C based language. Many ready-to-use source codes are available online, and there are many solid online support communities. In this way, the development of electronic systems using Arduino boards is simplified and accessible for users lacking a strong electronics and programming background.
Among the available prototyping boards in the Arduino platform, the Arduino MEGA board was selected for the development of the system [
21]. The MEGA board can be considered an intermediate-performance board in the Arduino platform, with an ATmega2560 MCU of 16 MHz [
22], in a board with 16 analog pins, 54 digital pins, 4 kB of EEPROM memory, 8 kB of RAM memory, and 256 kB of Flash memory. The MEGA board is internally operated in 5 V and can be powered with a 7–12 V external power source. The choice of the MEGA board was driven by the system’s requirements: (i) #3, which required large number of digital pins for multiple temperature and humidity sensor channels; and (ii) #4, because the MEGA board has off-the-shelf interface solutions for LCD touch screens based on shields, which are boards designed to be directly plugged on the top of Arduino boards, in a plug-and-play fashion, without requiring use of soldering or other type of specialized connections [
23] which, thus, also comply with the easy-to-use system’s requirements #1.
For complying with the system requirements #5, #6 and #7, SD and Real-Time Clock modules compatible with the Arduino platform were used. These modules, similarly, to the LCD touch screen shield, work in a plug-and-play fashion.
2.2. Overall System Design
In its first version, the system was mounted with jumper cables in a solderless breadboard, for easier prototyping.
Figure 1 shows the HIGROTERM system prototype, in its current development state. In the figure, the jumper cables are not fully shown for better clarity, and the same colors are used for cables that are connected to the same trail lines.
The main parts of the system, as indicated in the figure, are: (i) an LCD touch screen for user interfacing with the system; (ii) an SD card slot, which is, in fact, integrated on the LCD touch screen shield; (iii) an intermediate interface shield, which allows connecting the LCD touch screen shield, operated internally at 3.3 V, directly to the Arduino MEGA board, operated internally at 5 V; (iv) the Arduino MEGA board; (v) the solderless breadboard; (vi) a Real-Time Clock (RTC) module, which is able to precisely track the time and date, even if a power shortage occurs; (vii) DHT22 sensors for temperature and humidity measurements; and (viii) a 12 V power wall socket. Further details about the hardware components are presented in the following sections.
Once the system was fully functional, the solderless breadboard was substituted with a solderable breadboard, in which the jumper cables and other components were directly soldered. This was performed to increase the system reliability under use, because the solderless breadboard would be prone to short circuitry or the disconnection of cables if the system was mishandled.
3. Results and Discussions
The HIGROTERM source code, hardware design, schematics, and other useful documents for mounting and usage, are available in its GitHub repository [
24]. All the related documents for the HIGROTERM system have been released under the terms of the MIT license [
25], chosen so as to provide the system with the fewest restrictions possible. However, the HIGROTERM source code uses external libraries developed by third parties, which are released under myriad different licenses. The most restrictive among them is the CC BY-NC-SA 4.0, which does not allow commercial use [
26]; therefore, readers interested in using the HIGROTERM system should comply with the implications of this licensing.
3.1. Hardware and Electronic Schematic
Figure 2 presents a general schematic, in an exploded view, of the hardware components of the HIGROTERM system and how they are assembled. In this figure, the solderable breadboard, used in the final version of the system, is presented, instead of the solderless breadboard illustrated in
Figure 1 with the use of the solderable perfboard and how they assemble. The blue arrows indicate how solderless pieces fit together. The components are numerically identified to provide better reference in the text. Additionally, for the sake of clarity, just one DHT22 sensor is shown in
Figure 2, although the (viii) sensor connections for the other seven sensors are still illustrated in terms of connectors soldered on the solderable perfboard.
The (i) LCD touch screen shield used was from the TFT_320QDT_9341 model, which comprised a single printed circuit board (PCB) containing: a 3.2-inch, 240 by 320 pixels thin-film transistor (TFT) LCD screen controlled by an integrated ILI9341 controller; a resistive touch screen controlled by an integrated XPT2046 controller; and a (ii) standard SD card socket. This PCB operated at 3.3 V and contained 40 pins that were used to interface with the MCU. The Arduino MEGA works internally at 5 V; therefore, a voltage level conversion was required on each of the 40 pins of the TFT_320QDT_9341 PCB. This task was performed by the intermediate (iii) voltage level conversion shield, from the TFT LCD Mega Shield V2.2 model. This shield transferred the 40 pins of the LCD PCB to 50 pins distributed along the Arduino MEGA board layout. As shown in
Figure 2, these components were simply stacked together on top of the Arduino MEGA board, and no soldering was required to produce reliable connections.
The (iv) RTC module used is based on a DS3231 chip [
27], built in a ready-to-use module, and the temperature and humidity sensor was a capacitive-type (v) DHT22 module, which is also identified as AM2302 [
16]. To provide a reliable connection between these components and the Arduino MEGA board, a (vi) solderable perfboard was used as an intermediate connection medium. In it, jumper cables sockets were soldered to receive jumper cables that came from the MEGA board and from the components. In addition to improving the circuit organization and reliability, the solderable perfboard aided the connection of (vii) 10 kΩ pull-up resistors, i.e., resistors between the power and data lines, required by the DHT22 modules.
The DHT22 connections to the Arduino MEGA board were performed by three-pin screw male-female 2EDG model terminal connectors, for better system flexibility and reliability. In this way, the Arduino MEGA pins were connected to 2EDG female connectors, and three wire cables, produced with 2EDG male connectors at one end and female Molex-type KK 254 connectors at the other end, were used to connect the system to the DHT22 sensors, which were soldered to male Molex-type KK 254 connectors. Hot glue was applied to all exposed contacts to avoid short circuits and disconnections. This solution provided flexibility for the system, allowing the use of different cables, of different lengths, to connect the sensors for various purposes and monitoring tasks, while also enabling the future replacement of damaged sensors without requiring any modification to the system and cables themselves.
To facilitate the comprehension of the system wiring,
Figure 3 and
Figure 4 present an overview of the system wiring in a solderless breadboard and the electronic schematic, respectively. The LCD touch screen is the only component not shown, because it simply stacks upon TFT LCD Mega Shield V2.2 model, not requiring further details about its connection. The schematic is based on the pin numbering used on the source code available on its GitHub repository [
24].
The RTC module required four connection wires: a 5 V power and ground wires, for powering up the module; and SDA and SCL wires connected to the SDA and SCL pins of the Arduino MEGA, i.e., digital pins 20 and 21, respectively, for data transmission using the I2C protocol.
The DHT22 modules required three connection wires: a 5 V power and ground wires, for powering up the module; and a wire connected to an MCU input/output pin for data transfer, because this module uses a custom single-wire protocol. The protocol was based on digital signals; therefore, the module’s data pin should preferentially be connected to an Arduino’s digital pin, although analog pins can also be used.
For more practicality in mounting the system, a printed circuit board (PCB) was designed, as illustrated in
Figure 5. This PCB required only direct soldering of the Arduino MEGA board to it, which may be performed with stackable pin headers instead of the traditional headers, the 2EDG female connectors and the RTC clock module. The use of this PCB required no jumper cables and allowed the system to be compacted into a 150 mm long, 80 mm wide, and approximately 50 mm tall box. The schematic of this PCB in Gerber format, which is ready to be sent for the PCB production, may be downloaded from the HIGROTERM official GitHub repository [
24].
3.2. Source Code
The Arduino platform allows a microcontroller unit (MCU) to be programmed using the Arduino IDE (integrated development environment), which uses a C++/C-based language and is currently available for Windows, Linux, Mac OS and as an online Web Editor [
28]. Using this IDE, the user can write, compile and upload the source code to the MCU if the Arduino board is connected to the computer via a USB port. The source code implemented on the IDE is saved under the
ino format, which is called an Arduino File.
This format allows the source code to be divided, for better organization, in multiple Arduino Files, which are sequentially appended during compilation accordingly to the alphabetical order of their file names. This strategy was adopted in the HIGROTERM source code, dividing its 3080 lines of code into 37 Arduino Files. These files were named with an alphanumeric prefix so as to maintain the correct order for compilation. Additionally, alphanumeric naming was used to create file groups that refer to correlated functions, aiding navigation throughout the code and future implementations.
Figure 6 presents the flowchart of the source code algorithm. The source code was designed based on the navigation of the user through a set of six screens, indicated as dashed-line background boxes in the flowchart. Each screen is defined by its graphical elements and a set of actions the user can undertake while in it.
Figure 7 presents the six screens, as well as the three possible states of the Monitoring Table Screen, in which the data logging and visualization occurs, which thus constitutes the main screen of the HIGROTERM system.
3.3. Enclosure Case
The whole system was enclosed in a rigid plastic case, as shown in
Figure 8. The option for a case led to greater user-friendliness, because systems built in a raw prototype fashion, with exposed cables and contacts, may be intimidating for users with no background in electronics, while also being more prone to damages to the circuitry. The case comprised an off-the-shelf rigid plastic case for general-purpose electronics, with perforations made with a high-speed rotary drill to enable mounting of the system. Although being a very accessible option, in economic and technical terms, for creating the system enclosure, this technique resulted in less-than-perfect finishing due to the difficulty in performing these tailor-made perforations.
To increase the quality of the enclosure finishing, 3D printing, or plastic injection manufacturing techniques may be used either for fabricating the whole enclosure or just for finish frames to be inserted around the perforations made. The LCD touch screen and Arduino MEGA board were screwed to the plastic case, while the 2EDG connectors were fixed with hot glue on the openings made. Holes were made to enable connection of an external power source plug and access of the Arduino Mega programming port, via USB, which enabled easy update of the system source code.
The inside of the HIGROTERM case, showing the hardware component connections, is shown in
Figure 9. In
Figure 2, for better image clarity, the RTC module is shown directly attached to the solderable perfboard. In fact, the RTC module was connected to the perfboard with jumper wires as well, similarly to the 2EDG and Arduino MEGA board, so as to better accommodate the system inside the available space of the plastic enclosure box, as shown in
Figure 9.
3.4. Bill of Materials
Table 1 presents the bill of materials required to build one unit of the HIGROTERM system, with eight sensor channels, including the sensors themselves. It was estimated to need a 1.25 m of cable per sensor, which resulted in a total of 10 m for all eight sensors. The estimated costs were taken randomly from different websites and may vary significantly, and shall be used only as guidance on the overall cost, because time and place factors may greatly influence the values listed.
The total cost of USD 136.00, with all sensors included, demonstrates that the low-cost requirement was achieved, because this value is many times lower than currently available commercial solutions for eight-channel temperature and humidity monitoring systems. Considering that almost 30% of this cost is only the sensor modules, the data-acquisition system can certainly be considered as low-cost, with an estimated cost of USD 96.00. Additionally, as the number of channels increased, the low-cost advantage is even more evident, because additional channels can be added with little effort and small increases in costs.
3.5. Validation
In order to preliminarily validate the performance of the HIGROTERM system, simultaneous measurements on the same environment were performed with the system, and a commercial digital thermohygrometer, model K29-5070H manufactured by Kasvi, whose main characteristics, accordingly to the manufacturer, are: internal and external measurements via measurement probe; temperature range of −10 °C to +50 °C for internal measurements, and −50 °C to +70 °C for external measurements; humidity range of 20% to 99% RH, and accuracy of 1 °C and 5% RH [
29]. Comparatively, the DHT22 sensors used with the HIGROTERM system have the following characteristics, accordingly to the manufacturer: temperature range of −40 °C to +80 °C; humidity range of 0% to 100% RH, accuracy of 0.5 °C and 5% RH, and precision ±1%RH and ±0.2 °C [
16].
Commercial digital thermohygrometers are the go-to solution adopted so far in research and teaching activities in the Laboratory of Material Testing; therefore, its measurements were considered as references. Both sensors were placed in the same environment, which had average temperature and humidity during the test, of 26.4 °C and 28%, respectively, and 10 measurement sessions were performed, approximately every 5 min with each sensor. The measurements of the commercial system were composed of a single sample manually registered from the display value, because the system does not have a logging capability, whereas the measurements of the HIGROTERM system were composed of 10 samples taken every 2 s, so both accuracy and precision could be evaluated. The temperature and humidity errors were computed as:
In which denotes the modulus or absolute value of the argument, is the average temperature or humidity obtained from the 10 samples taken by the HIGROTERM system, and
is the temperature or humidity measured by the commercial reference system. Additionally, the standard deviation of the temperature and humidity measurements of the HIGROTERM system were computed, as an estimate of the system’s precision.
Figure 10 presents the results of the validation in terms of error and standard deviation observed in each of the 10 measurement sessions of temperature and humidity.
The validation results indicated that the accuracies obtained were very close to those informed by the DHT22 manufacturer, with values observed within 0.4–0.6 °C against an accuracy of 0.5 °C, for temperature, and 0.3%–1.6%, against 5%, for relative humidity, considering the commercial device as a reference. Moreover, the standard deviations seemed to be well within the manufacturer’s informed precision of 0.2 °C and 1%, with values observed within 0–0.05 °C for temperature, and 0.06%–0.25% for relative humidity. These results demonstrated the HIGROTERM system as a reliable tool for the measurement of temperature and humidity, with, at least, comparable performance to previous systems used in the laboratory.
It is relevant to stress, however, that this validation study was performed as a preliminary evaluation of the performance of the HIGROTERM system, to ensure that the system presented similar values to the monitoring system used so far in the laboratory, and no attempt was made to metrologically characterize the system or to verify the manufacturer’s specification. This analysis has been deemed sufficient for the uses in which HIGROTERM was employed so far within the Laboratory of Material Testing at University of Brasília; however, more strict applications may require complete characterization of the system and DHT22 sensors, with the incorporation of correction factor charts within service temperature and humidity range, full static and dynamic characterization of the sensor, and other relevant characteristics, with some studies describing calibration campaigns for temperature and humidity sensors [
30,
31].
3.6. Application
Since its development, the HIGROTERM system has constantly been used in the Laboratory of Material Testing at University of Brasília, mostly to monitor the temperature and humidity during material tests that are highly sensible to environmental variables and that must be performed in controlled environments, such as mortar drying and salt crystallization tests [
17,
18,
19,
20].
These tests require a climatically controlled chamber that can maintain constant temperature and humidity values throughout the tests. Commercially available equipment that guarantee the constancy of environmental variables within the variation limits stated in test standards commonly employ the active control of temperature and humidity and can be relatively expensive. To enable these tests within budget-tight research projects and teaching activities, an alternative was devised with the use of a small room within the core of the Laboratory building, for better heat and humidity insulation, with a dedicated air-conditioning system to maintain constant temperature, and sealed test containers, of various sizes, into which were positioned recipients with magnesium chloride solutions specially dosed to maintain the test chamber environment within given limits of relative humidity, which is a methodology investigated elsewhere [
30,
32]. In this context, the HIGROTERM system is a valuable tool for flexible monitoring temperature and humidity in various points inside test containers and around the test room, to ensure that all relevant environmental variables were within the variation limits required by the tests. With previous systems, such as the commercial system used in the validation stage of this work, this task involved many obstacles, such as high costs because various single-channel systems were necessary to monitor all locations; impossibility to monitor small containers due to bulky equipment; and inexistence of a data logging scheme that could allow later analysis of the history of measurements.
Figure 11 presents the illustration of the test setup employed in various tests performed in the Laboratory of Material Testing. Referencing
Figure 11, because of the flexibility of small sensor nodes combined with cables of different lengths, the HIGROTERM system enabled monitoring of small containers, such as Nodes 1 to 4, large containers or laboratory chapels would require more than one sensor to fully represent the ambient condition, such as Nodes 6 and 7, and even points across the room, such as Nodes 5 and 8.
Figure 12 presents examples of data obtained during a test campaign performed at the Laboratory of Material Testing, during an experiment of mortar drying.
Figure 12a presents an example of the raw data file which is saved in the SD card in a .csv format, which can be opened with any text editor software.
Figure 12b presents the data already tabulated in a spreadsheet, which can easily be obtained with the automatic formatting of .csv files widely available on spreadsheet-editing software.
Figure 12c,d present the temperature and humidity history obtained during a mortar-drying test campaign, which used seven of the eight available channels of the HIGROTERM system, as shown in the graph. From
Figure 12d, the differences in the humidity history between channels H2 and H5 can be observed, which were used to monitor the sealed test containers that had controlled humidity at around 50% RH due to the magnesium chloride solution, and the other channels, which were used to monitor the whole laboratory room. The room was subject to changes in humidity due to daily cycles and the entering of personnel to conduct the experiment; therefore, a higher variability could be observed in their data in comparison to H2 and H5 nodes.
It is relevant to note that in the applications used so far with the HIGROTERM system, the laboratorial environment was relatively non-aggressive to the system itself and generally non-hazardous. No hazardous agents that could interfere with its functioning or cause accidents were present in the Laboratory of Material Testing, such as excessive vibration, electromagnetic induction, and inflammable or explosive agents. In this sense, the HIGROTERM system was not tested or certified in such environments; therefore, it must be used with caution and at discretion by the user, especially in harsh environments.
3.7. Future Developments and Potentials
Some future developments and potentials can be devised from the current implementation of the HIGROTERM system. The PCB presented in this work may be further developed to include only the minimum components of the Arduino MEGA and circuitry connection of the RTC and sensor modules. By undertaking this approach, all hardware would be soldered in a single board and may be ordered already mounted from PCB manufacturers, providing scalability for the fabrication of a series of systems and miniaturization features required in some laboratorial or field applications.
Further capabilities may be incorporated to the HIGROTERM system. An emergency power source management to deal with power outages may be required when the data logging must not be interrupted. This could be achieved by using a battery and an appropriate circuitry that switches on when the external power source is off and recharges itself when the external power source is on. Additionally, wireless connectivity may be of interest when the user desires to remotely monitor the data logging in real time, and solutions for this using the Arduino platform or similar boards can be found in the literature [
9,
12,
13,
15]. The HIGROTERM source code and hardware may also serve as a basis for systems with other objectives, such as environment control systems to simulate a given temperature and humidity condition or history. This can be performed by associating the sensor measurements to the control of power loads such as heaters, coolers, humidifiers, and dehumidifiers.
The number of sensor channels may also be easily increased because, based on the presented implementation, there are still 4 digital pins and 14 analog pins available in the Arduino MEGA. The DHT22 requires just one digital or analog pin to communicate with the MCU and power and ground lines, while presenting a maximum current drain of 1.5 mA [
16]. In this way, all available digital and analog pins may be used as sensor channels. However, such modification also implies modifying the system source code, so the larger number of sensor channels can be properly handled, both on the channel configuration, data storing, and LCD displaying routines.
Although the HIGROTERM system was designed using the Arduino MEGA board, the hardware described, and the system source code are compatible with other boards. Successful tests have been performed with the Arduino DUE board, which is a board with similar layout but with better specifications in comparison to MEGA. The main restriction is the size of the sketch, which currently occupies 131,232 kB of Flash memory. For other boards, the number of pins required to connect the LCD touch screen, RTC and sensors must also be considered.
As already stated, no tests for safety certification were conducted with the HIGROTERM, which is, therefore, not considered an industrial equipment. To allow more general uses of the system, it is necessary to perform the required tests to ensure that the system meets the appropriate safety requirements.
4. Conclusions
This paper presented the HIGROTERM system, an open-source, low-cost, multi-channel data-acquisition system for temperature and humidity measurement and logging, with an easy-to-use interface based on an LCD touchscreen developed with the Arduino prototyping platform. Comprehensive details about the system, including its design, source-code logic, hardware assemblage, bill of materials, and capabilities were provided to allow the interested reader to fully replicate the system or even further develop the current system to fine-tune it to particular tasks or add useful functionalities. Validation results and an application example were also presented, so the readers can acquire a preliminary notion of the system accuracy and precision, and devise ways in which the system may be useful for their own activities. The authors expect that the HIGROTERM system may be especially useful in budget-tight researching and teaching activities and, from its replication by the community, may be a source of innovation and interest in low-cost electronics for real problem solving in various fields of science.