micro-toolkit

A collection of small composable embedded C99 libraries sharing one philosophy: no heap, no dependencies, no code generation — just #include and go.

C9910 modules+ 6 embedded-guard libraries
Overview

Composable modules, one philosophy

Every module solves one problem with a small, predictable surface. Pick what you need, ignore the rest — they compose, but never depend on each other.

microsh

Debug shell with history and tab completion.

microlog

Multi-backend structured logging.

microfsm

Table-driven finite state machine engine.

microres

Retry with backoff, circuit breaker and rate limiter.

microconf

Schema-driven config with CRC and flash storage.

microcbor

Minimal CBOR encoder/decoder.

micoring

Generic lock-free SPSC ring buffer.

microtimer

Software timer manager for one-shot and periodic timers.

microbus

Topic-based event/pub-sub bus.

iotspool

Persistent store-and-forward MQTT queue.

embedded-guard

Safety, monitoring & recovery: microhealth, microwdt, microboot, microassert, microota, microflash.

Bare-metal extras

panicdump, nvlog, defer, cguard, safemath, microcrypt, microdh, microtest and more.

Design rule

No heap, no dependencies, no code generation. Small code, clear contracts, real tests — and no claims without evidence.

Next in the family loxdb — deterministic embedded database →