A Simple, Semi-Automated, Gravimetric Method to Simulate Drought Stress on Plants

: Drought is a major constraint of global crop production. Given that drought-induced crop losses can threaten world food security, it has been and continues to be the focus of a large body of interdisciplinary research. Most drought experiments are conducted under controlled environmental conditions, where maintaining accurate soil moisture content is critical. In this study, we developed a simple, Arduino microcontroller-based, semi-automated, lysimeter that uses the gravimetric method to adjust soil moisture content in pot experiments. This method employs an Arduino microcontroller interfaced with a balance as part of a portable lysimeter and irrigation system which can weigh and record the mass of plants growing in pots, determine water loss due to evapotranspiration, and adjust soil moisture automatically to a desired relative soil water content. The system was validated with a greenhouse pot experiment using a panel of 50 early-maturity Canadian soybean varieties. Drought was induced in the experiment by adjusting soil moisture content to 30% ﬁeld capacity while maintaining control pots at 80%. Throughout the experiment, the two moisture levels were efﬁciently maintained using the Arduino-based lysimeter. Plant physiological responses conﬁrmed that plants in the drought treatment were under physiological stress. This semi-automated lysimeter is low-cost, portable, and easy to handle, which allows for high-throughput screening.


Introduction
Drought is the foremost abiotic stress that reduces plant growth and crop production throughout the world [1,2]. As the world population is predicted to surpass 9.5 billion [3] and drought risk and severity are predicted to increase due to climate change [4], future global crop production will be under significant pressure to keep pace with food demand. To supply this demand, research on drought stress is needed to improve crop resiliency and increase food production.
A wide variety of interdisciplinary studies have shown that plants exhibit a vast array of mechanisms to tolerate drought stress [5][6][7][8][9][10][11]. However, to study these mechanisms it is crucial to accurately maintain soil moisture content [12]. As it is challenging to maintain precise soil moisture in the field, most drought experiments are conducted under controlled environmental conditions. Small pot or tube-based laboratory experiments are commonly used to explore plant drought stress [13][14][15][16][17] and numerous methods were developed to adjust soil moisture content including dual-probe heat pulse, electromagnetic (e.g., time-domain reflectometry (TDR) and time-domain transmission (TDT) techniques) and gravimetric methods [18][19][20][21][22][23][24][25]. However, the most popular, direct, and accurate method used to measure soil moisture content is the gravimetric method [24,26]. The usage of other indirect methods for measuring soil moisture content depends on accuracy, cost, response time, ease of installation, and durability of the instruments [26].
Gravimetric-based soil moisture content is the ratio of the mass of the moisture present in a soil sample to the dried soil sample mass [26]. Gravimetric methods are usually more time-consuming and labor-intensive than other methods, but there is no need for expensive equipment [24], and drawbacks can be reduced by integrating computer-based automation techniques along with computational methods [21,27]. Gravimetric-based methods are used to measure evapotranspiration in pot experiments and to adjust soil moisture content to target levels [21,[27][28][29][30][31]. These methods involve frequently measuring the mass of pots and replacing transpired water to maintain a targeted soil moisture content [21,23,31]. However, the higher cost and complexity of the previous computer-based automated systems have limited their wider use for adjusting soil moisture levels in pot-based experiments.
Here, we developed a simple, low-cost, Arduino microcontroller-based lysimeter to gravimetrically adjust soil moisture content in pot experiments without the need for specialized facilities or equipment. The system measures soil moisture deficit and automatically adjusts the soil moisture content to a targeted level. We then demonstrated the effectiveness of this system with a drought experiment using a panel of 50 early-maturity Canadian soybean varieties. Ultimately, this system will reduce costs and help researchers efficiently conduct drought-related experiments.

Design and Components
In this system (Figures 1 and 2; Table 1), water loss due to transpiration and evaporation in each pot is determined and recorded based on mass, and soil moisture content automatically adjusted to a targeted moisture level. A balance was made with two load cells (20 kg HX711AD pressure sensor modules; SZYT, Shenzhen, China) attached to a 10 cm diameter plastic tray, which served as a platform to place pots A and Figure 2A). Two load cell amplifiers (HX711 load cell amplifiers; SZYT, Shenzhen, China), one per load cell, were used to amplify the signal generated from the load cells ( Figure 2B). A standard breadboard (MT Technology Co., Ltd., Shenzhen, China) ( Figure 2C) was used to connect the load cell amplifiers, a 1-channel 5 V relay module, and an Arduino R3 USB microcontroller (Arduino, A000066; Arduino SRL, Torino, Italy) ( Figure 2D) which was used to control the irrigation system. The 1-channel 5 V relay module was used to connect the Arduino to the submersible water pump (ultra-quiet, 12 V, 4.2 W; ANSELF, Shenzhen, China) and power supply (1 A 12 V DC power adaptor with US plug type; ELECAPITAL, Shenzhen, China). Following the signal given by the Arduino, the relay ( Figure 2E) connects or breaks the circuit, which turns on or turns off the water pump, respectively. A compact wire wiring connector (VENSTPOW, Shenzhen, China) was used to connect the submersible water pump and the power supply. This compact wire wiring connector was used to avoid manual soldering. The wiring diagram of the lysimeter system is illustrated in Figure 2. The submersible water pump ( Figure 2H) was placed in a reservoir and pumped water via a flexible silicone hose (8 mm diameter; UXCELL, Shenzhen, China) ( Figure 1D) to the pot following the signal given by the Arduino. A ring stand with a burette holder was used to direct the hose to the pot ( Figure 1E). To avoid water damage, the Arduino, breadboard, and relay were placed in a water-resistant plastic container ( Figure 1B). The system was connected via a USB cable (YCDC, Shenzhen, China) ( Figure 1F) from the Arduino to a laptop computer ( Figure 1C) to record the respective pot identification numbers and weights. For easy mobility, the entire system can be placed on a trolley and moved between locations within and between greenhouses ( Figure 1). All components including their specifications and sources are listed in Table 1 and Supplementary File S1, respectively.           To set up the system, Arduino IDE (https://www.arduino.cc/en/Guide/Windows, accessed on 21 November 2021) and PuTTy (https://www.putty.org/, accessed on 21 November 2021) were installed on a laptop computer. PuTTy is used as the console as it has the capability of recording the data from the Arduino directly into a text (.txt) file. Data can also be saved to the cloud by configuring PuTTy if needed.
The Arduino Uno board was coded using C++. A specific algorithm was created to carry out the moisture adjustment. The HX711_ADC library was used with the algorithm to calibrate and measure weight data from the load cells. The given calibration example code was used to find the calibration values of the load cells, and those values were included in the main algorithm at the coding stage (Supplementary File S2). As this system To set up the system, Arduino IDE (https://www.arduino.cc/en/Guide/Windows, accessed on 21 November 2021) and PuTTy (https://www.putty.org/, accessed on 21 November 2021) were installed on a laptop computer. PuTTy is used as the console as it has the capability of recording the data from the Arduino directly into a text (.txt) file. Data can also be saved to the cloud by configuring PuTTy if needed.
The Arduino Uno board was coded using C++. A specific algorithm was created to carry out the moisture adjustment. The HX711_ADC library was used with the algorithm to calibrate and measure weight data from the load cells. The given calibration example code was used to find the calibration values of the load cells, and those values were included in the main algorithm at the coding stage (Supplementary File S2). As this system To set up the system, Arduino IDE (https://www.arduino.cc/en/Guide/Windows, accessed on 21 November 2021) and PuTTy (https://www.putty.org/, accessed on 21 November 2021) were installed on a laptop computer. PuTTy is used as the console as it has the capability of recording the data from the Arduino directly into a text (.txt) file. Data can also be saved to the cloud by configuring PuTTy if needed.
The Arduino Uno board was coded using C++. A specific algorithm was created to carry out the moisture adjustment. The HX711_ADC library was used with the algorithm to calibrate and measure weight data from the load cells. The given calibration example code was used to find the calibration values of the load cells, and those values were included in the main algorithm at the coding stage (Supplementary File S2). As this system Any plastic container to hold sufficient amount of water 1

Software and Code
To set up the system, Arduino IDE (https://www.arduino.cc/en/Guide/Windows, accessed on 21 November 2021) and PuTTy (https://www.putty.org/, accessed on 21 November 2021) were installed on a laptop computer. PuTTy is used as the console as it has the capability of recording the data from the Arduino directly into a text (.txt) file. Data can also be saved to the cloud by configuring PuTTy if needed.
The Arduino Uno board was coded using C++. A specific algorithm was created to carry out the moisture adjustment. The HX711_ADC library was used with the algorithm to calibrate and measure weight data from the load cells. The given calibration example code was used to find the calibration values of the load cells, and those values were included in the main algorithm at the coding stage (Supplementary File S2). As this system consisted of two load cells, the pot weight was determined by adding the two load cell readings. Before starting the watering process, the user should upload the algorithm to the Arduino by selecting the correct code and pressing the upload button in the software. After uploading it once, the Arduino will keep the algorithm in its memory for all the other trials. The relevant C++ codes are listed in Supplementary File S2 and GitHub (https://github.com/IshanChathuranga/Arduino-Irrigation-system-for-plantmoisture-management-researchers, accessed on 21 November 2021).

Determining Soil Water Holding Capacity
Before experiments begin, soil water holding capacity needs to be determined. Here, we used field capacity as a proxy for soil water holding capacity. Field capacity is defined as the amount of soil moisture or water content retained in the soil when all excess water has drained away [32]. For this experiment, 6.52 L plastic pots were filled with a mixture of sand (QUIKRETE ® Premium Play Sand, QUIKRETE, Atlanta, GA, USA) and growing mix (Sunshine Mix #4 Gro Professional, SunGro, Vancouver, BC, Canada) (1:3 volume basis) until a final constant weight was reached (e.g., 4500 g). The bottom of each pot was lined with a coffee filter (12" Mother Parkers Coffee Filters, Mother Parkers Tea and Coffee, Mississauga, ON, Canada) to prevent soil loss. The initial weight of the dry soil (D w ) was measured after drying the soil in an oven at 80 • C until a constant weight was reached [21]. The pots were watered slowly until the soil was saturated and water drained out from the holes in the bottom. The top of the pots was covered with aluminum foil and then kept for 24 h until water no longer drained from the bottom. The final saturated weights of the pots were recorded (S w ). Field capacity was calculated as FC = S w − D w . From here, treatment weights can be calculated for a well-watered (W) and a drought (D) treatment. These treatment values (W, D) are then supplied to the algorithm using the Arduino IDE prior to the start of the experiment.

Applying Soil Water Treatments
To initiate the process, the correct Arduino code file (Supplementary File S2) has to be opened using the Arduino IDE (integrated development environment). Once the upload button is pressed in the Arduino IDE, it will upload the algorithm to the Arduino board. Then the plastic tray has to be placed on the load cells and the PuTTy console software opened on the laptop. This will run the algorithm on the Arduino Board and will open a monitor on the laptop screen which will be used to show the outputs and to send the input values to the Arduino board, also a pre-saved data entry text (.txt) file (Supplementary File S3) is opened in the laptop. The algorithm will then initiate the load cells and tare the reading with the weight of the tray. Once this operation is completed, the system will consider the weight of the tray as zero or the tare point and will ask the user to place the first pot on the tray. Once the pot is on the tray, the algorithm will start monitoring the weight readings of the load cells and will identify the peak value readings by determining the point at which the load cell readings will increase and, subsequently, slightly decrease. A minimum threshold weight value was included in the algorithm to improve the accuracy of this operation. If the user accidentally touches the pot or hits the trolley while keeping the pot on the tray, it may affect the load cells and cause the algorithm to read an incorrect peak value. However, the threshold will prevent the algorithm from reading such false peak values before it hits the actual peak weight. Once the algorithm successfully determines the initial weight of the pot, it will ask the user to enter the pot identification number on the laptop. The algorithm will identify whether the user has started typing the number of the pot or not, and it will wait until the user starts typing the pot number. For example, the pot number will denote as 010W4 or 010D4, wherein the first three numbers represent the numerical number given to the pot and the W or D character represents whether it is a well-watered or a drought conditioned pot, respectively. The coding can be modified to assign more than two moisture treatments as well (Supplementary File S4). Finally, the last number will represent the replicate number of the pot. Once the pot identification number is typed on the laptop screen, the algorithm will count the number of characters in the given pot number, then run a loop to search whether there is W or D character in the pot number. The algorithm will identify both capital and simple representations of W and D as valid characters. If it finds a W character, then it will input the prescribed weight corresponding to a well-water conditioned pot in the algorithm. Similarly, if the algorithm finds a D character, it will input the prescribed weight corresponding to the specific drought condition pot in the algorithm. If more than two treatments are needed, the algorithm is available in supplementary methods (Supplementary File S4). Additionally, if the user mistakenly entered any other character or forgot to enter any character in the pot number, the algorithm will show a notification to check the pot number and will give space to re-enter it. This loop will run until the user enters a valid pot number.
Once a valid number is entered, the algorithm will check whether the pot weight is below the prescribed weight value (e.g., 5000 g for the well-watered condition and 3000 g for the drought condition). If the weight is equal to or higher than the prescribed value, the program will ask the user to remove the pot, and the data will be saved in a database. If the weight of the pot is below the prescribed value, the program will switch on the water pump. The algorithm will continue monitoring the weight of the pot, where once the pot weight reaches the prescribed value it will switch off the water pump. Once the water pump is switched off, a portion of the residual water in the tube will fall into the pot, each user must determine the weight of this residual water prior to using this system (e.g., We measured this as 40 g) and update in the coding (Supplementary File S4). The program will terminate the water pump as soon as the weight scale hits the value of the prescribed weight minus the residual water weight (e.g., 40 g). The laptop display will show the initial weight and the final weight of the pot, and the data will be saved in the text (.txt) file. It is important to note that the weight of the residual water (e.g., 40 g) needs to be added to the final weight as the software only records the weight before adding this residual water to the pot. At the next step, the algorithm will ask the user to remove the pot and wait until the system is ready for the next iteration. This step will take around 1-2 s. However, if ≥100 g of water spilled on the tray in the previous iteration, the system will pause this step until the tray is cleaned and placed on the load cells. If <100 g of water spilled into the tray, the user can either remove the spilled water from the tray before going to the next iteration or the system will automatically tare the scale with a new tare point accounting for the weight of the spilled water. Thus, it is only necessary to clean the tray after each iteration if ≥100 g of water spilled on the tray. The algorithm is also equipped with the capacity of the water reservoir. It is advised to fill the water reservoir completely prior to the start of data collection. The algorithm will notify the user when the water reservoir is almost empty (i.e., when 2 kg of water remains), which will prevent interruptions in the water supply while the pot is being watered. This will improve the life span of the pump as it will prevent the pump from running without water in the reservoir. A demonstration of the system operating is provided in Video S1.

Validation of Arduino-Based Lysimeter
The lysimeter was tested using a greenhouse pot experiment with two soil moisture treatments maintaining the final soil moisture content at 80% and 30% field capacity (FC). The soil was mixed as above, and field capacity determined. Based on the FC data, final weights corresponding to 80% FC (well-watered) and 30% FC (drought) were calculated as 5363.4 g and 4025.9 g, respectively.
The greenhouse pot experiment was conducted using a variety panel of 50 early maturity Canadian soybean varieties. Pots were prepared as described above. Surface sterilized soybean seeds were planted at a depth of 2.5 cm in each pot (three seeds per pot; two pots per variety) and supplied with sufficient water to germinate. Plants were grown at 24 ± 2 • C with supplemental lighting (range: 500-600 µmol m −2 s −1 at the top of the canopy, Fortimo LED Line, High Flux VO), maintaining a photoperiod of 16:8 h light:dark. One week after germination, seedlings were thinned, leaving one per pot. Seedlings were inoculated with 2 mL of Bradyrhizobium japonicum USDA 110, adjusted to a rhizobial density of OD 600 = 0.1 [33]. Bradyrhizobium japonicum form root nodules in soybean and fix atmospheric nitrogen, making it available to host soybean plants. Plants were supplied with quarter strength N-free Hoagland's nutrient solution (HOP03-50LT, Caisson Labs, Smithfield, UT, USA) weekly (100 mL per pot). After three weeks of plant growth, two treatments were applied (80% FC (well-watered) and 30% FC (drought)) using the lysimeter system. One pot of each of the 50 lines was used in each treatment (n = 50 per treatment). The drought treatment was induced by withholding water until pots reached 30% FC. Moisture adjustment in all the pots was carried out based on the gravimetric method using the lysimeter until six weeks of plant growth (i.e., 3 weeks after treatments were applied).
Cumulative evapotranspiration during the drought-imposed period was calculated based on the moisture deficit (g) between the consecutive irrigation events (amount of water supplied). In addition, plant physiological traits, including photosynthesis, stomatal conductance, and transpiration, were measured using an LI-6400XT portable infrared gas analyzer (LI-COR, Inc., Lincoln, NE, USA). To measure the physiological traits, a photon flux density of 500 µmol m -2 s −1 and CO 2 concentration of 400 mol m -2 s −1 inside the chamber were maintained. Data were collected on a single fully expanded young soybean leaf on each plant in each treatment (n = 50 per treatment).
All statistical analyses were performed using GraphPad Prism Software (v9, Graph-Pad Software, San Diego, CA, USA). We compared the leaf photosynthesis, stomatal conductance, transpiration, and evapotranspiration between the drought and well-watered treatments with paired t-tests.

Results and Discussion
The semi-automated lysimeter accurately maintained soil moisture levels in both the 80% and 30% FC treatments (Figures 3 and S1). Over the course of 3 weeks, pots were weighed every 2-5 days depending on the rate of evapotranspiration, and soil moisture content was adjusted back to the targeted FC levels (Figure 3) based on the pot weight ( Figure S2). The error variance under each irrigation event may be due to differences in plant size, where the larger genotypes depleted soil water more quickly than the smaller plants. Plants in the 30% FC treatment had significantly lower stomatal conductance ( Figure 4B), transpiration ( Figure 4C), and evapotranspiration ( Figure 4D). However, there was no significant difference in leaf photosynthesis between the 30% and 80% FC treatments ( Figure 4A). Soybean plants' response to drought stress in terms of leaf stomatal conductance, transpiration, and evapotranspiration is well studied and our results corroborate previous findings [34][35][36][37][38]. Our results confirmed that the semi-automated lysimeter was effective in inducing and maintaining drought and well-watered soil conditions. Therefore, this system could be applied to other studies aimed at examining plant responses to different soil moisture levels.
Agronomy 2022, 12, x FOR PEER REVIEW Figure 3. Total pot weight and soil water content as a percentage of field capacity (FC) in watered (80% FC) and drought (30% FC) treatments over the soybean plant growth period m using the Arduino-based lysimeter. The black color represents the 80% FC treatment pot weig the orange color represents the 30% FC pot weights. Data are means and ± range (n = 50). Total pot weight and soil water content as a percentage of field capacity (FC) in the wellwatered (80% FC) and drought (30% FC) treatments over the soybean plant growth period measured using the Arduino-based lysimeter. The black color represents the 80% FC treatment pot weights, and the orange color represents the 30% FC pot weights. Data are means and ± range (n = 50). Figure 3. Total pot weight and soil water content as a percentage of field capacity (FC) in the wellwatered (80% FC) and drought (30% FC) treatments over the soybean plant growth period measured using the Arduino-based lysimeter. The black color represents the 80% FC treatment pot weights, and the orange color represents the 30% FC pot weights. Data are means and ± range (n = 50). Mini-lysimeters are portable, accurate, and effective in measuring evapotranspiration in pots [39,40]. Although other mini-lysimeters were developed to simulate drought stress in pot-based experiments [21,27], this newly described system is more portable and economical to build. All the components can be purchased for less than 200 USD and will run with a standard laptop that most research groups already have. The data collected can be automatically saved in the cloud, making it easier to handle and access. This semiautomated system is very user-friendly and does not require high technical competence to set up and operate. In the current experiment, it took ca. 1 min to complete a single pot, which included the time to bring the pot to the lysimeter, enter the pot identification number on the laptop, supply the water to the pot, and return the pot to the greenhouse bench. This time will vary depending on different greenhouse arrangements but is quite efficient. One limiting factor can be the time required to fill the reservoir when the water level is low, but this can be overcome by using a larger reservoir and having a water supply close at hand. On average, we were able to adjust the moisture content in 50 pots per hour, so in 5 working hours in the greenhouse, ca. 250 pots can be adjusted. The current system was created to implement two treatments (well-watered and drought) only; however, we supplied the necessary code (Supplementary File S4) to increase the number of treatments. Users can set up any number of soil moisture treatments while using the Arduino RAM memory efficiently.
There are some limitations associated with this Arduino-based lysimeter. This semiautomated system is not fully water-resistant as its housing was made using a commonly available plastic box. It will withstand small water splashes, but to make the system fully water-resistant, a custom-made housing compartment with water barrier passages for the wires to pass through could be made. Another alternative solution would be to use two separate and independent systems for the weight measuring load cell section and the data processing Arduino section. However, in this setup, power must be supplied separately to the two units and wireless technology would be needed to transmit the weight data to the Arduino circuitry. This would minimize the complexity of making the whole system water-resistant; however, it would increase the complexity of the system as wireless connectivity would be essential on both devices.
In the validation experiment, we did not consider the weight of the plants for adjusting the FC as the plants grew over time. To make the FC values more accurate, extra pots of plants can be grown and shoot biomass destructively measured at each water adjustment period and added to the final target weight (e.g., 80% FC = 5363.4 g + shoot biomass; 30% FC = 4025.9 g + shoot biomass) [21]. In the future, it is possible to increase the efficiency and functionality of this system. The laptop could be replaced with a small LCD display and a wireless keyboard which could make the system more user-friendly (but potentially increase the technical competence to set up the system). A barcode reader or a QR code reader could also be attached to the system to identify the pot identification numbers, improving the accuracy of the data collection and making the process more efficient [41]. To make the system fully portable, the current wall power connector could be replaced with a rechargeable battery module

Conclusions
Maintaining accurate soil moisture content is critical in drought experiments. This semi-automated Arduino-based, lysimeter, irrigation system is an economical and highthroughput system for moisture adjustment in pot experiments. It can be further developed to minimize human errors and to reduce the cycle time, which will increase productivity.
Supplementary Materials: The following supporting information can be downloaded at: https: //www.mdpi.com/article/10.3390/agronomy12020349/s1, Figure S1: Field capacity adjustment in pots growing soybean plants using the semi-automated Arduino-based lysimeter, Figure S2: Gravimetric moisture adjustment in pots growing soybean plants using the semi-automated Arduino-based lysimeter, Supplementary File S1: Orginal source of different components of the irrigation system, Supplementary File S2: C++ Code for Arduino, Supplementary File S3: Weight data recording .txt file, Supplementary File S4: C++ Code for Arduino with dynamic watering conditions, Video S1: A video of the Arduino-based lysimeter system in operation.