CALCULATORS / EMBEDDED TIMING AND DIGITAL SYSTEMS

Firmware memory budget calculator

Byte counts represented as dimensionless counts; decimal bytes, no alignment model.

embedded-memory-budget.napkin / editable
✓ checks pass

SCENARIO COMPARISON

Compare the numbers.

This source describes an analytical model. Its quantities and checks are the view.

ScenarioflashUsedflashReserveramUsedramReserve
1200001421442000045536
120000897152000045536

All calculated quantities are listed with the inputs. Switch to Source to inspect the equations.

SCENARIOS / CALCULATED VALUESSAME SOURCE

Change an input to see the consequences.

flash fits120000.00 ✓ passes
RAM fits20000.00 ✓ passes

BASELINE INPUTS

CALCULATED

flashUsed120000
flashReserve142140
ramUsed20000
ramReserve45536

Edits change the baseline source.

Calculated from your source · not saved
Baseline · Baseline
flash fits120000.00 ✓ passes
RAM fits20000.00 ✓ passes
alternative · alternative
flash fits120000.00 ✓ passes
RAM fits20000.00 ✓ passes

Illustrative first-order example. Checks are editable requirements, not design standards. The broader topic may require additional equations, data, and validation.

Formula and units

This example uses the following equations. Input names and units match the editable source above.

flash used
flashUsed = code+constants
flash reserve
flashReserve = flashAvailable-flashUsed
ram used
ramUsed = buffers+stack
ram reserve
ramReserve = ramAvailable-ramUsed

Original worked example

These are the baseline values in the downloadable source. Edits above let you test your own values.

Given

flash available
262144
code
100000
constants
20000
ram available
65536
buffers
12000
stack
8000

Calculated

flash used
120000
flash reserve
142144
ram used
20000
ram reserve
45536

Assumptions and limits

Byte counts represented as dimensionless counts; decimal bytes, no alignment model.

The requirement checks use the limits written in this example. Passing a check does not establish that the model covers every load, material behavior, or operating condition in a real design.

Download this .napkin example ↓

Take it further with your agent

Napkin keeps the inputs, equations, checks and assumptions together in one study. Your agent sets it up; you change the numbers.

Try with Claude ↗

codex 'Use Napkin (https://napkin.engineering/mcp, or the local Napkin plugin) to build a study: Firmware memory budget. Inputs: code/data sections; buffers; stack estimate; device limits. Outputs: flash/RAM usage; remaining margin. Model scope: Declared clock, peripheral and execution assumptions. Read napkin_capabilities and the current snapshot. Ask me for the values that matter, label assumptions with units, author .napkin source, validate it and apply it with napkin_source using the current revision, then open the study. Add checks for the limits I supply. Keep unsupported analyses explicit.'

Claude needs the Napkin connector; Codex needs the Napkin plugin. Set up your agent ↗

The broader study

The topic brief below describes the broader scope. The worked example above states the particular calculation it implements.

  • Inputs: code/data sections, buffers, stack estimate, device limits
  • Outputs: flash/RAM usage, remaining margin
  • Modes: calculate, compare, sweep
  • Drawing: Timing diagram or event simulation

EXECUTABLE WORKED EXAMPLE · FIRST-ORDER MODEL · CHECK THE SCOPE & ASSUMPTIONS

More in embedded timing and digital systems