Engineering North Star

2

Fundamentals

Power, mass, link, timing. Four budgets that decide whether a system is physically possible. Fill them in honestly and you have a design. Skip them and you have a wishlist with a schedule attached.

2.1If you cannot quantify these, restart#

The sensor stopped returning data at exactly the moment the radio keyed up. Everyone looked at the sensor driver, because the sensor was the thing that had stopped. A week went into the driver. The driver was fine. What had happened was simpler and older than software: the radio’s transmit burst pulled the rail down, the regulator could not keep up, and the sensor browned out for forty milliseconds while the radio talked. Nobody had written down what the system drew when everything was on at once, so nobody had noticed that it drew more than the source could give.

That is what a budget is for. Before architecture, before component selection, before any of the work people associate with the word “design,” there is a smaller, more important question: can this thing physically exist on the constraints we have? The four budgets in this chapter answer it. They are the difference between a project that can ship and a project that cannot, told in numbers.

A budget here is the same thing your bank account is: an accounting of what is coming in against what is going out, with margin telling you how much room you have before something breaks. For a satellite the accounts are power, mass, RF link, and CPU time. For an embedded sensor, usually the first and last. The unit changes; the discipline does not.

As a technical program manager I once tried to make the budgets a gate: no design review passes until throughput, latency, and power have numbers next to them. The engineers half-filled the sheets, then stopped. When I pushed, management told me to move on; it was a younger team, and the gate was slowing them down. The numbers I had put on the program myself went untested and undesigned-to, and the program found out what they should have been the way programs always do, at integration, with the customer watching.

The lesson. A budget nobody is required to fill in is a budget nobody fills in. The gate is the point. It feels slow for a week and saves a quarter.

The hard rule#

If you cannot fill in the numbers in any of these budgets for your project, you have a plan that has yet to be checked against physics. Going further before checking is how teams build for six months on something that will never work, then start over.

What follows is one budget per section, each with the same shape: what it is, why it exists, what goes into it, a worked example, and what the numbers tell you. The figures are illustrative. Your project’s numbers will be different; the way you read them will be the same.

And the way you read every one of them is the same: find the margin, then place it on this scale.

Negativeredesign now
Under 20%thin, flag it
20% and uphealthy, room to be wrong

Margin is the most important number on the page. Below zero, the system cannot exist as drawn. Under twenty percent, one forgotten cable or one cold-start spike eats the rest. Twenty and up gives the design room to survive the deviations reality always brings.

Here is how the four worked examples in this chapter land on that scale, same reading, four different units:

PowerHealthy28% headroom
MassThin5% remaining
LinkAcceptable6 dB (3 / 6 / 10)
TimingHealthy33% of a 70% ceiling

Four budgets, one reading: find the margin, and below twenty percent the design is still a wish.

2.2Power budget#

What it is. Every component consumes power. Every source has a limit. A power budget lists every consumer and every source, accounts for the duty cycle of each, and tells you whether the system can run on the source under worst-case combined load.#

Why it exists. Power is the most common silent killer of new designs. Hardware that “should be fine” browns out under transmit load. The processor reboots when the motors actuate. None of these are bugs in the traditional sense. They are symptoms of a missing budget: the system was never proven to fit, and physics does not care that nobody checked.#

The mental model. A household electrical panel. Every appliance has a continuous draw and a peak draw: the moment the compressor kicks in, the moment the printer warms up. The panel has a total capacity. If the sum of continuous draws exceeds it, the breaker trips eventually. If the peak combinations exceed it, the breaker trips immediately. A power budget is the spreadsheet version of asking: are we going to trip the breaker?#

2 W 4 W 6 W 8 W 10 W 0 s 5 s 10 s 15 s 20 s average 2.8 W peak 8.5 W, 1.5 s of every 10 receive, 1.8 W all the time the regulator sees the peak; the battery sees the average
The radio from the example below, over twenty seconds. The battery has to supply the average. The regulator and the wiring have to survive the peak. Both numbers belong in the budget.

What goes into it.#

  • Each component’s nominal, peak, and standby current, from the datasheet first and the bench second, because datasheets understate.
  • Duty cycle: the fraction of time each component spends in each mode. A 10 W radio that transmits 5% of the time costs 0.5 W on average and 10 W during transmit.
  • Source capacity: battery watt-hours, solar wattage at the real angles and degraded efficiency, wall power available.
  • Conversion losses. An 85%-efficient regulator turns 15% of what passes through it into heat.
  • Margin, because real components do not read their datasheets.

Worked example#

ComponentPower (W)Duty cycleAverage (W)
Flight computer5.2100%5.2
Radio, transmit8.515%1.3
Radio, receive1.885%1.5
Sensors (IMU, GPS)2.1100%2.1
Payload camera3.520%0.7
Average total10.8 W
Solar available (daylight)15.0 W
Margin28%

What this table tells you. Average demand is 10.8 watts against 15 watts of daylight solar. The difference, 4.2 watts, is about 28% headroom, and that is healthy. At 5% you would be one cable, one undocumented LED, one cold-start spike from a brownout. Negative means a system that physically cannot run on its source, and the right response is to redesign, with fewer components, lower duty cycles, or a bigger source, before any more work is done.#

How it fails. The most common mistake is missing components rather than bad math. A first pass always undercounts: the LEDs, the pull-up resistors, the leakage of a disconnected sensor, the heater that turns on below freezing, the bias current of an op-amp chain. Real systems eat 10 to 30% more than the first pass suggests, which is exactly why margin is non-negotiable. Revisit the budget every time the design changes, and watch the margin rather than the total.#

Easy to forget#

Eclipse periods, battery charging losses, degradation over time, thermal effects on efficiency, and fault scenarios: one solar panel fails, one regulator dies. Model worst case. The day your system needs the most power is the day it is also the coldest, the panel is dirty, and the battery has been cycled a hundred times.

Run your own numbers#

The table below starts with the example above and recomputes as you change it. Type in your own components, duty cycles, and source, and read the margin off the gauge.

ComponentPower (W)Duty cycle (%)Average (W)
5.20
1.28
1.53
2.10
0.70
Average total10.81 W
Source available (W)
Margin28%
Negativeredesign now
Under 20%thin, flag it
20% and uphealthy

28% margin. Healthy. The design has room to absorb the components the first pass forgot.

The battery pays the average and the regulator pays the peak; budget both, and expect the first pass to be 10 to 30% light.

2.3Mass budget#

What it is. The mass of every component, summed and compared against whatever platform-level limit you have to live within: the launcher’s maximum payload, the airframe’s capacity, the drone’s lift envelope, the handheld product’s ergonomic ceiling.#

Why it exists. Launch costs scale with mass. Flight dynamics depend on mass and where it sits. Handheld products live or die on whether the user wants to hold them. Going over the allocation means the project stays on the ground, literally in some cases. Once you commit to a launcher or an airframe, the number is set in stone and everything else flexes around it.#

The mental model. A car packed for a long road trip. Every bag has a weight. The trunk has a limit. You bring what fits, and the box left on the driveway is the feature you cut.#

What goes into it.#

  • Every subsystem’s mass: from CAD if you have it, from datasheets if you do not, from a kitchen scale if you must.
  • Structure: the chassis, the brackets, the standoffs.
  • Fasteners. Every screw is real grams, and a typical assembly has hundreds.
  • Cables, connectors, and harnessing, which almost always come in heavier than anyone estimated.
  • Thermal interface material, potting compound, conformal coating: all nonzero.
  • Margin, because the integration team will discover at least three things you did not account for.

Worked example#

SubsystemMass (kg)Share
Structure and chassis2.828%
Power (solar, battery, regulators)2.222%
Avionics (computer, sensors)1.515%
Communications (radio, antennas)1.212%
Payload (camera, instruments)1.818%
Subtotal, known9.595%
Allocation (launcher limit)10.0100%
Margin0.5 kg5%, tight
Structure Power Avionics Comms Payload allocation 10.0 kg margin 0.5 kg 0 2 4 6 8 10 where an early-phase design should sit: 20 to 30% margin healthy you are here
The same table as a bar. The known subsystems fill 95% of the allocation; the healthy band for a design this early sits well to the left of where this one is.

What this table tells you. You are tracking 95% of your allocation across known subsystems, with 5% remaining. That is dangerous rather than safe. Real parts always weigh more than datasheets suggest. Industry practice for early-phase design is 20 to 30% margin precisely because the unknown unknowns at the start of a project are large. At 5% you are one heavy cable harness away from a launch slip.#

How it fails. Mass budgets fail by accumulation. No single decision blows it; it is the cumulative effect of fifty small “just a few extra grams” choices that nobody pushed back on. The discipline is to allocate mass to subsystems early and treat those allocations as firm: the comms team gets 1.2 kg, and if their antenna actually weighs 1.4, they cut something else rather than silently adding to the total.#

The fastener problem#

A typical aerospace assembly has hundreds to thousands of fasteners. At a few grams each, the total runs into kilograms. Almost no first-pass mass budget includes them, because nobody has the bill of materials yet. That oversight is fine if you carry 25% margin. It ends the project if you carry 5%.

Nobody has ever been surprised by how light the cable harness turned out to be.

Allocate mass to subsystems early, hold the allocations firm, and carry 20 to 30% for the fasteners and harness nobody has counted yet.

  • Transmitter output power and transmit antenna gain.
  • Free-space path loss for the geometry you actually operate in.
  • Atmospheric loss at the operating frequency and worst-case elevation, plus polarization and pointing losses.
  • Receive antenna gain.
  • Receiver noise floor: kTB plus the receiver’s own noise figure.
  • The SNR your modulation needs at the bit-error rate you will accept.
  • Margin, for fading, multipath, Doppler, and the things you did not think of.
+20 +30 +40 -120 -110 -100 -90 dBm +30 +2 -139.2 -3 +15 received -95.2 dBm noise floor -111 dBm required 10 dB margin 5.8 dB SNR 15.8 dB = 10 required + 5.8 spare transmit power transmit antenna free-space loss atmosphere, pointing receive antenna
The example as a waterfall. Power climbs with the transmit antenna, falls off a cliff at the path loss, loses a little more to weather and pointing, climbs with the receive antenna, and lands 15.8 dB above the noise. Ten of those are spoken for; 5.8 are yours.
ParameterValueNotes
Transmit power+30.0 dBm1 watt output
Transmit antenna gain+2.0 dBiOmnidirectional dipole
Free-space path loss-139.2 dB500 km at 435 MHz
Atmosphere, polarization, pointing-3.0 dBLow elevation pass
Receive antenna gain+15.0 dBiGround station Yagi
Received power-95.2 dBm
Receiver noise floor-111.0 dBmkTB in 1 MHz, 3 dB noise figure
Required SNR10.0 dBFor BER below 1 in a million
Link margin5.8 dBAcceptable

Enter a link and read the margin. Path loss uses the free-space formula with distance in kilometers and frequency in megahertz; put everything the free-space model leaves out, foliage, rain, multipath, pointing, cable loss, into the extra-losses line.

The arithmetic is easy and the assumptions are where links die; budget for the environment you will actually operate in, and read 3, 6, and 10 dB as barely, acceptable, and comfortable.

2.5Timing budget#

What it is. An accounting of how much CPU time each task consumes, how often each task runs, and whether the processor can keep up with all of them under worst-case combined load while still meeting each task’s deadline.#

Why it exists. Real-time systems have hard deadlines. A control loop that is supposed to run every 10 milliseconds must actually run every 10 milliseconds, every time, and an average is no comfort. Miss a deadline and you get unstable control loops, dropped data, missed sensor reads, and in safety-critical systems, dangerous behavior. A timing budget proves the processor can meet every deadline before you commit to the architecture.#

The mental model. A delivery driver with a route. Each stop has a window, some flexible, some tight. The driver has eight hours. The question is whether every stop can be made and every window met. If the math says the route is 110% of the available time, a window will be missed. Which one depends on the order, but one will be missed.#

What goes into it.#

  • Each task’s worst-case execution time: the slowest it can be under maximum load with all branches taken and the cache cold.
  • Each task’s period (how often it must run) and deadline (how soon after release it must finish).
  • Interrupt-handling overhead, because interrupts steal CPU from whatever was running.
  • Context-switch costs, including cache and TLB effects.
  • Margin, because nobody’s WCET measurement is exhaustive on the first pass.

Worked example#

Attitude control Sensor reading Command handler Health monitor Telemetry 0 ms 25 ms 50 ms 75 ms 100 ms CPU busy 33% of every 100 ms 70% ceiling
The five tasks from the table below, laid on a 100 millisecond timeline. Each bar is one run at its worst-case length, starting at its release tick. Stacked up, they keep the processor busy a third of the time.
TaskPeriod (ms)WCET (ms)Utilization
Attitude control102.121.0%
Sensor reading501.83.6%
Telemetry generation100015.01.5%
Command handler1005.25.2%
Health monitor5008.01.6%
Total CPU utilization33%
Target ceiling70%
Headroom37 points

What this table tells you. The processor spends 33% of its time on these tasks under worst-case execution. The target ceiling for a hard real-time system is around 70%, which is where rate-monotonic scheduling stops guaranteeing every deadline for a large task set (the exact bound for five tasks is 74%). You are carrying 37 points of headroom. That is comfortable: room for another task, an interrupt storm, a feature add. At 65% you would be one feature from a system that misses deadlines under load.#

How it fails. Timing budgets fail when WCET is wrong, and WCET is hard. It is the slowest the task can possibly be, with branches taken in their worst order, caches cold, interrupts firing, and a typical run tells you little about it. Most teams measure the average and multiply by some factor, which works until it does not. The other common failure is forgetting interrupt overhead, which can be 10 to 20% of the CPU on its own. The discipline is to measure WCET adversarially: construct the worst-case input on purpose, run with the cache flushed, fire every interrupt you can, and believe the number you get.#

A sample stream was underrunning a FIFO on the way to a DAC, and the first instinct in the room was that it could not be the software: the FIFO on the fabric side drained at 120 MHz, so surely there were microseconds of slack. The FIFO that mattered drained at the sample rate, 120 thousand samples a second, which gave the software 68 milliseconds of runway. Seemed like plenty. I wrote a small C tool to record the loop’s worst-case latency and let it run overnight, and it came back with spikes of 30 to 50 milliseconds, well inside the runway on paper and far too close for comfort in practice. The spikes lined up with a stall column in the trace, which pointed at scheduler jitter on the core and away from the DMA path everyone had been staring at. The fix was isolation and characterization, and the standard deviation of the jitter became the proof that the buffer would never underflow.

The lesson. The runway is only as long as the slowest drain, and the worst case only shows up if you leave the measurement running long enough to catch it. An afternoon’s numbers are an anecdote. Overnight is evidence.

WCET in plain language#

Worst-case execution time is neither the average nor the 99th percentile. It is the slowest the task can possibly run, full stop. Add 20 to 30% on top for interrupt handling, context switches, and cache misses. Use rate-monotonic analysis or a similar schedulability check for hard real-time systems. “It worked when I measured it” is an anecdote, and a timing budget is a proof.

Run your own numbers#

TaskPeriod (ms)WCET (ms)Utilization
21.0%
3.6%
1.5%
5.2%
1.6%
Total utilization32.9%
Rate-monotonic bound for this many tasks74.3%
Headroom to the bound41 points

32.9% utilization against a 74.3% bound. Every deadline is guaranteed under rate-monotonic priorities, with room for the interrupt overhead the table leaves out.

The bound is the Liu and Layland limit, n(2^(1/n) - 1): 100% for one task, 83% for two, and down toward 69% as the task count grows. Utilization under the bound guarantees every deadline when priorities follow the periods, shortest period highest. Utilization above the bound is a maybe, and a maybe is a failed budget.

Measure the worst case on purpose and overnight, add 20 to 30% for interrupts, and stay under the 70% ceiling, because a deadline met on average is a deadline missed.

2.6Measure, then believe#

Every number in a first-pass budget is a guess dressed in datasheet clothing. The budget earns its authority when the guesses get replaced by measurements, one line at a time, and the discipline of measuring is cheap compared to the discipline of being wrong. A few habits cover most of it.

Current#

Average current and peak current are different measurements and need different instruments. For the average, put a logging meter or a coulomb-counting monitor in series with the battery and let it run for a representative duty cycle, overnight if the device sleeps most of the time. For the peaks, put a small sense resistor in the supply line and watch the voltage across it on an oscilloscope while the radio transmits or the motor starts; that is where brownouts are born, and the average hides them completely. Measure in the real operating mode, with the real firmware, at the real temperature if you can. A microcontroller that draws 15 microamps asleep on the evaluation board draws 300 when one pull-up was left floating on your board, and only the meter will tell you.

Mass#

Weigh the assembly as it will fly, and weigh the harness separately. Cables and connectors are the line item that surprises every first-time mass budget, and they are also the easiest thing to put on a scale. Keep the measured number next to the estimated one in the spreadsheet; the gap between them is your calibration for every estimate still in the sheet.

Walk the link. Put the real transmitter at one end and a receiver that reports signal strength at the other, then move the receiver out in steps and log received power against distance, in the real environment, in the weather you will operate in. A dozen points plotted against the free-space line tell you the excess loss your environment actually imposes, which is the number the model could only guess at. Wet foliage, ground reflections, and a detuned antenna on a steel mast all show up in that plot, and the plot is what you take back to the budget.

Timing#

Toggle a spare output pin at the start and end of the task and watch it on a scope or logic analyzer; the high time is the execution time, with no instrumentation overhead worth mentioning. Then make it worse on purpose: feed the longest input, take the rare branch, flush the cache, and fire every interrupt that can fire. The longest high time you can provoke is your working WCET. Count interrupts per second while you are there, since that overhead is the line most timing budgets forget.

Datasheet values are estimates#

Bench measurements are facts. Every budget should show both columns, and the discipline is to keep replacing the first with the second until the estimate column is empty.

Keep an estimate column and a measured column, and keep moving lines from the first to the second until the first is empty.

2.7Case study: budget the sentinel node#

The sentinel’s geometry: nodes on the trunks relay an alert from one to the next, up to a gateway on the ridge tower, and on to the ranger post. Every number below comes from this picture.

The project summary for the forest sentinel made two promises and withheld a third. It promised a node that runs for a season on a cheap battery, it promised an alert that reaches the post, and it declined to promise that both could be true at once until someone measured. Here is the arithmetic behind that honesty, worked the way you would work it on a Tuesday afternoon with a datasheet and a spreadsheet.

The sentinel

Power: will a node last the season?#

Start from the source, because the source sets the allowance that everything else must fit inside.

  1. Capacity. One 18650 lithium-ion cell, 3000 mAh at 3.6 V nominal: 10.8 Wh. Derate to 80% for cold mornings, self-discharge, and the cutoff voltage the regulator needs: 8.6 Wh usable.
  2. Duration. A season is 180 days: 4320 hours.
  3. Allowance. 8.6 Wh over 4320 h is 2.0 mW average, which at 3.6 V is 0.55 mA. Every consumer in the node shares that half-milliamp.

Now the consumers. The honest move at this stage is two columns, because the datasheet gives a range and the firmware has yet to be written. The optimistic column assumes everything goes as planned; the pessimistic column assumes the detector needs a faster clock and longer windows, and that this node also relays traffic for a neighbor.

ConsumerAssumptionOptimistic (mW)Pessimistic (mW)
Sleep floorMCU, radio, and regulator asleep: 15 to 40 uA0.050.14
ListeningMicrophone, ADC, and feature math; 1.5 mA at 10% duty, or 4 mA at 12%0.541.73
Radio channel checkA 10 mA listen for 5 to 10 ms every 2 s, so a neighbor’s packet can wake it0.090.18
Heartbeat and relaying120 mA for 0.2 s every 10 min, alone or carrying three neighbors’ traffic too0.140.58
Alerts120 mA for 1.5 s per event; a dozen events a season rounds to zero0.000.01
Average demand0.822.64
Allowance2.002.00
Margin+59%-32%

What the two columns say together. The spread runs from comfortably healthy to physically impossible, and the two lines that swing it are the listening draw and the relay traffic. That is the whole finding. The budget cannot yet say yes or no; what it can say, precisely, is which two numbers decide the answer. Those two numbers come from a bench and a forest, which is why the summary proposed a three-month research phase instead of a delivery date. A spreadsheet that tells you what to measure first has done its job.#

Notice, too, the lever each line exposes. Listening cost is duty cycle times active current, so shorter windows or a lighter detector pay directly. Relay cost is traffic times airtime, so a slower heartbeat or a shorter packet pays directly. The optimistic column is a design target; the pessimistic column is the risk register.

The sentinel

The summary said a single long-range hop straight to the post did not quite close, and that the near miss pointed at a mesh. Here is that link budget. The radio is a 915 MHz LoRa module at its slowest, most sensitive setting, where the datasheet promises -137 dBm sensitivity and a 20-byte alert takes about a second and a half of airtime.

  1. Transmit side. +20 dBm from the module, +2 dBi from a quarter-wave whip on the trunk: +22 dBm leaving the node.
  2. Free-space loss. The far corner of the preserve is 8 km from the post. At 915 MHz: 32.45 + 20 log(8) + 20 log(915) = 109.7 dB.
  3. Excess loss. Both antennas sit under wet canopy, a couple of meters up a trunk, with a fold of terrain between them. The free-space model knows nothing about any of that. Measured forest paths at this frequency run 30 to 55 dB worse than free space; take 45 dB and write down that it is a guess to be walked.
  4. Receive side. A +5 dBi antenna on a mast at the post.
  5. Received power. 22 - 109.7 - 45 + 5 = -127.7 dBm.
  6. Raw margin. -127.7 against a -137 dBm sensitivity: 9.3 dB.
  7. Fade margin required. Wet-to-dry swings, seasonal growth, and an antenna detuned by a rain-soaked trunk: 15 dB is a sober allowance under canopy.
PathDistanceFree-spaceExcessReceivedRaw marginAfter 15 dB fade
Node straight to the post8.0 km109.7 dB45 dB-127.7 dBm9.3 dB-5.7 dB
Node to node, mesh hop1.5 km95.2 dB35 dB-106.2 dBm30.8 dB+15.8 dB
Node to gateway on a 30 m tower3.0 km101.2 dB20 dB-94.2 dBm42.8 dB+27.8 dB

What the table tells you. The direct hop is short by about 6 dB once a realistic fade allowance is applied: close enough to be tempting and far enough to lose alerts on the wet nights when the chainsaws come. The mesh changes the geometry rather than the physics. Shorter hops cut the free-space term by 14 dB and the canopy term by 10, and lifting the gateway above the trees takes another 15 off the final hop. Every row in the mesh plan closes with room to spare. That is the whole reason the summary chose it.#

The reserve option. Dropping to 433 MHz cuts free-space loss by 6.5 dB and foliage loss by several more, which would likely turn the direct hop’s shortfall into a small positive margin. It stays in reserve because a small positive margin under canopy is still a thin one, and because the mesh buys coverage flexibility the direct link never will.#

The budgets talk to each other. The mesh that closes the link is the same mesh that puts relay traffic into the power budget’s pessimistic column. A decision in one sheet moved a number in the other. That is normal, it is why the budgets live in one workbook, and it is why the research phase measures range and relay power on the same nodes, in the same forest, in the same week.#

The sentinel’s budgets could not say yes or no, but they said exactly which two numbers decide it, and that is what a research phase is for.

2.8The reality check#

Across all four budgets, the same patterns hold. The numbers will be wrong on the first pass; that is expected rather than a sign of failure. What matters is that you have the budget at all, that you maintain it as the design changes, and that you treat the margin as the most important number on the page. A system designed to 100% utilization breaks the moment reality deviates from the model. A system designed to 70 or 80% survives the deviations.

If your margins are negative or you cannot fill in the numbers#

You have a wishlist. Go back to requirements and make hard trade-offs. Cut features, choose lower-power components, reduce data rates, simplify algorithms. Engineering is the discipline of satisfying constraints. The team that pushes through with negative margins is the team that ships late or never ships.

How to maintain budgets#

  • Create the spreadsheets on day one, before any hardware decisions are locked in.
  • Update the budgets every time a requirement or design choice changes.
  • Review the budgets in every design review, as a gate rather than a status item.
  • Track allocations to subsystems, not just totals. Subsystem budgets keep local overruns from becoming project overruns.
  • Measure actual values when hardware exists, and update the model.
  • Design to 70 or 80%, because real systems do not read their datasheets.
  • Document assumptions explicitly, temperature, efficiency, degradation, fault scenarios, so future-you knows what model you were working in.

The cost of maintaining a budget is hours per quarter. The cost of skipping it is the project.

Try it on your project this week#
  1. Open a spreadsheet and list every consumer in your current design, including the ones you are sure are negligible. Put a duty cycle next to each. Total it against the source and write the margin at the top of the sheet.
  2. Pick the one line you are least sure of and measure it, with a meter, a scale, a walk, or a scope, before the end of the week. Replace the estimate and watch what the margin does.
  3. If you have a radio in the design, run the link calculator above with your real distance and frequency, then add the extra losses you have been hoping were small. Write down the margin you would need to feel comfortable, and compare.

Keep the budgets alive, review them as a gate, and treat a negative margin as a message from physics rather than a problem for integration.

This chapter on one page

Each line is the sentence to remember from its section. The number takes you back to it.

  1. 2.1Four budgets, one reading: find the margin, and below twenty percent the design is still a wish.
  2. 2.2The battery pays the average and the regulator pays the peak; budget both, and expect the first pass to be 10 to 30% light.
  3. 2.3Allocate mass to subsystems early, hold the allocations firm, and carry 20 to 30% for the fasteners and harness nobody has counted yet.
  4. 2.4The arithmetic is easy and the assumptions are where links die; budget for the environment you will actually operate in, and read 3, 6, and 10 dB as barely, acceptable, and comfortable.
  5. 2.5Measure the worst case on purpose and overnight, add 20 to 30% for interrupts, and stay under the 70% ceiling, because a deadline met on average is a deadline missed.
  6. 2.6Keep an estimate column and a measured column, and keep moving lines from the first to the second until the first is empty.
  7. 2.7The sentinel’s budgets could not say yes or no, but they said exactly which two numbers decide it, and that is what a research phase is for.
  8. 2.8Keep the budgets alive, review them as a gate, and treat a negative margin as a message from physics rather than a problem for integration.