Examples
oveRTOS ships with six example applications, each available across C, C++, Rust, and Zig (with a handful of language-specific exceptions noted below). All examples compile and run identically across FreeRTOS, Zephyr, NuttX, and POSIX backends.
Interactive WASM demos run directly in your browser — no toolchain needed.
| Example | Description | APIs Demonstrated |
|---|---|---|
| Basic Example | Producer-consumer with LVGL display | Threads, queues, mutexes, timers, LVGL |
| Networking | Full network stack test suite | Sockets, DNS, HTTP, MQTT, SNTP, HTTPD |
| Power Management | Sleep states, domains, wake sources | PM state machine, domains, policy, stats |
| Keyword Detection | Real-time "yes/no" speech recognition | Audio graph, ML inference, I2S |
| LVGL Benchmark | Upstream LVGL benchmark scenes through the binding | LVGL widgets, animations, image decoding, FPS/CPU/render metrics |
| LVGL Gallery | One-widget-per-page tour of every wrapped LVGL widget | LVGL widget surface (22 types), typed wrappers, RAII locking |
Language support
Each example is implemented in all four languages using the same oveRTOS API:
- C —
_create()/_destroy()(heap mode) orOVE_*_DEFINE_STATIC()/_init()(works in both modes) - C++ — RAII wrappers (
ove::Thread<4096>,ove::Queue<T, N>), template patterns - Rust —
no_stdcrate withResulterror handling, safe abstractions over FFI - Zig —
@cImportbindings, comptime feature detection,defercleanup
WASM demos
Most examples have browser-based WASM demos. Click the links on each example's page to try them live.
| Language | WASM-built demos |
|---|---|
| C | Basic, Networking, Power Management, Keyword Detection |
| C++ | Basic, Networking, Power Management, Keyword Detection, LVGL Gallery |
| Rust | Basic, Networking |
| Zig | None — Zig 0.16 still lacks wasm32-emscripten |
Source for every example exists in every language regardless of WASM-demo availability; see the per-example pages below.