Vigilant Engine is the framework on which all ESP-based nodes of the STARSTREAK project are built. It provides the fundamental building blocks for connected, remotely maintainable devices, including reliable OTA updates, flexible network modes, and peripheral support.
All documentation for this project is located at: https://www.bears-space.de/vigilant-engine/
Development should be done in VSCode using the ESP-IDF extension.
The project uses uv (see here) for Python version and dependency management. To set this up, run:
uv syncpre-commit is used to enforce style guides and catch common errors before they are committed. After running uv sync, run the following to set this up:
uv run pre-commit install-
OTA (Over-The-Air updates)
- Firmware updates via HTTP/Web UI
- Designed for safe, recoverable updates on ESP targets
-
Network Modes
AP– Device creates its own access pointSTA– Device connects to an existing Wi-Fi networkAPSTA– Dual mode (access point + station)
-
Webserver
- Serves configuration & status pages
- Handles OTA firmware upload
- Endpoint structure designed to be extendable per project
-
Debugging
- Wireless debugging over the network (e.g. TCP terminal)
- Centralized logging API for modules
- Optional verbose / debug builds
Vigilant Engine includes drivers / integration for:
- WS2812B – Addressable RGB LEDs (status indication, effects)
- TCAN4550-Q1 – SPI CAN controller
- TCAN332 – CAN transceiver
These peripherals are wrapped in a common abstraction layer so they can be reused across all STARSTREAK nodes.
This project is documented using MkDocs. For full documentation visit mkdocs.org. MkDocs is installed into a venv using uv sync.
uv run mkdocs serve- Start the live-reloading docs server.uv run mkdocs build- Build the documentation site.uv run mkdocs -h- Print help message and exit.
mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.