Most ESP32 projects start the same way: you need a web server, persistent configuration storage, WiFi handling, OTA updates, and some way to inspect or control runtime values.
Individually, none of these problems are difficult. But together they quickly turn into repetitive boilerplate that distracts from the actual purpose of your project.
This library exists to solve that once.
It provides a structured, type-safe way to define settings, persist them, expose them through a responsive Web UI, and interact with live runtime data — without forcing you to design yet another custom web server or configuration layer.
You focus on your application logic. The infrastructure is already there.
Overview
Focus on your project logic — not on web servers, storage, or configuration plumbing.
ConfigurationsManager is a C++17 helper library and example firmware for ESP32 projects that need persistent configuration, a web-based UI, and live runtime visibility — without building custom infrastructure from scratch. It focuses on:
- Type‑safe templated
Config<T>wrappers - Central registration + bulk load/save functions
- Optional pretty display names and pretty category names (decouple storage key from UI)
- Automatic key truncation safety (category + key <= 15 chars total in NVS) with friendly UI name preserved
- Dynamic conditional visibility (
showIflambdas) - Callbacks on value change
- OTA update integration
- Static or DHCP WiFi startup helpers (multiple overloads)
- Optional logging module (Serial/GUI/MQTT outputs)
Features
Core
- Non-Volatile Storage (NVS / Preferences)
- Type-safe
Config<T>wrappers - Central registration + bulk load/save
Web UI & Runtime
- Responsive WebUI (embedded in flash)
- Live runtime values (
/runtime.json, WebSocket) - Per-setting styling & theming
Device & Connectivity
- WiFi helpers (DHCP / static / AP fallback)
- OTA firmware upload via WebUI
- Optional MQTT module (PubSubClient-based)
Logging
- Optional logging module (Serial, GUI log tab, MQTT output)
Extensibility
- Conditional visibility (
showIf) - Callbacks on value change
- Core settings templates & IOManager module
Link Github: https://github.com/vitalyruhl/ConfigurationsManager
Link PIO Registry: https://registry.platformio.org/libraries/vitaly.ruhl/ESP32%20Configuration%20Manager



