Thomas More - IT Essentials - Project: Weather Station
This repository has been archived on 2026-06-11. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • C++ 85.7%
  • CMake 10.7%
  • C 3.6%
Find a file
2020-12-18 14:28:00 +01:00
.idea JetBrains CLion 2020-12-08 15:46:32 +01:00
.vscode Initial commit; Basic functionality; 2020-12-07 21:53:00 +01:00
assets/images Updated README 2020-12-07 22:14:33 +01:00
docs Updated project PDF file 2020-12-18 14:28:00 +01:00
include Initial commit; Basic functionality; 2020-12-07 21:53:00 +01:00
lib Initial commit; Basic functionality; 2020-12-07 21:53:00 +01:00
src Fixed formatting 2020-12-10 10:25:08 +01:00
test Initial commit; Basic functionality; 2020-12-07 21:53:00 +01:00
.gitignore JetBrains CLion 2020-12-08 15:46:32 +01:00
Bus_Addresses.txt Initial commit; Basic functionality; 2020-12-07 21:53:00 +01:00
CMakeLists.txt JetBrains CLion 2020-12-08 15:46:32 +01:00
platformio.ini Upgraded version 2020-12-08 15:46:44 +01:00
README.md Updated README.md 2020-12-18 13:10:08 +01:00

Thomas More - IT Essentials - Project: Weather Station

This is a project that has been assigned by the teachers of the course IT Essentials at Thomas More Campus Geel to us. The purpose is to teach us some IoT things and provide us with practical experience.

Overview

The project consists out of 3 main parts.

  • Adafruit ESP32 Feather

    This is the development board that we will be using.

  • BMP280

    This is a Adafruit BMP280 breakout board which contains the Bosch BMP280 pressure and temperature sensor. This is being controlled through the I2C bus.

  • BH1750

    This is a Adafruit BH1750 breakout board which contains a light sensor. This is being controlled through the I2C bus.

The following picture is made by me to show the setup that we're talking about here. ESP32-BMP280-BH1750

Hardware

Since we're using multiple components, we have to design a wiring diagram. I have done this using Fritzing. Wiring-Diagram

I have also created a breadboard layout for reference. Breadboard-Diagram

Software

I already have quite a bit of experience with C++, which is why I have completely over-engineered this small weather station. I have divided everything up into small building blocks. The sensors have their own respective classes in their own folder. The wireless functionality is hidden away, and so is the MQTT functionality.

I have also created a config file for ease of use. You can find this as config.example.h. To use it, you will need to make a copy and rename it to config.h, and complete the values with your own credentials.

Conclusion

This was a fun project to do, especially since it involved communications and programming as well as a hardware side.