Micro-RLE ≤264-byte compression for UART/MCU logs, zero RAM growth
Details
- External ID
- 45784368
- Source
- HN
- Company
- —
- Product
- Micro-RLE ≤264-byte compression for UART/MCU logs, zero RAM growth
- Website domain
- github.com
- Launched
- Nov. 1, 2025
- Cohort
- —
- Upvotes
- 7
- Upvotes percentile
- 0.37882096069869
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
I needed to stuff twice the telemetry through the same 115 kbaud line on a Cortex-M0+ that only had 8 kB flash left.Micro-RLE is the smallest drop-in I could come up with: 264 B of Thumb code, 36 B of state, no malloc, worst-case 14 cycles/byte and still lossless for every 8-bit pattern.On the usual sensor streams (ADC, IMU, GPS) it’s 33-70 % smaller than raw output and boots in < 600 µs, so you can fire-and-forget from main() before the PLL even locks.Repo is a single .c file and a 3-function API—replace the weak emit() hook with your UART / DMA / ring-buffer and you’re done.Size proof: arm-none-eabi-size micro_rle.o text data bss 264 0 36MIT licensed, link in the repo. Happy to hear where else this fits!
Enrichment
- Theme
- lightweight and on-device AI runtimes
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- compression for uart and mcu logs
- Manually corrected
- False
Could you build this?
No Hand-tuning a custom RLE compression algorithm to fit inside 264 bytes of ARM Cortex-M0+ Thumb assembly with static memory constraints and strict cycle limits is deep low-level embedded engineering.
What it would actually take: Building this requires writing handcrafted ARMv6-M Thumb assembly, manually allocating registers, avoiding dynamic memory allocation (`malloc`), and calculating opcode cycle budgets down to 14 cycles/byte. It demands deep understanding of microcontroller instruction sets, hardware UART buffers, and data compression theory under strict flash/RAM constraints (8 kB flash, 36 B state). This necessitates seasoned embedded systems and low-level firmware engineering talent.
Discussion
2 comments analyzed.
Competitors mentioned: LZ compression
Concerns raised: compression claims only apply to repetitive firmware logs not general text, 33-70% compression figure misleading for typical use cases, RLE ineffective on English text with few repeated letters
Competitors
Other products that read as similar to this one — 40 launches clear the similarity bar, closest 8 shown.
Attention rank: #23 of 41 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Looks like the first mover among its competitors.
- Micron: a high performance C++23 (re)implementation of Libc and the STL · hn · 2026-06-05 · 6 upvotes · similarity 0.39
- OCI MicroVMs for Proxmox VE · hn · 2026-04-18 · 11 upvotes · similarity 0.38
- I built an encrypted BLE dongle for pasting stuff to air-gapped devices · hn · 2026-07-04 · 5 upvotes · similarity 0.38
- Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB · hn · 2026-06-23 · 112 upvotes · similarity 0.35
- 8Gb DDR4 DRAM Chip · Wide-temp · CN · ph · 2026-09-17 · 1 upvotes · similarity 0.35
- flywire-fly-lab · github · 2026-09-15 · 12 upvotes · similarity 0.34
- m6502, a 6502 CPU for FPGAs and Tiny Tapeout · hn · 2026-02-18 · 5 upvotes · similarity 0.34
- Huilink · ph · 2026-09-22 · 1 upvotes · similarity 0.34
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.