Back to Home11/19/2025, 2:10:33 PM

Show HN: MemBrowse - CI/CD memory footprint tracking for embedded firmware

1 points
0 comments

Mood

calm

Sentiment

positive

Category

tech

Key topics

embedded firmware

CI/CD

memory footprint tracking

Built this after working with Intel’s Bluetooth firmware team - we kept seeing builds suddenly fail because memory crept up a few bytes at a time until it overflowed. Then everyone lost hours/days bisecting symbols and linker maps to figure out which commit pushed it over.

So I made a CI tool that tracks firmware memory footprint across commits and flags bloat before it breaks the build.

How it works:

CLI parses ELF + DWARF, extracts per-section/per-symbol/per-file size info

CI uploads reports; the platform stores history and generates diffs

Shows exactly what changed between commits (what grew, where, and by how much)

Optional memory budgets via commit keywords (acts as a CI gate to block regressions)

The report generator is open source: https://github.com/membrowse/membrowse-action

Works with GitHub Actions or any CI, tested on ARM, ESP32, ARC, x86 (multiple toolchains).

There’s also a live demo analyzing MicroPython firmware builds at membrowse.com.

Curious to hear from embedded folks: * How do you track code size / memory usage today?

* What would stop you from adding this type of check to CI?

* What’s missing that would make this genuinely useful for your workflow?

The author is sharing a tool called MemBrowse for tracking memory footprint in embedded firmware as part of CI/CD processes.

Snapshot generated from the HN discussion

Discussion Activity

No activity data yet

We're still syncing comments from Hacker News.

Generating AI Summary...

Analyzing up to 500 comments to identify key contributors and discussion patterns

Discussion (0 comments)

Discussion hasn't started yet.

ID: 45979698Type: storyLast synced: 11/19/2025, 3:27:02 PM

Want the full context?

Jump to the original sources

Read the primary article or dive into the live Hacker News thread when you're ready.