I build industrial software, embedded C libraries, firmware infrastructure and developer tools with a focus on predictable behavior, clear failure modes and practical integration with real hardware. My work spans C, C++, C#/.NET, microcontrollers, industrial communication, storage, diagnostics and reliability-oriented systems.
I work across application software, embedded systems and the infrastructure between them. The common goal is software that is understandable, testable and practical to integrate.
Desktop and internal business tools, industrial data processing, SQL-backed applications and integration layers that connect software with production processes.
Embedded C99 libraries, microcontrollers, ESP32 work, deterministic memory and execution behavior, and hardware abstraction for constrained environments.
Runtime safety, persistent evidence, logging, recovery behavior, storage integrity and explicit system contracts that can be tested rather than assumed.
Industrial communication, Modbus and device integration, host-side utilities, diagnostics and development tools that bridge embedded devices and desktop systems.
LOX is my family of embedded and systems-software projects. It brings together focused libraries for storage, boot, safety, diagnostics, permissions, sequencing and resource control under one technical identity.
Peter Hajduch creates LOX - a technical brand for embedded systems work
These are the LOX projects that grew out of Peter Hajduch's embedded and systems work: C99 libraries built around storage, safety and resource control with predictable memory and a small integration surface.
Three storage models behind one C99 API. 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. Intentionally narrower than SQLite - built for dataloggers, controllers and small edge runtimes.
The PRO layer for embedded products that need more than storage: security and integrity, runtime safety validation, metrics and alerting, policy gates, quotas and retention, backup and schema migration, replication and transport framing, OTA planning with rollback hooks, CLI tooling, and optional SD/NAND-FTL adapters. The public repository contains API-level documentation; the implementation is not published.
Open loxdb_pro detailA/B slot model, boot state validation, UART update transport, rollback-oriented boot flow, and a clean platform handoff boundary - without heap allocation.
Open loxboot detailExplicit execution boundaries around risky code - parsers, protocol handlers, recovery-sensitive routines. Failures become structured runtime evidence instead of a bare watchdog reset.
Open loxguard detailThe full alarm lifecycle for firmware: on/off delays, latching, acknowledge flow, shelving, reason flags, and snapshot/restore support.
Open loxalarm detailCheckpointed step progress with a reboot recovery/resume policy per step - multi-step procedures that survive a power drop mid-step.
Open loxseq detailHeap-free evaluator with explainable deny mask, first-out detection, qualifier times, latching, and maintenance bypass. When firmware says no, it tells you why.
Open loxperm detailA heap-free pre-flight gate in front of risky firmware work: MQTT publish, OTA, flash writes, log bursts. Deterministic check / enter / leave decisions per operation profile.
Open loxbudget detailFor developers who know their data: train a codec table from representative MQTT payloads, telemetry or logs, export it, and decode with predictable table-driven logic. Not a gzip competitor, not encryption - a compact encoding path for domain-specific text.
Open loxc detailEvery LOX library follows the same contract: C99, predictable memory, small integration surface, clear failure modes, and tests before claims. Browse all repositories on GitHub.
View all repositories ->A collection of small composable libraries sharing one philosophy: no heap, no dependencies, no code generation.
Debug shell with history and tab completion
Multi-backend structured logging
Table-driven finite state machine engine
Retry with backoff, circuit breaker, rate limiter
Schema-driven config with CRC and flash storage
Minimal CBOR encoder / decoder
Generic lock-free SPSC ring buffer
Software timers - one-shot and periodic
Topic-based event / pub-sub bus
Persistent store-and-forward MQTT queue
Runtime health monitor with metrics and threshold-based alerts
Per-task software watchdog with escalation states
Boot and recovery manager with crash-loop detection
Unified panic system with hook chain and severity levels
OTA flow with chunking, CRC, version checks, commit / rollback
Unified flash abstraction for NOR / EEPROM / FRAM / RAM-like storage
Contact Peter Hajduch directly for embedded C testing, MCU validation, industrial and edge systems, storage and power-loss behavior, reliability and diagnostics, or C#/.NET and host-side tooling where relevant.
Support the projects
If the LOX family or micro-toolkit saves you time in a real project, you can support continued development by getting in touch. That helps cover hardware for validation and testing.