Case Study
Embedded Thermal Management System
Closed-loop temperature controller with FSM-based logic, PWM fan actuation, and live UART telemetry dashboard.
Designed and implemented a dual-microcontroller thermal management system using an STM32 Nucleo F030R8 as the control node and an ESP32 WROVER as the UI node. The STM32 runs a formal three-state finite state machine (MONITORING, COOLING, FAULT) with hysteresis-based bang-bang control, driving a PWM-actuated fan in response to live sensor data. System telemetry is transmitted over UART to the ESP32, which renders real-time temperature, humidity, and system state on an LCD display, with a web dashboard planned for remote visualization.
Role
Embedded Systems Engineering — firmware architecture, hardware integration, and system design
Timeline
Ongoing — started April 2026
Status
In Development
Platform
STM32 Nucleo F030R8 (ARM Cortex-M0), ESP32 WROVER

01
Overview
A dual-microcontroller thermal management system using an STM32 Nucleo F030R8 as the control node and an ESP32 WROVER as the UI node. The STM32 runs a formal three-state FSM (MONITORING, COOLING, FAULT) with hysteresis-based bang-bang control, driving a PWM-actuated fan based on live sensor data and transmitting structured ASCII telemetry over UART every 500ms. The ESP32 parses incoming frames and renders real-time temperature, humidity, and system state on an LCD. The system was designed to handle sensor faults gracefully with a defined FAULT state and fan shutdown, keeping the STM32 control loop fully decoupled from any UI-side latency.
02
Technical Design
In progress ...
- —Expected Core Feature: ...
Potential Challenge: Hysteresis Tuning and Control Stability
Potential Challenge: UART Frame Robustness Across MCU Boundaries
03
Outcomes
- —In progress ...
Next Steps
- —