ESP32 Firmware and Web App for a IOT window actuator I built for a personal client.
These devices are used in a wedding barn venue to remotely open and close windows in the rafters as well as monitor the air temperature. I have worked on this project on the side for over two years while going to school and working as an intern software developer for Fynydd LLC. This project has tested my knowledge on various subjects both in software development and outside of software such as electrical and mechanical engineering. I have strengthened my knowledge on these subjects substantially through my many mistakes and iterations in my designs. With my CAD class in high school and my self-taught hobbyist electronics skills, I managed to make a fully functional IOT sliding window opener using various 8020 parts, 3D printed parts I made in CAD, and circuit boards which were designed by me using EasyEDA and manufactured though JLC PCB (see images in the Electrical folder for designs).
ESP32 Microcontroller firmware developed in C++ using PlatformIO in VS Code.
Electrical schematics and circuit board designs.
CAD renderings and designs.
This is the super old firmware I started with on this project. It was very buggy and had a lot of issues. I only added it to compare how far I have come with my C/C++ skills.
This is the web application that handles interfacing the MQTT events (communication between the web app and controller) and the web app (UI and auth). This is a very old .NET Core project and is no longer actively used.
If I were to rewrite this today, I would use a basic React and modern .NET minimal API backend with SignalR. Knockout JS was just a quick way to get a UI setup quickly, but a lightweight React app or Lit.js Web components would be a better approach.