ZekStack is a collection of C++ libraries used across our ESP32 projects.
The repositories are mostly focused on infrastructure that would otherwise be repeated between firmware projects: storage, memory management, localization, networking helpers, utilities, and similar low-level components.
Most libraries are developed as independent packages and can be used without pulling in the rest of the stack.
The libraries generally follow a few common rules:
- keep the public API small
- avoid unnecessary dependencies
- make ownership and lifetime explicit
- support ESP32 memory constraints, including PSRAM where useful
- prefer configuration over compile-time assumptions
- keep features separated into focused libraries
- provide examples for the common use cases
- keep library structure and CI reasonably consistent across repositories
ZekStack is not intended to be an application framework. Applications decide which parts they need and compose them directly.
Most repositories target some combination of:
- C++17
- ESP32
- Arduino
- ESP-IDF
- PlatformIO
- FreeRTOS
Individual libraries may support additional environments depending on what they actually depend on.
Libraries usually follow roughly the same layout:
.
├── examples/
├── src/
├── test/
├── docs/
├── library.json
├── platformio.ini
├── LICENSE
└── README.md
Exact structure varies when a library does not need one of these parts.
Each repository documents its own API, configuration, supported platforms, and examples.
Browse the repositories here: