FlashBudget checks flash and RAM usage on every pull request and comments the size diff, symbol by symbol — so you never discover a blown memory budget three weeks before release.
Two ways to look at this — pick one.
A real pull request, on a real (small) firmware repo. Nothing staged for this screenshot — this is what the bot actually posted.
On a resource-constrained MCU, memory doesn't run out gradually — it runs out on the exact commit nobody checked.
The build finally fails on the release branch, two days before shipping, and nobody remembers which of the last forty commits pushed it over.
A new dependency, a bigger buffer, a debug string left in — each one looks harmless in review because nobody sees the memory impact.
Someone could run size or nm by hand after every PR. Nobody does it every time. So it stops happening at all.
Add one step to your existing build that uploads the .elf or .map file after compilation. No firmware code changes required.
FlashBudget compares flash and RAM usage against the target branch, section by section and symbol by symbol.
A comment lands directly on the pull request, plus an alert if a configured budget threshold is crossed.
See exactly which function, struct, or constant grew — not just a total byte count.
Set a hard flash/RAM ceiling per target and fail the build automatically when it's crossed.
Track memory footprint over time across firmware targets, not just per pull request.
Different budgets for different boards or variants built from the same repository.
Your .elf is parsed in memory and discarded seconds later — never written to disk, never executed, never logged. Only derived size metadata (symbol names and byte counts) is kept. That's in the privacy policy, in writing.
The diff engine, fbdiff, is 200 lines of readable open-source Python. Read it — or run it fully locally in your CI, so nothing leaves your infrastructure. Want the full technical breakdown? Read the application note (PDF) →
FlashBudget never gets access to your repositories. The PR comment is posted by your own CI, with your permissions. We only ever see what you send us.
Create a project, plug your CI, get size reports on your PRs today. Free tier covers 100 builds a month — Team unlocks unlimited builds, targets, and history for €19/mo.
Not ready to try it? Get an email when we ship new features.