| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| README.md | 2026-10-14 | 3.7 kB | |
| sourceforge-enviro-project.zip | 2026-10-14 | 11.1 kB | |
| Totals: 2 Items | 14.9 kB | 4 |
Environmental Sensor Data Logger
A practical STEM project by James Godswill
Environmental monitoring and IoT learning, with Enviro Education Tools as project context.
This starter project demonstrates how environmental readings can be loaded from a CSV file, checked for basic data-quality issues, summarized, and plotted. It is designed as a beginner-friendly foundation for later sensor integration.
Data notice: The included CSV contains simulated demonstration values. They are not field measurements, calibrated readings, or evidence of a physical deployment.
Features
- Load timestamped CSV records for CO₂, PM2.5, temperature, and relative humidity.
- Validate required columns and numeric values.
- Calculate minimum, average, and maximum values.
- Plot a selected metric over time.
- Run locally with Python's standard library; no third-party packages required.
Current scope
Implemented: CSV parsing, basic validation, summary statistics, a simple chart, and sample simulated data.
Not yet implemented: live sensor acquisition, Arduino/ESP32 firmware, cloud storage, calibration, alerts, or regulatory/health interpretation. These should be added only after design and testing.
Requirements
- Python 3.9+
- A modern web browser
Run
- Extract the project folder.
- Open a terminal in that folder.
- Run
python app.py. - Open
http://127.0.0.1:8000in your browser. - Click Load sample data or choose your own CSV file.
The server binds to localhost only. Set the PORT environment variable to use another port.
CSV format
Required columns:
| Column | Unit | Example |
|---|---|---|
timestamp |
ISO-like date/time text | 2026-10-01T09:00:00 |
co2_ppm |
parts per million | 640 |
pm25_ug_m3 |
micrograms per cubic metre | 8.4 |
temperature_c |
degrees Celsius | 24.1 |
humidity_pct |
percent relative humidity | 48 |
Example row:
timestamp,co2_ppm,pm25_ug_m3,temperature_c,humidity_pct
2026-10-01T09:00:00,640,8.4,24.1,48
The CSV parser expects simple comma-separated values; fields containing embedded commas or quoted multiline text are outside this starter's current scope.
Interpretation limits
- CO₂ is not a direct measure of every indoor pollutant and should not be treated as a stand-alone health or safety verdict.
- Low-cost PM2.5 sensors may be affected by humidity, aerosol composition, placement, and device limitations.
- This dashboard does not calibrate or correct readings.
- For real measurements, document the sensor model, configuration, collection time and location (without exposing private information), and known limitations.
Project structure
environmental-sensor-data-logger/
├── app.py
├── sample_data/simulated_readings.csv
├── tests/test_data.py
├── LICENSE
├── CHANGELOG.md
└── CONTRIBUTING.md
Roadmap
- [ ] Add an ESP32 serial-import example after the hardware and serial format are specified.
- [ ] Add tests for malformed timestamps and edge cases.
- [ ] Add CSV export for summary reports.
- [ ] Document sensor-specific uncertainty and calibration practices.
- [ ] Add a reproducible hardware test only after it has been performed.
Author and project context
James Godswill — IoT Engineer / Technical Contributor.
Enviro Education Tools provides the environmental-monitoring and STEM-learning context for this educational project.
- Enviro Education Tools: https://enviroeducationtools.com/
- GitHub: https://github.com/semajlliwsdog
This is an independent educational starter project. Do not infer that hardware has been tested or deployed unless a future release explicitly documents that evidence.