TurboStitchGIF: A fast, header-only C GIF decoder without dynamic allocations, ideal for embedded systems and cross-platform projects.
-
Updated
Feb 22, 2026 - C
TurboStitchGIF: A fast, header-only C GIF decoder without dynamic allocations, ideal for embedded systems and cross-platform projects.
Lightweight C99 key scanning library for embedded systems — debounce, long press, multi-click, no dynamic allocation, bare-metal or RTOS.
Lightweight C99 software timer library for embedded systems — ordered scheduling, async start/stop, catch-up, no dynamic allocation, bare-metal or RTOS.
Portable C99 runtime for TiGrIS. No dynamic allocation, no dependencies beyond libc.
Configuration management library
HTTP/1.1, HTTP/2 and HTTP/3 in Zig, client and server, written from the RFCs: no heap, no I/O of its own, deterministic simulation, TLA+ and Lean models. QUIC included.
TLS 1.3 client and server in C11 for devices with a few kB of RAM: no heap, libc only, Apache-2.0. It also runs as QUIC's TLS layer, offers the X25519MLKEM768 post-quantum hybrid, and has a Zig API. Most sources carry a CBMC memory-safety proof, and CI compares the crypto with a Lean spec on every push to main.
Lightweight C data structures library for embedded systems - Linked list, ring buffer, hash table, queue, stack with zero malloc
Event loop and I/O layer for Zig 0.16: io_uring on Linux with an epoll fallback, kqueue on macOS. Allocates nothing, keeps assertions on in production, and is benchmarked against libuv and libxev in a harness anyone can re-run. Apache-2.0.
SAE J1939-21 transport for microcontrollers, no dynamic allocation, host-testable
A regex engine small enough to embed: 546 bytes of Cortex-M4 for precompiled patterns, 1518 for runtime patterns. Captures, alternation, UTF-8, lazy and bounded repetition, in C99 with no malloc.
A telemetry and command protocol for microcontrollers, written in portable C11 with no dynamic allocation.
zero-allocation data structures for embedded C applications
Seismic field-station telemetry in C: no-heap firmware core, 256-byte UDP protocol with CRC-32 and Steim2 compression, retransmit buffer and backfill over links that lose 30% of packets
To associate your repository with the no-malloc topic, visit your repo's landing page and select "manage topics."