Skip to content

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) or OVE_*_DEFINE_STATIC() / _init() (works in both modes)
  • C++ — RAII wrappers (ove::Thread<4096>, ove::Queue<T, N>), template patterns
  • Rustno_std crate with Result error handling, safe abstractions over FFI
  • Zig@cImport bindings, comptime feature detection, defer cleanup

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.