FORMAT FOR FINAL PROJECT DOCUMENT
I. Introduction
II. Project Description
A. Project Title
B. Project Overview
C. Project Objectives
D. Target Users
III. System Features and Functions
1. Real-Time Data Acquisition
2. Data Processing
3. On-Screen Display
4. Software Dashboard
5. Wireless Data Transmission
7. Data Logging (Optional)
IV. System Architecture and Flow
A. Hardware Architecture
Example :
Sensors: DHT22, MQ-135
Microcontroller: Arduino Uno or ESP32
Output Devices: LCD/OLED display, built-in LED, buzzer
Communication Module: HC-05 (Bluetooth) or ESP32 WiFi
Power Source: USB or 9V battery
Data Flow:
Sensor → Microcontroller → Output Display → Wireless Transmission → Software Dashboard
B. Software Architecture (optional if not applicable)
Software Components
1. Device Communication Module
o Handles serial/Bluetooth/WiFi communication
2. Data Processing Module
o Parses readings
o Validates data format
o Checks threshold levels
3. Dashboard Interface
o Displays gauges, line graphs, and logs
4. Storage Module (optional)
o Saves data to SQLite or Firebase
C. System Flowchart
Hardware Flowchart
Software Flowchart (optional)
V. Detailed Documentation
A. Hardware Documentation
1. Circuit Diagram (Description)
Connections:
DHT22 Sensor
o VCC → 5V
o GND → Ground
o Data → Pin 2
MQ-135 Gas Sensor
o AOUT → A0
o VCC → 5V
o GND → Ground
LCD (16x2 or OLED)
o SDA → A4
o SCL → A5
o VCC → 5V
o GND → Ground
Buzzer (Optional)
o Positive → Pin 9
o GND → Ground
2. Bill of Materials (BOM)
Component Quantity Description
Arduino Uno / ESP32 1 Microcontroller
DHT22 Sensor 1 Temp/Humidity sensor
MQ-135 Sensor 1 Air quality sensor
OLED/LCD 1 Data display
HC-05 / ESP32 1 Wireless communication
Jumper Wires 20+ Connections
Breadboard 1 Prototype base
Buzzer/LED Optional Alerts
B. Software Documentation
1. System Requirements
Windows/Linux/Android
Python 3 / JavaScript / Java
Libraries:
o For Python: tkinter, matplotlib, pyserial
o For JS: [Link]
o For Java: JavaFX
2. User Interface Screens
1. Home Screen
o Connect button
o Device status indicator
2. Dashboard
o Live temperature
o Live humidity
o Air quality index
o Gauges and charts
3. History Section (Optional)
o Graphs of past readings
3. Software Pseudocode
start_app()
connect_to_device()
while connected:
raw_data = receive_data()
parsed_data = parse(raw_data)
update_dashboard(parsed_data)
if thresholds_exceeded(parsed_data):
trigger_alerts()
save_to_database(parsed_data)
C. Testing and Evaluation
1. Functional Testing
Component Tested Result
DHT22 readings Passed
MQ-135 sensitivity Passed
LCD display Passed
Wireless transmission Passed
Dashboard visualization Passed
2. Observations
Data updates every 1–2 seconds
Air quality readings vary based on airflow
Bluetooth range: approx. 5–10 meters
3. Troubleshooting
LCD not lighting → Check I²C address
Wrong sensor readings → Verify wiring
Software not receiving data → Check COM port or Bluetooth pairing
VI. Conclusion
TITLE OF THE PROJECT
Submitted by:
__________________________
__________________________
Submitted to:
Ma. Ellen Grace D. Tan, MSCS
Instructor
1st Semester, School Year 2025-2026
Font Style : Century Gothic
Font Size : 12 for the body 14 for the heading (BOLD)
Margin:
Top, Bottom, Right – 1 inch
Left – 1.5 inch
Black clip inside the plastic envelope with Red folder