Roo Libraries
API Documentation

Welcome to the Roo Libraries API Documentation!

The Roo libraries are a collection of Arduino-compatible C++ libraries for ESP32 and related microcontrollers. They provide powerful tools for displays, UI, I/O, testing, and more.

This documentation is automatically generated from the source code using Doxygen.

Available Libraries (26)

roo_blink

Blink LEDs like a pro! (On ESP32 / Arduino).

roo_collections

Small, flat, memory-conscious hashtable for microcontrollers (e.g. Arduino projects).

roo_comms

Home automation library for Espressif SOCs, building on top of the esp_now protocol.

roo_control

Arduino relays, port extenders, debouncing, retries: common abstractions and implementations.

roo_display

Arduino-compliant library for driving display devices and touch panels, e.g. ILI9486, ILI9341, or ST7789. Powerful and fast.

roo_flags

Minimalistic support for run-time options. Useful in libraries, for dynamic configuration.

roo_icons

Collection of icons for use with the roo_display library.

roo_io

Common I/O classes and routines: data encoding/decoding, file and stream abstraction, byte iterators.

roo_locale

Locale-related functionality, used by other roo libraries.

roo_logging

Arduino logging library for ESP32 and related boards. Based on Google's glog.

roo_monitoring

Library to allow capture and aggregation of monitoring metrics on microcontrollers.

roo_onewire

Library for OneWire thermometers. Supports asynchronous conversion with event notification.

roo_prefs

ESP32 'Preferences' utility library for management of persistent settings.

roo_quantity

Helpers to handle physical quantities, such as temperature, pressure, distance, velocity, etc.

roo_scheduler

Arduino-compliant microcontroller library for scheduling delayed and/or repetitive tasks.

roo_testing

Experimental ESP32 emulator that can be used to test Arduino sketches on Linux.

roo_threads

Experimental portable threading library. Enables emulation of ESP32 multithreaded programs under roo_testing.

roo_time

Arduino-compliant ESP32 library for basic management of elapsed time, wall time, and date time with multi-timezone support.

roo_time_ds3231

Arduino driver for DS3231 real-time clock, compliant with roo_time.

roo_transceivers

Detection and aggregation of arbitrary transceiver devices, supporting arbitrary sensors and actuators.

roo_transport

Reliable transport (bidi streams, reliable packets, messaging) over Serial.

roo_wifi

WiFi controller library for ESP32, supporting storing persistent configuration in flash.

roo_windows

Window management library, supporting touch, visually modeled on Material Design.

roo_windows_onewire

GUI OneWire thermometer configurator for ESP32, using roo_windows.

roo_windows_transceivers

UI configuration for roo_transceivers, using the roo_windows framework.

roo_windows_wifi

GUI WiFi configurator for ESP32, using roo_windows.