Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content
View Vanderhell's full-sized avatar

Block or report Vanderhell

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
Vanderhell/README.md

Hi, I'm Vanderhell πŸ‘‹

Industrial software and embedded systems developer focused on reliable tools for production, firmware, diagnostics, and edge systems.

I build small, focused C/C#/C++ libraries and applications for real-world use: embedded storage, runtime safety, industrial communication, monitoring, data acquisition, and practical AI-assisted development workflows.

My usual design bias:

  • predictable behavior
  • small integration surface
  • clear failure modes
  • zero or minimal dependencies
  • tests before claims
  • tools that solve real problems, not demo problems

Collaboration

I am currently looking for collaborators who can help with testing, hardware validation, examples, documentation review, and real-world feedback on embedded C projects.

Main areas:

  • embedded C testing
  • MCU hardware validation
  • storage and power-loss testing
  • reliability and diagnostics
  • industrial/edge use cases
  • examples and integration feedback

If you are working with firmware, MCU platforms, RTOS/bare-metal systems, or industrial devices and want to test or review any of these projects, feel free to reach out.

Main projects

πŸ—„οΈ loxdb β€” Deterministic embedded database for MCU/edge systems

loxdb banner

loxdb is a compact embedded database written in C99 for firmware and small edge runtimes.

It combines three storage models behind one API surface:

  • KV for configuration, cache entries, and TTL-backed state
  • Time-series for sensor samples and rolling telemetry
  • Relational fixed-schema tables for small indexed structured data

Core design:

  • one allocation at lox_init()
  • fixed RAM budgeting
  • zero external dependencies
  • RAM-only or storage-backed operation
  • optional WAL-backed persistence and recovery
  • embedded-first storage HAL

loxdb is not a tiny SQLite clone. SQLite is excellent, but targets a different operating point. loxdb is intentionally narrower: deterministic storage for constrained firmware, dataloggers, controllers, and small edge runtimes where predictable memory and a small integration surface matter more than SQL features.

License: MIT open-source core.
Commercial extension: loxdb_pro_docs contains public API-level documentation for the planned/commercial PRO module set.


🧩 loxdb_pro β€” Commercial production modules around loxdb core

loxdb_pro_docs documents the public integration-facing API for the commercial loxdb_pro layer.

The PRO layer is designed for embedded products that need more than storage:

  • security and integrity
  • runtime safety validation
  • metrics, logging, monitoring, and alerting
  • policy gates, quotas, retention, and scheduling
  • backup and schema migration
  • replication and transport framing
  • OTA planning and rollback hooks
  • CLI tooling
  • optional SD card and NAND/FTL adapters

The public repository intentionally contains documentation only. The implementation and proprietary validation procedures are not published there.


πŸ›‘οΈ loxguard β€” Guard Blocks for embedded C firmware

loxguard is a lightweight C99 guard-runtime for embedded C.

It introduces Guard Blocks and Checked Guard Blocks: explicit execution boundaries around risky code such as parsers, protocol handlers, optional modules, and recovery-sensitive routines.

Instead of only failing with an assert or watchdog reset, loxguard turns failures into structured runtime evidence:

  • lifecycle events
  • policy decisions
  • blackbox records
  • reports
  • CSV/KV import-export paths
  • optional persistence and ecosystem adapters

Current scope includes checked span/arena primitives, Guard Block lifecycle tracking, failure reporting, policy decisions, local blackbox evidence, and host-tested integration paths.

loxguard does not claim full memory safety for arbitrary C code and is not a safety-certified framework. Its value is narrower: make unsafe execution states easier to detect, record, and react to in small embedded C systems.


Project map

Project Description Tech
loxdb Deterministic embedded database for constrained systems and microcontrollers. KV, time-series, and fixed-schema relational tables behind one C99 API. C99
loxdb_pro_docs Public API-level documentation for the commercial loxdb_pro module set. Docs / C API contracts
loxguard Embedded C guard-runtime for supervised execution boundaries, failure events, policy decisions, and blackbox evidence. C99
micro-toolkit Collection of small composable embedded C99 libraries. C99
embedded-guard libraries Health, watchdog, boot, panic, OTA, and flash support libraries. C99
IOBusMonitor Multi-protocol desktop tool for Modbus TCP/RTU and Siemens S7 PLCs. C#
RTULogSuite Modbus RTU logging toolchain: ESP32 firmware + Windows visualization app. C++ / C#
iotspool Persistent store-and-forward MQTT queue for embedded systems. C99

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

A collection of composable libraries sharing the same philosophy:

no heap, no dependencies, no code generation β€” just #include and go.

Toolkit modules

  • 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 MQTT store-and-forward queue.

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

Libraries that bridge embedded diagnostics, monitoring, recovery, and firmware lifecycle.

  • microhealth β€” runtime health monitor with metrics and threshold-based alerts.
  • microwdt β€” per-task software watchdog with escalation states.
  • microboot β€” boot and recovery manager with crash-loop detection.
  • microassert β€” unified panic system with hook chain and severity levels.
  • microota β€” OTA update flow with chunking, CRC, version checks, commit/rollback.
  • microflash β€” unified flash abstraction for NOR/EEPROM/FRAM/RAM-like storage.

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

Small utilities for writing safer and more debuggable embedded C.

  • 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.
  • nvlog β€” power-loss safe append log for FRAM/EEPROM/NOR flash.
  • defer β€” automatic resource cleanup for C via DEFER() macro.
  • cguard β€” scope guards and result types for C.
  • safemath β€” overflow-checked arithmetic and buffer sizing helpers.
  • microcrypt β€” SHA-256, HMAC-SHA256, AES-128 ECB/CBC.
  • microdh β€” minimal X25519 key exchange for embedded systems.
  • microtest β€” single-header C test framework.

πŸ“¦ Binary formats & data engines

  • num8 β€” O(1) membership engine for 8-digit numbers using a fixed bitset.
  • IronFamily.FileEngine β€” binary IoT file engines: config, structured logs, and firmware update package formats.

🏭 Industrial IoT & protocols

Desktop tools and firmware for real-world industrial communication.

  • IOBusMonitor β€” multi-protocol desktop tool for Modbus TCP/RTU and Siemens S7 PLCs.
  • RTULogSuite β€” complete Modbus RTU logging toolchain: ESP32 firmware + Windows visualization.
  • iotspool β€” persistent store-and-forward MQTT queue.
  • uMesh β€” lightweight mesh networking stack for ESP32 over raw 802.11.
  • num8-lup β€” low-bandwidth update propagation protocol for constrained links.

πŸ–₯️ Desktop & .NET

  • MultiGpuHelper β€” C# library for scheduling compute workloads across multiple GPUs.
  • CrudFramework β€” lightweight CRUD framework for .NET, EF Core, SQLite/SQL Server, and WPF-ready bindings.

⚑ Hardware projects

  • securebox-hw β€” secure hardware password manager concept on ESP32-S3 with external encrypted storage.
  • Pragotron-Controller β€” minute-impulse controller for a Pragotron stepper clock.

Focus

I am interested in embedded reliability, deterministic storage, firmware diagnostics, industrial data systems, and practical AI-assisted engineering.

Most of my projects follow the same rule:

small code, clear contracts, real tests, and no claims without evidence.

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# 3 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 5 1