Tiny CLI and script interpreter for embedded systems. Under 4KB flash, zero malloc, multi-instance. Interactive command line with scriptable dispatch, single-key menus, and pass-through mode.
OBD-II vehicle data for ESP-IDF: read live PIDs, supported-PID maps, and DTCs from an ELM327 adapter over Bluetooth Classic SPP or BLE, or directly off the CAN bus via the on-chip TWAI controller. Shared decode layer, pluggable links, configurable via menuconfig.
Reliable store-and-forward data delivery for ESP-IDF: a durable, crash-safe flash queue with automatic retry/backoff, delivered over HTTP(S) or any pluggable transport.
Progressive (SOF2) JPEG decoder for memory-constrained systems. Decodes at 1/1, 1/2, 1/4 or 1/8 in a single forward pass with no seeking, storing only the low-frequency corner of each block that a reduced-scale IDCT will read. Storage still scales with the SOURCE image and not with the output, but with a much smaller constant than a general-purpose decoder: on a 12 MP 4:2:0 progressive file the peak is 23.0 / 8.9 / 3.6 MB at 1/2 / 1/4 / 1/8, against libjpeg-turbo's ~36 MB coefficient array at every scale. Size the budget from the frame header, not from the output you want; PSRAM is the assumption at megapixel sizes. Portable C99; I/O, row output and allocation are caller callbacks, so the large buffers can be pointed at external RAM while the hot working state stays internal.