Skip to content

ARCHITECTURE

Component dependencies

flowchart BT
    T[TinyToolbox / ESP-IDF] --> M[TinyMath]
    M --> D[TinyDSP]
    D --> A[TinyAI]
    A --> P[Applications and examples]

This graph follows the current component CMake dependencies. Algorithms may call Math directly; CMake still determines component inclusion.

Portability boundaries

Scope Current state
ESP32-S3 / ESP-IDF Primary development and configured project target
Generic computation branch Some Math kernels have portable C paths; check each function
Toolbox and project build Direct dependencies on esp_timer, node_rtc, ESP-DSP, ESP-DL and other components
STM32 / RISC-V identifiers Reserved platform macros, not complete buildable ports

Porting the entire stack requires adapting tools, build dependencies, platform selection, allocation and direct platform calls. Switching MCU_PLATFORM_GENERIC or replacing timing alone does not establish a complete port.

Reading order

Start with getting started to identify actual entries, then read usage, APIs and tests. Historical coverage and current default execution are documented separately.

Original layer diagram

LAYERED ARCHITECTURE

+------------------------------+
| AI                           | <-- AI/ML Functions for Edge Devices based on Low Level Functions
+------------------------------+
| DSP                          | <-- Digital Signal Processing Functions
+------------------------------+
| Math Operations              | <-- Commonly Used Math Functions for Various Applications
+------------------------------+
| Adaptation/Toolbox Layer     | <-- To Replace Functions in Standard C with Platform Optimized/Specific Functions
+------------------------------+