Finalize Design & Components Apr 24 2025
β’ Total time: 4 hours
Challenges:
- Developing a functional and realistic plan that integrates the garage controller with sensor feedback and real-time status updates.
β’ Total time: 4 hours
Challenges:
Block diagram of our hardware.
β’ Total time: 10 hours
Challenges:
3D rendering of our PCB.
β’ Total time: 4 hours
Challenges:
Final CAD design of the enclosure.
β’ Read about publish/subscribe architecture and retained messages.
β’ Understood how a broker/client model fits our garage sensor use case (ESP32 & Web UI).
Client-server diagram of our project.
β’ Verified reed switch connectivity on the ESP32
β’ Verified MQ-9B Gas Sensor on ESP32
β’ Verified STTS22H IΒ²C Temperature Sensor on ESP32 (test code below)
#include < Wire.h >
#include "STTS22HSensor.h"
TwoWire I2CBus = TwoWire(0);
STTS22HSensor Temp(&I2CBus);
void setup() {
Serial.begin(115200);
delay(100);
Serial.println("STTS22H Temperature Test");
// GPIO37=SDA, GPIO38=SCL
I2CBus.begin(37, 38, 400000);
if (Temp.begin() != 0) {
Serial.println("ERROR: STTS22H not found.");
while (1) delay(1000);
}
Temp.Enable();
Serial.println("STTS22H initialized!");
}
void loop() {
float temperature;
if (Temp.GetTemperature(&temperature) == 0) {
Serial.printf("Temperature: %.2f Β°C\n", temperature);
} else {
Serial.println("Read error");
}
delay(1000);
}
β’ Total time: 10 hours
β’ First got the Express/MQTT web client and ESP32 firmware
communicating over our local network (e.g.,
http://192.168.x.x:3000
) so any phone or computer on
Wi-Fi could see real-time door/temperature/gas updates.
β’ Then purchased βgaragecontroller.comβ and a VPS from DigitalOcean
Challenges:
Demo simulation of our MQTT connection.
β’ Total time: 3 hours
Challenges:
Final assembly of the garage controller.
β’ Total time: 10 hours
β’ Created a responsive UI (HTML/CSS/JS) that:
wss://garagecontroller.com:9001
).
Final website design with all features.
β’ Set up Express for the login page.
β’ Verified end-to-end flow: ESP32 β Mosquitto β Web UI.
β’ Username and Password: admin
β’ Implement push notifications for unsafe temperature and gas levels.
β’ Ensured real-time updates for critical safety conditions.
β’ Presented a live completely functional demo to the class.
β’ Special thanks to the following people:
Professor Karcher, Juliana, Leo and Cannon
Group photo after the demo.