AIROTIX

by Boateng in Circuits > Electronics

36 Views, 0 Favorites, 0 Comments

AIROTIX

WhatsApp Image 2025-12-01 at 8.53.14 PM.jpeg
Airotix

Air pollution is one of the most critical environmental and public-health challenges facing humanity today. According to the World Health Organization, air pollution is responsible for approximately 7 million premature deaths annually worldwide, primarily due to cardiovascular diseases, respiratory illnesses, and lung cancer. Furthermore, the WHO reports that more than 99% of the global population breathes air that exceeds recommended safety limits, highlighting the urgent need for better monitoring, awareness, and mitigation strategies.

Despite this alarming reality, high-resolution air quality monitoring systems remain expensive and limited in coverage. Many communities, especially in developing regions and dense urban environments, lack access to localized, real-time environmental data.

This project presents a Smart Environmental Air Quality Monitoring System built around an Espressif ESP32 microcontroller, designed to provide continuous, real-time monitoring of air pollutants with cloud connectivity, alerting, and system health visualization.

Supplies

Tools You Will Need

  1. Soldering iron (25–40W)
  2. Solder wire
  3. Wire cutter / stripper
  4. Small flat screwdriver (for terminal blocks)
  5. Multimeter (optional but recommended)
  6. Computer with Arduino IDE installed

Components

  1. ESP32 development board (ESPDUINO-32)
  2. Zero PCB (perfboard)
  3. Mics 4514 sensor
  4. Screw terminal blocks
  5. Male header pins
  6. PMS5003 particulate sensor
  7. MQ135 air quality sensor
  8. MQ131 ozone sensor
  9. INA219 power monitor
  10. 18650 battery holder
  11. Red LED + resistor
  12. Green LED + resistor

What You Are Building and How It Works (Concept First)

Airotix is an air-quality monitoring device that:

  1. Collects environmental data using sensors
  2. Processes that data using an ESP32 microcontroller
  3. Sends the data to the internet using Wi-Fi
  4. Displays live readings and alerts on a cloud dashboard

The ESP32 acts as:

  1. The controller (reads sensors)
  2. The decision unit (checks thresholds)
  3. The communication device (Wi-Fi + cloud)

Understanding this flow will help you troubleshoot later if something does not work

Building the Interface Board (Zero PCB + Terminal Blocks)

9cce7726-e1e5-417f-ac58-1ace425c8e56.jpg
421e48c8-2ad3-4c58-bf98-239b8b50ce76.jpg
b2fa4dfd-40fa-4237-aeac-7cc558b5238f.jpg

This is the central construction step of the entire project.

4.1 ESP32 Mounting Using Header Pins

  1. Male header pins are soldered onto the zero PCB
  2. The spacing exactly matches the ESP32 pin layout
  3. The ESP32 is later inserted into these headers

Each header pin represents a real ESP32 GPIO pin.

This allows:

  1. Easy removal of the ESP32
  2. Replacement without touching sensor wiring

4.2 Terminal Block Installation

  1. Screw terminal blocks are soldered onto the zero PCB
  2. Each terminal block corresponds to:
  3. One ESP32 signal pin, or
  4. Power (VCC), or
  5. Ground (GND)

Terminal blocks are positioned near the PCB edges for easy access.

4.3 Routing Terminal Blocks to ESP32 Pins

This is the most important part.

From each terminal block, a short copper wire (or PCB trace) is routed to the corresponding male header pin.

For example:

  1. MQ135 signal terminal → header pin for GPIO 34
  2. MQ131 signal terminal → header pin for GPIO 35

Power terminals (VCC and GND) are routed to:

  1. Common power rails
  2. Shared ground rail

This means:

  1. Terminal block = external connection
  2. Header pin = ESP32 pin

So when a sensor is connected to a terminal block, it is electrically connected to the correct ESP32 pin automatically.

4.4 Labeling and Organization

To make the system beginner-friendly and serviceable:

  1. Terminal blocks are grouped by function
  2. Each terminal block corresponds to a known ESP32 pin
  3. Sensor wires can be connected or removed using a screwdriver

This layout makes troubleshooting very easy:

  1. If a sensor fails → remove only that sensor
  2. If the ESP32 fails → unplug it from headers and replace it
  3. No desoldering required

4.5 Result of This Step

After completing this step, you will have:

  1. A solid interface board
  2. Terminal blocks ready for sensors
  3. Header pins ready for the ESP32
  4. A clean and modular hardware foundation

This board becomes the central connection hub of the entire Airotix system.

Power Routing and Sensor Connections

In this step, we route system power correctly and connect all sensors to the interface board.

By doing this in one step, the relationship between power distribution and sensor wiring becomes clear and easier to reproduce.


3.0 Solar Panel and Solar Charge Controller Wiring


Airotix is designed to operate using solar power with battery backup.

  1. Connect the solar panel output to the solar charge controller input:
  2. Solar + → Controller PV+
  3. Solar − → Controller PV−
  4. Insert the lithium batteries into the battery holder.
  5. Connect the battery holder to the battery terminals of the charge controller:
  6. Battery + → Controller BAT+
  7. Battery − → Controller BAT−

The solar charge controller:

  1. Regulates charging from the solar panel
  2. Prevents battery overcharge and deep discharge
  3. Supplies stable power to the system


3.1 Routing Power Through the INA219

Power enters the system from the battery and is routed through the INA219 power-monitoring module before reaching the ESP32 and sensors.

  1. Connect the battery output to a screw terminal block on the interface board.
  2. Route the positive supply line from the terminal block to the INA219 input.
  3. Route the INA219 output to:
  4. The ESP32 power pin
  5. A shared sensor power rail

The ground line is routed to a common ground rail, shared by:

  1. ESP32
  2. All sensors
  3. INA219

This setup allows the ESP32 to continuously measure:

  1. Bus voltage
  2. Load voltage
  3. Current consumption
  4. Power usage

All measurements are sent to the cloud for monitoring.

3.2 Connecting the PMS5003 (Particulate Matter Sensor)

The PMS7003 communicates using UART (serial communication).

  1. Connect the PMS5003 TX pin to the ESP32 UART RX pin (via terminal block).
  2. Connect the PMS5003 RX pin to the ESP32 UART TX pin.
  3. Connect PMS5003 VCC to the 5V power rail.
  4. Connect PMS5003 GND to the common ground rail.

Using terminal blocks allows the PMS5003 to be removed or replaced without disturbing other wiring.

3.3 Connecting the Gas Sensors (MQ135, MQ131, MICS 4514)

Each gas sensor has:

  1. Power (VCC)
  2. Ground (GND)
  3. Analog signal output

For each sensor:

  1. Connect the sensor’s analog output to its assigned ESP32 ADC pin via a terminal block.
  2. MQ135 → GPIO 34
  3. MQ131 → GPIO 35
  4. Mics 4514 → GPIO 39
  5. Connect sensor VCC to the shared power rail.
  6. Connect sensor GND to the shared ground rail.

Because each terminal block is already routed to the correct ESP32 header pin, connecting the sensor automatically connects it to the correct GPIO.

3.4 Connecting the Status LEDs

Two LEDs are used to provide immediate visual feedback about system status.

Red LED – Power Indicator

  1. Connect the anode (+) of the red LED to its assigned ESP32 GPIO pin through a current-limiting resistor.
  2. Connect the cathode (−) to the common ground rail.

This LED remains ON continuously whenever the system is powered.

Green LED – Cloud Connection Indicator

  1. Connect the anode (+) of the green LED to its assigned ESP32 GPIO pin through a current-limiting resistor.
  2. Connect the cathode (−) to the common ground rail.

This LED:

  1. Blinks once per second when the ESP32 is connected to the cloud
  2. Turns OFF when the ESP32 is disconnected

The blinking state of this LED is also mirrored to a cloud Boolean variable, allowing the cloud dashboard to reflect the same status.

3.5 Result of This Step

After completing this step, you will have:

  1. Power safely routed through the INA219
  2. ESP32 powered and monitored
  3. All sensors connected via terminal blocks
  4. Clean separation between power, signal, and ground wiring

This ensures:

  1. Accurate sensor readings
  2. Reliable power monitoring
  3. Easy maintenance and troubleshooting

At this point, the entire hardware system is electrically complete and ready for firmware upload and calibration

Arduino IoT Cloud Integration (Device, Thing, Variables, and Dashboard)

20799929-a315-4388-bb29-9620d981f107.jpg
Screenshot 2025-08-10 173107.png
af07e1b7-4ee4-44b9-bd6d-e832bb6a806b.jpg
Screenshot 2025-06-24 154702.png
Screenshot 2025-06-24 154713.png
Screenshot 2025-06-24 154702.png
e57dfbe7-81de-4124-b9d0-53406ba29f96.jpg

In this step, we connect Airotix to the internet using Arduino IoT Cloud.

This enables real-time data visualization, threshold configuration, and alert monitoring from anywhere.

This step covers:

  1. Adding the ESP32 device to Arduino IoT Cloud
  2. Configuring network (Wi-Fi) access
  3. Creating a Thing and defining cloud variables
  4. Creating a dashboard and linking widgets

4.1 Creating an Arduino IoT Cloud Account

  1. Go to https://create.arduino.cc/iot
  2. Sign in using an Arduino account
  3. After login, you will see the Arduino IoT Cloud home page

This is where all devices, Things, variables, and dashboards are managed.

4.2 Adding the ESP32 as a Device

  1. Click Devices
  2. Click Add Device
  3. Select Set up a third-party device
  4. Choose ESP32
  5. Follow the setup process to:
  6. Name the device (example: Airotix-ESP32)
  7. Generate a Device ID
  8. Generate a Device Secret Key

⚠️ These credentials uniquely identify your ESP32 in the cloud and are automatically added to the firmware later.

At this point, the ESP32 is registered but not yet connected.

4.3 Configuring Network Access (Wi-Fi)

During device setup:

  1. Enter your Wi-Fi SSID
  2. Enter your Wi-Fi password
  3. Save the configuration

These credentials are securely stored and used by the ESP32 firmware to connect to the internet automatically when powered.

4.4 Creating a Thing

A Thing represents the full Airotix system in the cloud.

To create it:

  1. Click Things
  2. Click Create Thing
  3. Name it (example: Airotix)
  4. Attach the previously created ESP32 device to this Thing

The Thing now links:

  1. The physical ESP32
  2. Cloud variables
  3. Firmware.
  4. Dashboards

4.5 Defining Cloud Variables

Cloud variables are used to exchange data between the ESP32 and the dashboard.

For Airotix, variables are created for:

  1. Sensor readings (PM, gases, CO₂, sound, voltage)
  2. Threshold values (user-adjustable)
  3. Alert flags (Boolean status indicators)
  4. System and connection status

Adding a Variable

  1. Inside the Thing, click Add Variable
  2. Select:
  3. Variable name
  4. Data type (float, int, bool, String)
  5. Permission:
  6. READ → ESP32 sends data to cloud
  7. READ / WRITE → Cloud sends values to ESP32
  8. Confirm the variable

Examples:

  1. pm2_5 → READ
  2. pm25_threshold → READ / WRITE
  3. pm25_alert → READ
  4. sound_dB → READ
  5. sound_threshold_db → READ / WRITE

4.6 Generated Cloud Code and Integrating Project Logic

Once all cloud variables are created, Arduino IoT Cloud automatically generates the base firmware for the project. This includes:

  1. thingProperties.h
  2. Cloud connection and authentication code
  3. Wi-Fi handling
  4. Cloud variable declarations
  5. Callback functions for READ/WRITE variables

This generated code is responsible for:

  1. Connecting the ESP32 to the configured Wi-Fi network
  2. Establishing and maintaining the Arduino IoT Cloud connection
  3. Synchronizing cloud variables with the device

At this stage, the generated sketch contains only the cloud infrastructure, not the project’s sensor logic.

4.7 Merging the Cloud Code with the Airotix Firmware

To complete the system, the cloud-generated sketch is extended with the Airotix project logic.

This is done by:

  1. Opening the generated sketch in Arduino IDE
  2. Keeping all cloud-related files unchanged:
  3. thingProperties.h
  4. Cloud connection setup
  5. Adding the Airotix firmware code, which includes:
  6. Sensor initialization
  7. Non-blocking sensor reading logic
  8. Threshold evaluation
  9. Alert Boolean updates
  10. Status LED control
  11. Updating the loop() function so that:
  12. ArduinoCloud.update() runs continuously
  13. Sensor logic runs alongside cloud synchronization

This approach ensures:

  1. Cloud connectivity remains stable
  2. Project logic can freely access and update cloud variables
  3. Future cloud changes do not break the sensor code

All sensor readings, thresholds, and alert states are now directly linked to the cloud variables defined earlier.

4.8 Uploading the Firmware to the ESP32

After merging the cloud code with the Airotix logic:

  1. Select the correct ESP32 board in Arduino IDE
  2. Select the correct COM port
  3. Upload the firmware to the ESP32

After a successful upload:

  1. The ESP32 connects to the configured Wi-Fi network
  2. The ESP32 authenticates with Arduino IoT Cloud
  3. Cloud variables begin updating automatically
  4. The green status LED starts blinking, indicating an active cloud connection

At this point, the device is fully operational and synchronized with the dashboard.

4.9 Accessing the Full Project Code

The complete Airotix firmware — including:

  1. Cloud integration
  2. Sensor logic
  3. Threshold handling
  4. Alert evaluation
  5. LED status logic

is available in the project’s GitHub repository.

🔗 GitHub Repository:

https://github.com/Isaa-c/AIROTIX.git


This allows others to:

  1. Review the full implementation


Each widget updates automatically when new data is received from the ESP32.

4.10 Result of This Step

After completing this step, you will have:

  1. ESP32 connected to Arduino IoT Cloud
  2. Wi-Fi credentials configured
  3. A Thing representing the Airotix system
  4. Cloud variables linked to firmware
  5. A live dashboard with real-time data
  6. Threshold controls and alert indicators

At this point, Airotix is fully cloud-connected and ready for:

  1. Sensor calibration verification
  2. Threshold testing
  3. Long-term deployment

Sensor Warm-Up, Calibration, and Cloud Verification

In this step, we prepare all sensors for accurate and stable operation before deployment.

Environmental sensors require warm-up time and baseline stabilization to produce reliable data.

This step ensures:

  1. Sensors are thermally and chemically stabilized
  2. Baseline values are verified using the cloud dashboard
  3. All readings respond correctly to real environmental changes

5.1 Powering the System for Warm-Up

  1. Place the Airotix system in a well-ventilated area
  2. Power the system using:
  3. Solar panel (if available), or
  4. Battery power from the lithium battery holder
  5. Confirm:
  6. Red LED is ON (system powered)
  7. Green LED is blinking (cloud connected)
  8. Dashboard is receiving live data

⚠️ During warm-up, readings may fluctuate. This is expected.

5.2 Gas Sensor Warm-Up (MQ135, MQ131, MiCS-4514)

All gas sensors used in Airotix contain internal sensing elements that require stabilization.

Initial Burn-In (One-Time)

  1. Leave the system powered continuously for 24–48 hours
  2. This allows the sensing layers to stabilize permanently

Daily Warm-Up (Normal Operation)

  1. After each power-up, allow 15–20 minutes before using readings

During this time:

  1. Values may drift
  2. Alerts may trigger temporarily
  3. This behavior is normal

5.3 MQ135 Calibration (Air Quality Sensor)

The MQ135 is used to estimate:

  1. Ammonia (NH₃)
  2. Benzene
  3. Alcohol vapors

Calibration procedure:

  1. Place the system outdoors or in clean air
  2. Allow at least 20 minutes of warm-up
  3. Observe the following dashboard values:
  4. mq135_nh3
  5. mq135_benzene
  6. mq135_alcohol
  7. Wait until readings stabilize

These stable values form the baseline used by the firmware for long-term monitoring.

5.4 MQ131 Calibration (Ozone Sensor)

The MQ131 measures ozone concentration (O₃).

  1. Place the sensor in clean ambient air
  2. Allow 20+ minutes of warm-up
  3. Observe:
  4. o3_ppb
  5. o3_ppm
  6. Confirm readings remain low and stable

Avoid calibration near ozone generators, high-voltage equipment, or strong UV sources.

5.5 MiCS-4514 Calibration (NO₂ / CO Sensor)

The MiCS-4514 is a dual-channel gas sensor used to detect:

  1. Nitrogen Dioxide (NO₂)
  2. Carbon Monoxide (CO)

Calibration steps:

  1. Power the system and allow 20–30 minutes of warm-up
  2. Observe MiCS-4514 values on the dashboard
  3. Ensure readings stabilize in clean air
  4. Introduce a small source of combustion (e.g., lighter gas at a distance) to confirm response

The sensor should respond quickly and return to baseline when the source is removed.

5.6 PMS5003 Warm-Up and Validation

The PMS7003 particulate sensor requires only a short warm-up.

  1. Power the system
  2. Wait 30 seconds
  3. Observe the following cloud values:
  4. pm1_0
  5. pm2_5
  6. pm10

To verify operation:

  1. Gently introduce dust or smoke near the sensor
  2. Values should rise temporarily and then fall back

5.7 Power Monitoring Verification (INA219)

Verify the following values on the dashboard:

  1. busVoltage
  2. loadVoltage
  3. current_mA
  4. power_mW

Check that:

  1. Voltage remains stable
  2. Current changes with Wi-Fi activity or sensor load
  3. Power values update continuously

This confirms correct power routing through the solar controller, battery, and INA219.

5.8 Cloud Data Verification Checklist

Confirm on the dashboard:

  1. All sensor values update continuously
  2. No variables freeze over time
  3. Green LED widget blinks in sync with the physical LED
  4. Connection remains stable

If all checks pass, calibration is complete.

5.9 Result of This Step

After completing this step, you will have:

  1. Fully warmed and stabilized gas sensors
  2. Verified particulate measurements
  3. Confirmed power and connectivity reliability
  4. Airotix producing trustworthy environmental data

The system is now ready for threshold configuration and alert testing.

Threshold Configuration, Alerts, and System Logic

Screenshot 2025-06-25 142905.png
Screenshot 2025-06-25 142926.png

In this step, we configure environmental thresholds and define how Airotix reacts when air quality conditions become unsafe.

The system continuously evaluates sensor readings and:

  1. Compares them against user-defined thresholds
  2. Updates Boolean alert flags
  3. Reflects alert states on the cloud dashboard
  4. Keeps alerts active as long as conditions remain unsafe

No delays or blocking logic are used — evaluation is continuous.

6.1 Understanding How Thresholds Work in Airotix

Each monitored parameter has two cloud variables:

  1. Measured value (READ)
  2. Threshold value (READ / WRITE)

When a measured value crosses its threshold:

  1. A corresponding Boolean alert variable is set to true
  2. When the value returns to a safe range, the alert resets to false

This allows:

  1. Live alerts
  2. Dashboard indicators
  3. Easy future expansion (buzzers, relays, notifications)

6.2 Thresholds Used in the Project

Airotix evaluates the following parameters continuously:

Gas and Air Quality

  1. MQ135:
  2. NH₃ threshold
  3. Benzene threshold
  4. Alcohol threshold
  5. MQ131:
  6. Ozone (O₃) threshold (ppb)
  7. MiCS-4514:
  8. CO threshold
  9. NO₂ threshold

Particulate Matter (PMS7003)

  1. PM1.0 threshold
  2. PM2.5 threshold
  3. PM10 threshold
  4. AQI threshold (derived from PM2.5)

Power Monitoring

  1. Minimum voltage threshold

Each parameter has:

  1. A threshold value (user adjustable)
  2. A Boolean alert flag (READ-only)

6.3 Creating Threshold Variables in Arduino IoT Cloud

For each threshold:

  1. Go to Things → Airotix
  2. Click Add Variable
  3. Set:
  4. Data type: float
  5. Permission: READ / WRITE
  6. Update mode: ON_CHANGE
  7. Name the variable clearly
  8. Example:
  9. pm25_threshold
  10. o3_threshold_ppb

Repeat for all thresholds.

6.4 Creating Alert Variables

For each threshold, create a corresponding alert variable:

  1. Click Add Variable
  2. Set:
  3. Data type: bool
  4. Permission: READ
  5. Update mode: ON_CHANGE
  6. Name the variable clearly
  7. Example:
  8. pm25_alert
  9. o3_alert

These variables are controlled only by the firmware, not the dashboard.

6.5 Continuous Evaluation Logic (How Alerts Are Triggered)

Inside the firmware loop:

  1. Sensor values are read
  2. Thresholds are compared
  3. Alerts are updated immediately

Example logic (conceptual):

  1. If pm2_5 > pm25_threshold → pm25_alert = true
  2. Else → pm25_alert = false

This logic runs continuously, not on a timer.

This ensures:

  1. No missed events
  2. Instant alert updates
  3. Stable cloud behavior

6.6 Adding Threshold Controls to the Dashboard

To control thresholds from the dashboard:

  1. Open Dashboards → Airotix Dashboard
  2. Click Add Widget
  3. Choose Slider or Input Field
  4. Link it to the corresponding threshold variable
  5. Set:
  6. Units
  7. Min / Max range
  8. Step size

Now thresholds can be adjusted live, without reprogramming the ESP32.

6.7 Adding Alert Indicators to the Dashboard

For each alert variable:

  1. Add an LED widget
  2. Link it to the alert Boolean
  3. Configure:
  4. OFF = Safe condition
  5. ON = Alert condition

These LEDs act as visual alarms on the dashboard.

6.8 Verifying Alert Behavior

To test alerts:

  1. Lower a threshold temporarily
  2. Observe the alert LED turn ON
  3. Restore threshold to safe value
  4. Confirm alert resets automatically

Repeat for:

  1. Gas sensors
  2. PM sensors
  3. Voltage threshold

This confirms correct logic and cloud synchronization.

6.9 Result of This Step

After completing this step, you will have:

  1. Fully configurable thresholds
  2. Real-time alert evaluation
  3. Boolean alert indicators on the dashboard
  4. A system that reacts automatically to unsafe conditions

At this point, Airotix is no longer just a monitoring system — it is a decision-making system.


System Status Indicators, Cloud Synchronization, and Final Validation

In this step, we finalize system-level behavior and verify that Airotix operates reliably as a complete IoT device.

This includes physical status LEDs, cloud indicators, and long-duration stability testing.

7.1 System Status Logic Overview

Airotix uses both physical indicators and cloud indicators to show system health.

The system provides feedback for:

  1. Power availability
  2. Cloud connectivity
  3. Alert conditions

This ensures that system status can be understood:

  1. Locally (by looking at the device), and
  2. Remotely (through the dashboard)

7.2 Power Status Indicator (Red LED)

The red LED is used as a power indicator.

  1. The red LED is connected to a dedicated ESP32 GPIO through a current-limiting resistor.
  2. The LED is turned ON permanently when the system is powered.

Behavior:

  1. ON → system has power
  2. OFF → no power or wiring issue

This LED confirms:

  1. Battery output is present
  2. Solar charge controller is supplying power
  3. ESP32 is receiving power

7.3 Cloud Connection Indicator (Green LED)

The green LED indicates cloud connectivity.

  1. The green LED is connected to a GPIO through a resistor.
  2. When the ESP32 successfully connects to Arduino IoT Cloud:
  3. The LED blinks once per second
  4. When the cloud connection is lost:
  5. The LED turns OFF

This blinking pattern provides immediate confirmation that:

  1. Wi-Fi is connected
  2. Cloud synchronization is active

7.4 Cloud Status LED Widget Synchronization

The same blinking logic used for the physical green LED is mirrored to a Boolean cloud variable.

This variable:

  1. Toggles true / false in sync with the LED
  2. Is linked to an LED widget on the dashboard

As a result:

  1. The dashboard LED blinks at the same rate as the physical LED
  2. Remote users can see connection health instantly

This confirms correct hardware-to-cloud synchronization.

7.5 Verifying LED and Cloud Behavior

Perform the following checks:

  1. Power the system
  2. Red LED should turn ON
  3. Wait for Wi-Fi and cloud connection
  4. Green LED should begin blinking
  5. Cloud LED widget should blink at the same time
  6. Disconnect Wi-Fi temporarily
  7. Green LED should stop blinking
  8. Cloud LED should turn OFF
  9. Restore Wi-Fi
  10. Blinking should resume automatically

This confirms robust connection handling.

7.6 Long-Run Stability Test

To verify reliability:

  1. Leave the system running continuously for several hours
  2. Observe:
  3. Sensor values updating continuously
  4. No frozen variables
  5. No unexpected resets
  6. Check battery voltage and power data during:
  7. Daytime (solar charging)
  8. Nighttime (battery discharge)

A stable system should:

  1. Maintain cloud connection
  2. Resume operation after power fluctuations
  3. Continue alert evaluation without interruption

7.7 Final Validation Checklist

Before deployment, confirm:

  1. All sensors report valid data
  2. Threshold alerts trigger and reset correctly
  3. Dashboard widgets update in real time
  4. Green LED and cloud LED blink together
  5. Red LED stays ON with power
  6. Power values make sense under load

If all checks pass, the system is ready for use.

7.8 Result of This Step

After completing this step, you will have:

  1. Verified physical status indicators
  2. Confirmed cloud synchronization
  3. Tested system reliability
  4. A fully operational Airotix device

Airotix is now ready for real-world air quality monitoring.




Deployment, Use Cases, and Future Improvements

In this final step, we explain how Airotix is used in the real world, where it should be deployed, and how the system can be expanded in the future.

This step shows that Airotix is not just a prototype, but a practical environmental monitoring solution.

8.1 Deployment Guidelines

To obtain accurate and meaningful air quality data, correct placement of the device is important.

Recommended Placement

  1. Install Airotix:
  2. Outdoors but protected from rain
  3. In shaded or semi-shaded locations
  4. At breathing height (1.5–2 meters above ground)
  5. Ensure:
  6. Free airflow to gas and PM sensors
  7. No obstruction around sensor inlets
  8. No direct heat sources nearby

The enclosure should have ventilation holes to allow air circulation while protecting electronics.

8.2 Solar-Powered Operation in the Field

Airotix is designed for off-grid deployment.

  1. During the day:
  2. The solar panel powers the system
  3. Excess energy charges the lithium batteries
  4. At night or low sunlight:
  5. The system runs from battery power
  6. Power consumption is monitored continuously via INA219

This makes Airotix suitable for:

  1. Remote locations
  2. Outdoor installations
  3. Areas without reliable grid power

8.3 Real-Time Monitoring and Alerts

Once deployed, Airotix operates autonomously:

  1. Sensor data is sent to the cloud continuously
  2. Thresholds can be adjusted remotely
  3. Alerts update instantly when conditions change
  4. System status is visible both physically and remotely

This allows users to:

  1. Detect pollution spikes early
  2. Monitor long-term trends
  3. Take action based on real data

8.4 Practical Use Cases

Airotix can be used in many real-world scenarios:

  1. Urban air quality monitoring
  2. School and campus environments
  3. Construction and industrial areas
  4. Residential pollution awareness
  5. Research and educational projects
  6. Smart city environmental sensing

The modular design allows sensors to be replaced or expanded depending on the application.

8.5 Data-Driven Environmental Awareness

Air pollution is a major global health concern.

According to the World Health Organization (WHO), air pollution contributes to millions of premature deaths worldwide each year, particularly due to respiratory and cardiovascular diseases.

Projects like Airotix help by:

  1. Making invisible pollution visible
  2. Enabling localized monitoring
  3. Empowering communities with data
  4. Supporting informed environmental decisions

8.6 Maintenance and Long-Term Use

Airotix is designed for easy maintenance:

  1. Sensors can be removed via terminal blocks
  2. ESP32 can be replaced without rewiring
  3. Battery health can be monitored remotely
  4. Firmware can be updated over USB

Routine maintenance includes:

  1. Periodic sensor recalibration
  2. Cleaning PM sensor inlet
  3. Checking battery condition

8.7 Future Improvements

Airotix is built with expansion in mind. Possible upgrades include:

  1. Additional gas sensors
  2. Weather sensors (temperature, humidity, pressure)
  3. Data logging to SD card
  4. Cloud notifications (email / mobile)
  5. Integration with smart city platforms
  6. Machine-learning-based pollution prediction

8.8 Final Result

After completing all steps, you now have:

  1. A modular ESP32-based monitoring system
  2. Solar-powered, off-grid capability
  3. Multi-sensor environmental monitoring
  4. Cloud-connected dashboards and alerts
  5. A serviceable and expandable hardware design

Airotix demonstrates how Espressif’s ESP32 enables powerful, real-world IoT solutions that combine hardware reliability, connectivity, and scalability.

Project Complete

Airotix is now a fully functional smart air quality monitoring system, ready for deployment, experimentation, and real-world impact.