Complete Step-by-Step Tutorial for ESP32 Automated Hardware Testing
This repository demonstrates a progressive testing approach for ESP32 peripheral hardware validation, evolving from manual serial testing to automated CI testing with VS Code and Pytest.
Each stage builds upon the previous one — introducing tools, frameworks, and automation best practices for embedded test development.
| Stage | Title | Description | Main Tools |
|---|---|---|---|
| 1 | Stage 1 — Manual Testing | Test peripherals manually using serial monitor and Unity output. | Unity, ESP-IDF Monitor |
| 2 | Stage 2 — Unity Test Automation | Automate Unity tests to run after firmware flash. | Unity, ESP-IDF |
| 3 | Stage 3 — Pytest Integration | Integrate Pytest with Unity to capture and analyze test logs automatically. | Pytest, Pytest-Embedded, ESP-IDF |
| 4 | Stage 4 — VS Code CI Testing | Run and manage tests directly inside VS Code Testing Tab with full automation (build → flash → run). | VS Code, ESP-IDF Extension, Unity, Pytest |
Each stage demonstrates an increasing level of automation and tool integration, leading toward a local Continuous Integration (CI) testing flow for ESP32.
| Component | Version / Tool |
|---|---|
| ESP-IDF | v5.1 or newer |
| Pytest | Installed via ESP-IDF |
| VS Code | With ESP-IDF Extension enabled |
MIT License © 2025 — Chandima Jayaneththi