## 2 Materials and Methods
### Sensors Calibration and Software Implementation  
When using the MQ sensors for the first time, it needs to be calibrated. The MQ sensor datasheet describes the ppm ratio using the terms Rs/Ro, where Rs is the internal resistance of the MQ sensor in time, and Ro is the value of Rs in clean air. The datasheets have graphs of MQ sensor performance for some gases using the Rs/Ro ratio, allowing information to be acquired on how to measure each type of gas [34].  
Analyzing the various sensitivity curves given in the relevant datasheets of MQ sensors is a necessary step in the sensor calibration procedure [35]. MQ7 sensor (Hanwei Electronics CO., Ltd., Zhengzhou, China) has a sensitivity curve where the x-axis is the detected concentration of the CO gas in parts per million (ppm), while the y-axis is the voltage that the sensor receives. In this study, we derived an equation (Equation (1)) using Plotdigitizer software (version 2.6.8), which is an online data extraction tool that allows users to extract data from images in numerical format; however, it is inserted into a code to obtain the values of concentration of the CO gas directly in ppm unit:  
\[\text{CO}_{\text{ppm}}\_1=2.6357\times\text{exp}(1.0994\times\text{((CO}_{ \text{rawValue}}\_1\times 5)/1023\text{))} \tag{1}\]  
Using the sensitivity curve of the Sharp GP2Y1010 AU0F sensor (Manufacturer: SHARP/Socle Technology), where the \(x\)-axis is the detected concentration of the dust in mg/m\({}^{3}\), while the \(y\)-axis is the output voltage (V), the values of dust concentration were directly obtained as the sampled voltage correlated to the dust density [28]. Thus,the Sharp GP2Y1010 AU0F sensor was calibrated according to the chart given in its datasheet [29] as we wrote the following codes (Equations (2) and (3)) to obtain the values of dust density directly in \(\upmu\)g/m\({}^{3}\)  
\[\text{calcVoltage}=\text{vo Measured}\times(5.0/1024) \tag{2}\]  
\[\text{Dust Density}=170\times\text{calc Voltage}-0.1 \tag{3}\]  
Each BMP180 sensor (Brand: Bosch Sensorc) is separately calibrated during manufacturing [36], and these calibration data are stored in the sensor's onboard memory. However, 1013.25 hPa is the standard sea-level pressure. However, all barometric pressure values reported by news and weather stations add a certain amount of pressure to the readings to make it appear that the measurement was taken from sea level [32].  
The temperature and humidity sensors were calibrated after being mounted on top of the Arduino board to ensure that they were operating correctly. For the DHT11 temperature and relative humidity sensor (Manufacturer: Winson), a commercial Testo 625 device (Testo SE & Co., Titisee-Neustadt, Germany) was used to measure air temperature and humidity and to compare the values with those that were read from the developed device. Measurements were made for half an hour. The calibration formulas for temperature and relative humidity were inserted into the Arduino programming to obtain the readings of temperature and relative humidity directly.  
To verify the readings from the weather sensors in this study, the average values from the meteorological stations on the web pages for the values of air temperature, atmospheric pressure, and air relative humidity were compared with the general average of the actual measurements using the developed device and the relative error (RE, %) was computed as follows:  
\[\text{RE}(\%)=\frac{(\text{AV}-\text{WV})}{(\text{AV})}\times 100 \tag{4}\]  
where AV is reading from the developed device, and WV is the reading from the web pages for the investigated locations.