Releases¶
TinySHM — Two Code Versions for Different Needs
The TinySHM framework evolves in two tracks. Choose based on whether you need runtime orchestration.
Version Overview¶
The CODE/ folder contains two complete ESP-IDF projects, both sharing the same hardware drivers and core middleware. The difference is in the orchestration layer.
-
AIoTNode-TinySHM
Core framework — all signal processing, system identification, and damage assessment modules.
Middleware: TinyToolbox · TinyMath · TinyDSP · TinyAI · TinyMeasurement · TinySysid · TinyDamage
Best for: Standalone edge nodes performing data acquisition, on-device modal analysis, and damage detection.
-
AIoTNode-TinySHM-Bench-Orch
Full framework — everything in the core version, plus TinyBench and TinyOrch for runtime orchestration.
Middleware: Core + TinyBench · TinyOrch
Best for: Multi-agent systems, remote workflow orchestration via MQTT, and environments where runtime data/tool discovery is required.
Architecture Comparison¶
| Layer | TinySHM | TinySHM-Bench-Orch |
|---|---|---|
| APPLICATION | measurement, sysid, damage | TinyOrch + TinyBench + measurement, sysid, damage |
| MIDDLEWARE | TinyToolbox, TinyMath, TinyDSP, TinyAI | TinyToolbox, TinyMath, TinyDSP, TinyAI, TinyBench, TinyOrch |
| DRIVERS | WiFi, MQTT, ADXL355/367, RTC, SD, SPI, I2C, LED, RGB, ESP-NOW, Timer, RNG, Exit | Identical |
| HARDWARE | ESP32-S3 (LiftNode) | Identical |
Module Checklist¶
| Module | TinySHM | TinySHM-Bench-Orch | Description |
|---|---|---|---|
| TinyToolbox | ✅ | ✅ | Platform adaptation & utilities (TIME) |
| TinyMath | ✅ | ✅ | Vector, matrix, decomp, eigenvalues |
| TinyDSP | ✅ | ✅ | Conv, corr, FFT, FIR, IIR, DWT, ICA |
| TinyAI | ✅ | ✅ | On-device training & inference |
| TinyMeasurement | ✅ | ✅ | Online/offline/RT sensing |
| TinySysid | ✅ | ✅ | PP, FDD, EFDD, ITD, ERA, SSI |
| TinyDamage | ✅ | ✅ | Detection, localization, severity |
| TinyBench | ❌ | ✅ | Runtime named data & tool registry |
| TinyOrch | ❌ | ✅ | Processing pipeline orchestration |
When to Use Which¶
-
Dedicated data logger
→ TinySHM — acquisition, sysid, and damage on a single node. No orchestration needed.
-
Multi-node monitoring system
→ TinySHM-Bench-Orch — TinyBench enables runtime data/tool discovery across the network; TinyOrch lets you define and update processing pipelines remotely.
-
Memory-constrained edge node
→ TinySHM — saves the RAM/code footprint of Bench (~2 KB) and Orch (~4 KB).
-
Agent-driven autonomous operation
→ TinySHM-Bench-Orch — agents use
BENCH,DATA/BENCH,TOOLS/ORCH,CREATEMQTT commands to discover and orchestrate workflows at runtime.
Quick Start¶
Changelog Highlights¶
Bench-Orch (Latest)¶
- New:
tiny_bench— runtime named registry for data slots and tools - New:
tiny_orch— step-based processing pipeline orchestration - New: MQTT commands
BENCH,TOOLS,BENCH,DATA,ORCH,CREATE,ORCH,GO - New:
tiny_bench_example.c— demonstration of put/register/list/info - Updated:
AIoTNode.cpp— integrates Bench + Orch into the main event loop - Baseline: All features from TinySHM core
TinySHM Core (Stable)¶
- All existing modules: Toolbox, Math, DSP, AI, Measurement, Sysid, Damage
- Proven on ESP32-S3 with ADXL355 accelerometer
- Supports MQTT remote command & control
- Three acquisition modes: online, offline, real-time processing
- Six OMA methods: PP, FDD, EFDD, ITD, ERA, SSI