An engineering notebook entry that another person can reproduce

On Tuesday, you rerun a test someone logged the week before: “Changed ADC divider. Looks good now.” The board on your bench has two bodge wires, the firmware folder contains three candidate builds, and the supply still remembers its previous current limit. You can see that work happened, but you cannot tell which exact state produced the result or how to judge whether your rerun matches it.

That is the gap a reproducible engineering notebook entry should close. It is not just a diary of activity, and it is not the same thing as a polished README. Its job is narrower: capture enough context, procedure, evidence, and interpretation that another competent person can repeat the work and decide whether they got a meaningfully similar result.

The structure below is an editorial recommendation, not a formal standard. Where measurements are involved, two source-backed ideas matter. First, NIST explains that a measured value is not really complete without an accompanying uncertainty statement (NIST TN 1297 section 2). Second, NIST describes combined standard uncertainty as the estimated standard deviation of the reported result, formed from contributing uncertainty components, with covariances when needed, commonly via the root-sum-square approach (NIST TN 1297 section 5).

What belongs in a reproducible notebook entry

A useful notebook entry lets a later reader answer five practical questions without guessing:

  • What exact question was being answered?
  • What exact system state was used?
  • What steps produced the observation?
  • What evidence was captured, in what units and with what limits?
  • How should a rerun be judged: consistent, different, or inconclusive?

That reader-centered approach lines up with general documentation advice, even though a notebook entry is more specific than project docs. Write the Docs recommends explaining the problem being solved, showing a small example, and giving readers the information they need without burying them in extra material (https://www.writethedocs.org/guide/writing/beginners-guide-to-docs/). GitHub’s README guidance similarly says a README should help visitors understand what the project is, why it matters, how to begin, and where to find help (https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes). A notebook entry applies the same principle to one run, one experiment, or one debugging session.

A suggested minimum structure:

Field Record Why it matters
Objective The question, hypothesis, or acceptance target Prevents aimless notes
Context Hardware revision, code revision, environment, instrument IDs Freezes the tested state
Inputs Parameters, parts, files, configuration, source data Makes the run reproducible
Procedure Ordered setup and execution steps Reduces hidden bench knowledge
Observations Raw readings, logs, screenshots, timestamps Preserves evidence separate from opinion
Derived results Calculations from the raw data Shows how conclusions were obtained
Assumptions and limits Tolerances, uncertainty model, approximations, omitted factors Prevents false precision
Interpretation What the result supports and what it does not support Avoids overclaiming
Rerun check What counts as “same enough” Lets another person verify
Next action Clear follow-up or stop condition Turns notes into workflow

A suggested heuristic: if a value could plausibly differ tomorrow and affect the result, record it. That includes firmware hash, branch name, calibration status, ambient conditions, input file versions, jumper positions, feature flags, and instrument settings.

Separate evidence from interpretation

Many notebook entries fail because they are written as memory aids. A reproducible entry should behave more like a small experiment package.

One practical way to do that is to split the entry into four layers:

  • Observed: what was measured, logged, or seen.
  • Derived: what was calculated from those observations.
  • Assumed: what was treated as fixed, negligible, or modeled.
  • Concluded: what the evidence supports.

This matters because uncertainty is not the same thing as error. NIST distinguishes uncertainty components evaluated statistically, called Type A, from those evaluated by other information sources, called Type B (https://www.nist.gov/pml/nist-technical-note-1297/nist-tn-1297-2-classification-components-uncertainty). NIST also notes that the familiar “random” versus “systematic” vocabulary does not map neatly onto that classification in every case (https://www.nist.gov/pml/nist-technical-note-1297/nist-tn-1297-2-classification-components-uncertainty).

For notebook writing, that translates into a few practical habits:

  • If you estimated spread from repeated measurements, say how many repeats you used.
  • If you used instrument resolution, datasheet tolerances, calibration records, or engineering judgment, label those as non-statistical inputs.
  • If you applied a correction for an identified offset or bias, record both the correction and the uncertainty attached to that correction. NIST treats the uncertainty of the correction as distinct from the original error source (https://www.nist.gov/pml/nist-technical-note-1297/nist-tn-1297-5-combined-standard-uncertainty).

A compact template:

Observed:
Derived:
Assumed:
Concluded:

That small separation prevents a common failure mode: turning a rough indication into a stronger claim than the evidence can carry.

Fully worked example: a hypothetical notebook entry

The example below is hypothetical and uses synthetic data. It is included as a reproducible pattern, not as a report of real testing.

Scenario

Task: determine whether changing a resistor in a voltage divider moves an ADC input into a target range when the input source is nominally 12 V.

Example entry

Entry ID: EN-2026-11-04-ADC-01 Date/time: 2026-11-04 14:00–15:10 local Objective: Check whether replacing R2 = 10.0 kΩ with R2 = 11.0 kΩ moves the ADC node into the target band 2.70 V to 2.80 V at nominal Vin = 12.00 V.

Context

  • Board: Power-monitor prototype rev C
  • Schematic version: pm-revc-sch-7.pdf
  • Firmware commit: 8f2c1d4
  • ADC reference setting: internal 3.300 V nominal
  • Bench supply setting: 12.00 V display, 0.50 A current limit
  • DMM: 6.5-digit meter
  • Ambient assumption: 23 ± 2 °C estimated, not actively controlled

Model

Vadc = Vin * R2 / (R1 + R2)

with fixed R1 = 39.0 kΩ.

Predicted values from nominal resistor values

  • Before change: Vadc = 12.00 * 10.0 / (39.0 + 10.0) = 2.449 V
  • After change: Vadc = 12.00 * 11.0 / (39.0 + 11.0) = 2.640 V

Observation about the model

Even before measuring, the nominal post-change prediction is below the stated target band. That means the test is useful, but it should also trigger a review of whether the target or resistor choice is wrong.

Procedure

  • Power off supply and disconnect board.
  • Photograph installed R2 and note board serial.
  • Replace R2 with labeled 11.0 kΩ part from lot SYN-11K-A.
  • Inspect solder joints at 5× magnification.
  • Reconnect board to supply with no external load.
  • Wait 60 s before recording data. This 60 s wait is a suggested heuristic, not a source-backed universal settling time.
  • Record five readings of Vin and five readings of Vadc at 10 s intervals.
  • Compute the mean and sample standard deviation for Vadc.
  • Treat the repeated readings as independent for this hypothetical example and use the standard uncertainty of the mean as the Type A term.
  • Estimate a Type B term from DMM resolution using a rectangular-distribution assumption.
  • Combine the Type A and Type B terms by root-sum-square, following NIST’s combined standard uncertainty framework when the components are treated as independent (https://www.nist.gov/pml/nist-technical-note-1297/nist-tn-1297-5-combined-standard-uncertainty).

Raw observations (synthetic data)

  • Vin in V: 12.002, 12.001, 12.003, 12.001, 12.002
  • Vadc in V: 2.641, 2.640, 2.642, 2.641, 2.640

Derived values

Mean Vin = 12.0018 V Mean Vadc = 2.6408 V

Sample standard deviation of Vadc:

s = sqrt(sum((xi - x̄)^2)/(n-1)) ≈ 0.00084 V

Type A standard uncertainty of the mean, under the stated independence assumption:

uA = s / sqrt(5) ≈ 0.00038 V

Type B standard uncertainty from a hypothetical DMM resolution half-width of 0.0005 V, modeled as rectangular:

uB = 0.0005 / sqrt(3) ≈ 0.00029 V

Combined standard uncertainty:

uc = sqrt(uA^2 + uB^2)
   = sqrt(0.00038^2 + 0.00029^2)
   ≈ 0.00048 V

Reported result

Vadc = 2.6408 ± 0.0005 V

Here the ± 0.0005 V value is the rounded combined standard uncertainty.

Interpretation

  • The measured post-change result is 2.6408 V.
  • The modeled pre-change nominal value was 2.449 V.
  • The resistor change increased the ADC node relative to that nominal pre-change model.
  • The measured post-change result is still below the stated target band 2.70 V to 2.80 V.
  • The shortfall from the lower target edge is much larger than the reported uncertainty, so the mismatch is not explained by the uncertainty estimate alone.

Rerun check

A rerun is treated as consistent if:

  • the documented firmware commit and board revision match,
  • the installed resistor values are confirmed and recorded,
  • the mean Vadc falls within 2.6408 ± 0.005 V.

That ± 0.005 V comparison window is a suggested heuristic for this example, not a universal rule.

A reusable decision procedure

If you want a repeatable method for deciding how much detail to include, use this suggested procedure.

Step 1: classify the entry

Choose the most demanding category that fits:

  • Observation: what happened?
  • Comparison: did A differ from B?
  • Measurement: what value was estimated?
  • Recipe: how can someone else rebuild or rerun it?
  • Debug trace: under what exact conditions does failure occur?

If the entry mixes categories, write to the strictest one. A measurement entry, for example, also needs recipe detail.

Step 2: freeze the state

Record any dependency that could change later:

  • code revision
  • configuration files
  • hardware revision
  • instrument settings
  • input datasets or test vectors
  • ambient conditions, if relevant
  • any applied correction factors

Step 3: choose an evidence level

These are suggested heuristics:

Level Use case Minimum evidence
L1 Quick debug note command, revision, observed symptom
L2 Internal handoff full procedure, raw output, assumptions
L3 Decision-grade measurement raw data, calculation path, uncertainty or limits, rerun rule

Step 4: define the rerun test

Add one line near the end:

A rerun counts as consistent if ______.

That sentence forces you to state what “same result” actually means.

Common mistakes, assumptions, and limits

Common mistakes

Writing only the conclusion “Fixed,” “passed,” or “looks stable” is not enough. Keep raw evidence near the conclusion.

Omitting units or sign conventions -12.3 mV is better than 12.3. If direction matters, say which direction is positive.

Hiding the exact sequence Order matters: warm-up time, reset state, load condition, and sample count can all change the result.

Mixing corrected and uncorrected values If you applied an offset correction or normalization, record both versions.

Copying precision from the instrument display Displayed digits are not automatic proof of justified precision.

Using README-style summaries as notebook entries GitHub’s guidance treats the README as a starting point for visitors, while longer and more specific material belongs elsewhere (https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes). A notebook entry should stay focused on one concrete run, not become a broad project overview.

Assumptions and limits

This article’s framework is an editorial suggestion. It is not source-backed as a universal standard.

A few limits matter:

  • Reproducibility does not guarantee correctness; people can consistently reproduce a flawed setup.
  • Not every task needs full uncertainty analysis; the needed detail depends on how the result will be used.
  • Some work depends on tacit skill, unavailable parts, or unstable external systems; a notebook can reduce that problem, not eliminate it.
  • Measurement summaries depend on assumptions, such as independence of repeated observations or adequacy of the underlying model.

A practical closing habit is to end each entry with a short verification block:

  • expected invariant
  • allowed comparison range
  • first things to inspect if rerun differs
  • location of logs, plots, photos, or scripts

If you adopt only one change, make it this: finish each notebook entry with a rerun rule. That turns the note from a private memory aid into a record another person can actually test.

AI-assisted writing with source checks and automated editorial review. Illustrative examples are identified in the guide.

How does Weight Affect a Rocket’s Flight Trajectory

Missions or flight regimes that are carried out with rockets are optimized to have certain parameters like Delta V, range, time to target, altitude and etc.

The thrust profile is important to consider when talking about rocket weight. Thrust profiles in some rockets are not constant and this directly affects the flight profile and can give information on what type of mission that the rocket is designed for.

Here is an equation to highlight that is directly impacted by the changing mass of a rocket.

The Rocket Equation

Where m_0 is the initial mass, m_f is the final mass, Delta V ideal is the ideal velocity increment, g_0 is gravity at sea level, and I_sp is the specific impulse of the propellant.

The ideal velocity is how much velocity is imparted to the system. The specific impulse is a parameter that explains how efficient a propellant is and is in the units of seconds. It is composed of Force divided by the mass flow rate times gravity.

Specific Impulse

A specific impulse of 120 seconds will provide an impulse of 120-pound seconds per pound of propellant. The area underneath the thrust vs. time is a way to calculate impulse.

The internal propellant mass of the rocket will be decreased on ignition.

If the rocket uses a solid propellant, then its internal burn area will increase based to the rocket’s grain geometry. The specific impulse can vary from the changing burn area.

This is figure 11-16 from George Sutton’s “Rocket Propulsion Elements.”

Neutral grain geometries have thrust profiles that are constant after ignition. Progressive and regressive grain geometries have thrust profiles that either increase after ignition or decrease after ignition, respectively.

If the rocket uses liquid propellant, then the mass of the propellant and oxidizer tanks will decrease and are filled with a pressurant gas.

The maximum thrust to weight ratio is achieved right after burnout with rockets with a constant thrust profile.

The exhaust fumes at the rocket’s nozzle may also affect the coefficient of drag of the rocket with changing altitude which can add the drag force at those altitudes.

Another point to mention is that to reach greater specific impulses, the rocket will have to be split up into multiple stages. The mass required for a traditional single-stage orbit rocket is undefined.

an image generated from a Matlab script I wrote

All of these factors should be taken into account when iterating through the parameters to determine the rocket’s trajectory. Depending on how the rocket was designed, these and many other parameters may affect the location of where the center of gravity is placed within the rocket. Besides thrust, any forces of significant magnitude acting on the rocket can tilt the rocket at the rocket’s center of mass and can cause instability if unaccounted for when determining a rocket’s flight trajectory.

Two General Methods of Reducing Vibration

Tuning (Changing the Natural Frequency)

Machines have a natural frequency, and if they move, then they have a forcing frequency.

The frequency ratio is the machine’s natural frequency divided by the forcing frequency.

Frequency Ratio

Machines that move also have an amplification factor, which is:

Amplification Factor

If we plot the amplification factor vs the frequency ratio, then we will be able to visually see where resonance occurs within a range of natural frequencies.

Amplification Factor vs Frequency Ratio

Resonance occurs when the frequency ratio is equal to 1 and the natural frequency of the system is equal to the forcing frequency of the system.

Mechanical resonance is horrible; it can lead to a machine tearing itself apart in many cases.

The frequency range around resonance is also just as bad, as it causes large unwanted amplitudes within the system. So, it is best to have a system where the natural frequency is well outside this range if possible.

This is where tuning or changing of the natural frequency can come into play, along with many other methods to reduce unwanted vibration.

The natural frequency of the machine can be changed or (tuned) so that its outside the range of resonance.

The natural frequency of a single degree of freedom system can be found with this equation:

Natural Frequency

where k is the system’s stiffness, and m is the mass of the system.

Ways to increase or decrease the natural frequency

  • Increase or Decrease the Stiffness
  • Increase or Decrease the Mass

In some situations, manipulating the mass of the system is not feasible so manipulating the stiffness is a method that is used more often.

The location on where to change the stiffness of a system matters because manipulating the stiffness at any nodes of the system will not do anything. It is important to change the stiffness of a system at its antinodes.

Vibration Isolation

Isolation is similar to tuning and accomplishes the same goal of reducing unwanted vibration but with a different method that includes the additional components called isolators.

Isolation deals with reducing the force of a system that is being transmitted to a foundation.

Below is a video demonstration of vibration isolation:
Vibration Isolation Demonstration – YouTube

The transmissibility ratio is the force transmitted to the foundation divided by the force of the system:

Transmissibility Ratio

For a 1 degree of freedom system with an isolator that has damping c and stiffness k , and system mass m the amount of force transmitted to a foundation is:

This equation can be simplified by utilizing the frequency ratio, damping ratio, and the critical damping coefficient.

Transmissibility Ratio

If we plot the Transmissibility Ratio vs Frequency Ratio then we will have a graph that looks similar to this.

Transmissibility Ratio vs Frequency Ratio

Adding Isolators will change the systems natural frequency. In order to achieve Isolation, the system’s new frequency ratio should be greater than sqrt(2) and preferably even greater than that for some cases.

How to Reduce the Drag on a Rocket

Drag Force is equal to one-half the drag coefficient times density, velocity squared, and area.

There are two types of drag:

Friction Drag is the friction of an object generated by moving in a medium.

Pressure Drag is uneven pressure distribution in the direction of motion of a moving object.

Drag Coefficient

The drag coefficient is a nondimensional value that describes how much drag a cross-sectional area will generate. The drag coefficient encompasses both friction drag and pressure drag. The greater the drag coefficient the higher the drag force.

Typical values for drag coefficient:

Modern automobile: 0.25 – 0.35
Flat plate: 1.28
Airfoil: 0.045
Sphere: 0.07 to 0.5

Here is a figure that shows the drag coefficients for rockets with different nose cones

from page 381 of Gordon K. et. all. “Topics in advanced model rocketry” from 1973

In order to reduce the pressure drag on a rocket, one would need to:

  • Make the rocket as narrow as possible without hindering its structural integrity
  • Optimize the shape of the nose cone so that it has the least drag coefficient

Here are some common shapes:

This is from Benson’s “Volume” from May 2017 from Nasa’s Glen Research Center.

This is from Milligan’s “Drag of Nose Cones” from 2013 published in the National Association of Rocketry

The nose shapes are ordered from generating the least drag to the most drag

This is figure 22 from Dr. Gregorek’s “AERODYNAMIC DRAG OF MODEL ROCKET” from 1970

This figure represents the pressure distribution of an ogive nose cone with a drag coefficient of 0.04

In order to reduce the friction drag on a rocket, one would need to:

  • Make sure that the rocket body is smooth and that there isn’t anything impinging from the rocket body
    • This will help to keep the airflow around the rocket streamlined and laminar. This will keep the boundary layer small and reduce the overall drag coefficient.
    • If the rocket body is not smooth and there are protruding objects then airflow around the rocket will be turbulent. This will produce a large boundary layer leading to flow separation and increase the overall drag coefficient.

This is figure 8 from Dr. Gregorek’s “AERODYNAMIC DRAG OF MODEL ROCKET” from 1970

General tips on reducing the drag coefficient of each part of the rocket

  • Nose cone
    • Parabolic or ogive shape nose cone
  • Body tube
    • Smooth finish
    • No protruding parts
  • Base
    • Have a tapper base of the rocket with the body to form a gentle boat tail
    • Smooth out the base where the fins connect with the body
  • Fins
    • Airfoil shaped
    • Optimize thickness
    • Elliptical or tapered shape
    • Align the fins properly so that they are exactly perpendicular to the body
  • Good Workmanship

To elaborate further on the drag equation:

The density will decrease as the rocket increases in altitude. The higher the rocket gets, the less drag that the rocket will experience due to decreasing density.

The coefficient of drag will increase a little bit after the rocket has reached the sound barrier at Mach 1. Then the coefficient of drag will decrease with increasing Mach number.

This figure from Sutton, and Biblarz’s “Rocket Propulsion Elements” from 2016 represents the coefficient of drag with Mach number for the cross-sectional area based on a V-2 missile.

Here is another figure from Braeunig’s “Saturn V Launch Simulation” from Dec-2013 that represents the simulated coefficient of drag with Mach number for the cross-sectional area Saturn 5.

How Fast can A Rocket Bike Go?

The velocity of a rocket bike depends on the type of rocket attached to the bike. More specifically, It depends on the Delta-V that the rocket can impart on the mount that is connected to the bike. Delta V is the effective exhaust velocity c of the rocket times the natural log of the initial mass over the final mass.

Delta V Equation

The initial mass will be the mass of the biker, the bike, the rocket mount, and the rocket itself. The final mass will be everything except for the mass of the propellant used in the rocket.

The change in velocity of the bike will be negligible if the mass of the propellant used is not a significant percentage of the bike’s mass.

The effective exhaust velocity can be found by multiplying the gravity at sea level by the rocket’s specific impulse.

Effective exhaust velocity and specific impulse

If you take a G class rocket which is the largest rocket motor that a person can buy without needing a certification, then you’ll roughly have 160 Newton seconds of total impulse.

To go from total impulse to specific impulse, divide the total impulse by the weight of the rocket motor.

specific impulse and total impulse

This will lead to an effective exhaust velocity of 1406 m/s.

Now you’ll need the weight before and after the rocket has spent its propellant. Let’s say that bike has a mass of 18 lbs with 175 lbs. person driving the bike. The 130 grams rocket motor and rocket mount weighs about 87671 grams. Let’s consider that mass of everything after the rocket has burnt all of the propellant is 87110 grams.

Delta V

Given that the average burn time for one of these rocket motors is 3 seconds, the acceleration that the rocket will experience is

acceleration

The total distance traveled, negating friction will be 2.6 meters.

distance traveled

Specific Heat Ratio

There are many ways to name specific heat ratio, like specific heat capacity, the ratio of specific heats, Specific Heat Coefficient, gamma, etc…

The general equation for the specific heat ratio is the Coefficient of Pressure divided by the Coefficient of Volume

gamma=(Coefficient of Pressure)/(Coefficient of Volume)

The Specific Heat ratio for air is 1.4

More information on the specific heat ratio for air can be found here:

https://www.ohio.edu/mechanical/thermo/property_tables/air/air_Cp_Cv.html