Skip to content
Caleb.ee
Embedded SystemsCompleted2025

STM32 Toaster Oven Controller

An embedded finite-state-machine controller developed on an STM32 for toaster-oven temperature control.

STM32 toaster oven finite state machine diagram

Role

Firmware developer

Team

Individual

Status

Completed

Timeline

2025

STM32CFSMADCEmbedded C
  • State-machine architecture
  • Buttons and ADC input
  • Timing logic
  • Temperature-control states
  • Embedded C on STM32

Problem Statement

Appliance-style control is a classic embedded problem: debounce inputs, manage timed heating states, and respond safely to temperature feedback without blocking the MCU.

Design Goals

  • Clear finite-state-machine architecture
  • Button and ADC temperature input handling
  • Timed control states for heating cycles
  • Readable Embedded C on STM32

System Architecture

Inputs (buttons, ADC temperature) → FSM (idle, preheat, bake/toast states, fault/done) → outputs (heater drive indicators / control signals) with timing services.

Software Design

The controller is organized as an explicit state machine in C. Each state defines entry actions, transitions, and timing requirements. ADC readings inform temperature-related transitions.

Engineering Decisions

  • FSM over ad-hoc flags for predictable behavior and easier testing
  • STM32 as a representative industry MCU platform

Testing and Validation

Exercised state transitions with button sequences and simulated/ADC temperature inputs, verifying timing and control-state behavior.

Results

Completed an STM32-based FSM controller demonstrating structured embedded design for a temperature-control appliance model.

Challenges

  • Debouncing and input edge cases
  • Keeping timing accurate without busy-waiting
  • Safe handling of unexpected state paths

Lessons Learned

Explicit states and transition tables make embedded control far easier to reason about than deeply nested conditionals.

Future Improvements

  • PID temperature regulation overlay
  • Soft-start heater drive
  • Logging/telemetry for lab demos

Questions about this project? Email Caleb.