Skip to content
View Vanderhell's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report Vanderhell

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Vanderhell/README.md

Hi, I'm Vanderhell πŸ‘‹

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.


πŸ”§ micro-toolkit β€” Modular C99 libraries for embedded systems

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


πŸ”— embedded-guard β€” Safety, monitoring & recovery

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

πŸ›‘οΈ Bare-metal safety & diagnostics

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

πŸ“¦ Binary formats & data engines

Project Description
num8 O(1) membership engine for 8-digit numbers β€” 12.5 MB fixed bitset, 124M lookups/s, C99, zero dependencies
IronFamily.FileEngine Binary IoT file engines β€” ICFG (schema-validated config), ILOG (structured append log), IUPD (firmware update package) β€” .NET + native C

🏭 Industrial IoT & protocols

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
uMesh Lightweight mesh networking stack for ESP32 over raw 802.11 β€” multi-hop routing, encrypted transport, compact custom protocol, still in active development

πŸ–₯️ Desktop & .NET

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

⚑ Hardware projects

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

Pinned Loading

  1. IOBusMonitor IOBusMonitor Public

    Multi-protocol desktop tool for reading, archiving and visualising data from Modbus (TCP / RTU) and Siemens S7 PLCs.

    C# 2 1

  2. RTULogSuite RTULogSuite Public

    Complete toolchain for logging and visualizing Modbus RTU data. Includes firmware for ESP32 and a Windows desktop visualization app.

    C++ 2 1

  3. MultiGpuHelper MultiGpuHelper Public

    High-level C# library for scheduling compute workloads across multiple GPUs. Provides device discovery, VRAM budgeting, concurrency control and policy-based GPU selection for AI inference, renderin…

    C#

  4. iotspool iotspool Public

    Persistent store-and-forward queue for MQTT messages. Survives power loss and reboots. Supports Linux, ESP32, and STM32. Written in C99 with zero dependencies.

    C 1

  5. MCU-Malloc-Tracker MCU-Malloc-Tracker Public

    Deterministic heap diagnostics for bare-metal MCUs: malloc/free tracking, binary snapshots, CRC validation, and offline analysis.

    C

  6. uMesh uMesh Public template

    Lightweight open mesh protocol over raw 802.11 for ESP32

    C 4