Embedded systems developer focused on industrial IoT, Modbus, MQTT, and building reliable firmware. I write small, focused C/C# libraries that solve real problems β zero dependencies, zero allocations, tested.
A collection of composable libraries that share a common philosophy: no heap, no dependencies, no code generation β just #include and go.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β microsh βββ debug shell microlog ββ structured logging
β microfsm ββ state machines microres ββ retry + breaker
β microconfββ flash config microcborββ CBOR serialization
β micoring ββ ISR-safe ring buf iotspool ββ MQTT persistence
β microtimerβ software timers microbus ββ event pub/sub
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Library | What it does | Tests |
|---|---|---|
| microfsm | Table-driven finite state machine engine | 36 |
| microres | Retry with backoff, circuit breaker, rate limiter | 41 |
| microconf | Schema-driven config with CRC + flash storage | 40 |
| microlog | Multi-backend structured logging | 33 |
| microsh | Debug shell with history + tab completion | 43 |
| microcbor | Minimal CBOR encoder/decoder (RFC 8949) | 43 |
| micoring | Generic lock-free SPSC ring buffer | 33 |
| microtimer | Software timer manager β oneshot + periodic, drift-corrected | 25 |
| microbus | Event pub/sub bus β topic-based, ISR-safe deferred queue | 34 |
β micro-toolkit β architecture overview, design philosophy, and a complete example project
Libraries that bridge the toolkit together: boot orchestration, health monitoring, watchdogs, panic handling, OTA updates.
| Library | What it does | Tests |
|---|---|---|
| microhealth | Runtime health monitor β collect metrics, dual thresholds, edge-triggered alerts | 32 |
| microwdt | Per-task software watchdog β kick-based liveness, OK β LATE β STARVED escalation | 33 |
| microboot | Boot & recovery manager β crash loop detection, proven boot pattern, boot reason tracking | 32 |
| microassert | Unified panic system β hook chain (log β dump β reset), four severities, re-entrancy guard | 33 |
| microota | OTA firmware update β chunked download, CRC verify, version check, commit/rollback | 27 |
| microflash | Unified flash abstraction β partitions, NOR/EEPROM/FRAM/RAM, erase-write, wear stats | 33 |
Small utilities for writing safer, more debuggable embedded C code.
| Project | Description |
|---|---|
| panicdump | Crash dump library for Cortex-M3/M4 β capture on fault, survive reboot, decode offline |
| MCU-Malloc-Tracker | Deterministic heap diagnostics for bare-metal MCUs β malloc/free tracking, CRC snapshots |
| nvlog | Power-loss safe append log for FRAM/EEPROM/NOR flash β no heap, no filesystem, 186 tests |
| defer | Automatic resource cleanup for C via DEFER() macro β single header, GCC/Clang/ARM |
| cguard | Scope guards and result types for C β auto cleanup (free, fclose, unlock), header-only |
| safemath | Overflow-checked add, mul, align and buffer sizing β single header, C99 |
| microcrypt | SHA-256, HMAC-SHA256, AES-128 ECB/CBC β NIST/RFC test vectors, zero dependencies |
| microtest | Single-header test framework β suites, fixtures, filtering, color output, 16 assertion macros |
Desktop tools and firmware for real-world industrial communication.
| Project | Description |
|---|---|
| IOBusMonitor | Multi-protocol desktop tool for Modbus TCP/RTU and Siemens S7 PLCs β live dashboard, history charts, SQLite archive |
| RTULogSuite | Complete Modbus RTU logging toolchain β ESP32 firmware + Windows visualization app |
| iotspool | Persistent store-and-forward MQTT queue β survives power loss, C99, zero dependencies |
| Project | Description |
|---|---|
| MultiGpuHelper | C# library for scheduling compute workloads across multiple GPUs β device discovery, VRAM budgeting, policy-based selection |
| CrudFramework | Lightweight CRUD framework for .NET (EF Core + SQLite/SQL Server) β validation, filtering, paging, WPF-ready bindings |
| Project | Description |
|---|---|
| securebox-hw | Secure hardware password manager on ESP32-S3 with external encrypted storage |
| Pragotron-Controller | Minute-impulse controller for a Pragotron stepper clock β ESP32, DS1307 RTC, H-bridge |
