Lab Notes

Build Log

Reverse-chronological engineering notebook. Short notes on what changed, why, what the outcome was, and what comes next.

Not polished. Not marketing. Just what actually happened.

2026-04-09SkyRunners UAV

Full systems test: motors and servos under load

What changed

With the airframe fully assembled — motors on mounts, ESCs wired, servos connected to the flight controller and linked to control surfaces — ran the first full systems test. Spun all four motors up to partial and full throttle and exercised all control surfaces through their full range under load.

Why

This is the first time every subsystem has been powered simultaneously on the actual airframe. We needed to confirm that nothing interferes under real operating conditions: vibration from the motors affecting the servo linkages, voltage sag on the power bus under combined motor and servo load, and that control surface deflections stay correct when the airframe is under thrust.

Result

All four motors spun up cleanly with no ESC faults. No resonance or vibration coupling into the tail linkages at any throttle level. Servos held position under motor wash and responded correctly to stick inputs throughout. Power bus stayed stable — no brownouts or voltage dips that affected the FC. Elevator and rudder throws matched the configured endpoints in both directions.

Next

Taxi tests and low-speed ground handling to check CG and control authority before first flight.

2026-04-09SkyRunners UAV

Control surface linkages installed and servo cables routed through tail boom

What changed

Installed pushrod linkages for the elevator and rudder, connected them to the control horns on each surface, and ran all servo cables through the tail boom to the fuselage.

Why

With the tail bonded and cured, getting the control surfaces mechanically connected was the next critical path item. Linkages need to go in before the boom is enclosed or any other hardware crowds the routing path — it's much harder to fish cables through after the fact.

Result

Both elevator and rudder pushrods installed with correct throw and no slop at the clevises. Cables routed cleanly through the boom with enough slack at the fuselage end for servo connections. Control surfaces move through full range of motion with no binding.

Next

Connect servo cables to the flight controller, configure control surface endpoints in the FC, and verify correct throw direction for each axis.

2026-04-07SkyRunners UAV

Motor mounts and landing gear: designed, 3D printed, and assembled

What changed

Designed new motor mounts and landing gear in CAD, 3D printed both parts, and assembled them onto the airframe.

Why

The previous motor mount arrangement was a temporary placeholder and the aircraft had no landing gear. Getting proper mounts locked in lets us do static thrust tests with the motors in their final position, and the landing gear is needed before any ground handling or taxi tests.

Result

Parts printed cleanly. Motor mounts fit onto the boom tubes with the designed press-fit tolerance — no slop, no cracking. Landing gear attached and holds the airframe at the correct ground angle. Assembly went together without issues.

Next

Mount motors and ESCs onto the new mounts, run static thrust tests, and check CG with full electronics installed.

2026-04-05SkyRunners UAV

Carbon spars bonded to fuselage and tail

What changed

Glued the carbon fiber spars to the fuselage and bonded the tail assembly onto the carbon spars.

Why

The spars are the primary load path from the wings through the fuselage to the tail. Getting them permanently bonded is a prerequisite for any further structural work — everything else keys off the spar positions.

Result

Bond came out clean. Spar alignment checked against the CAD reference and is within tolerance. Tail is square to the fuselage centerline. Epoxy cured fully overnight with no delamination or voids visible.

Next

Install control surface linkages and route servo cables through the tail boom.

2026-03-20SkyRunners UAV

CFD in Luminary: CoP is too far aft

What changed

Ran full CFD analysis on the current wing and fuselage geometry in Luminary.

Why

We needed to verify the aerodynamic center and center of pressure location before committing to the next structural iteration.

Result

CoP came out significantly too far aft relative to our CG target. The aircraft as designed would be longitudinally unstable. To compensate, the elevators need to run at a meaningful negative angle of attack to trim, which is a drag penalty we don't want baked into the baseline.

Next

Revisit wing placement relative to CG, and look at adjusting tail volume coefficient. Need to get CoP forward before the current geometry gets locked in.

2026-03-05SkyRunners UAV

Full parametric redesign

What changed

Rebuilt the entire airframe model parametrically in Fusion 360. Wing chord, span, rib spacing, fuselage cross-section, and tail geometry all driven by a single parameter table.

Why

Every time we changed something, we were manually updating a dozen other dimensions. A parameter change to the wing chord required touching every rib, the spar cutouts, the skin panels. It was slow and introduced errors. Making it parametric means we can iterate on aerodynamic layout without paying a drafting tax each time.

Result

Model rebuilt. Changing the master parameters now propagates correctly through the full assembly. First test: swept chord from 180mm to 200mm, updated cleanly in about 30 seconds.

Next

Use the parametric model as the input for the CFD runs and structural sizing.

2026-02-18SkyRunners UAV

Fuselage skinning: balsa ribs + heatshrink foil

What changed

Covered the fuselage rib frames with 1/32" balsa sheet, then wrapped the outside with heatshrink foil.

Why

The rib-only structure had too much drag and no defined external surface for aerodynamic analysis. Balsa sheet gives a smooth skin over the ribs; heatshrink foil pulled tight over that gives a clean, low-friction outer surface and adds a small amount of torsional stiffness.

Result

Surface came out smooth. Heatshrink pulled evenly with a heat gun. No bubbling or wrinkles on the curved fuselage sections. Weight added was less than expected.

Next

Weigh completed fuselage section, update mass budget.

2026-02-03SkyRunners UAV

Wing cutting: switched to 4-axis wire foam cutter at CHIP

What changed

Moved wing core production from the manual method to the 4-axis wire foam cutter at CHIP (Stanford's product realization lab).

Why

The manual pink foam cutting was too inconsistent. Two wing halves cut back-to-back had visible profile differences that would cause roll asymmetry. The wire cutter runs the E193 profile directly from the CAD file and cuts both root and tip profiles simultaneously on the 4-axis machine, giving a proper tapered section.

Result

First cuts came out clean. Both wing halves match within tolerance. The profile edges are sharp and consistent in a way the manual method never got close to.

Next

Bond spars and ribs into foam cores, then skin.

2025-12-10SkyRunners UAV

First wing cores: E193 profile, laser cut ribs and manual foam shaping

What changed

Cut the first wing cores using a laser-cut wood rib template method: laser cut E193 profile ribs from plywood, glued them to pink foam blocks as guides, then manually cut the foam to shape with a hot wire and knife and bonded the pieces together.

Why

Needed a first wing core to validate the E193 profile choice and the basic build process before investing in the CHIP foam cutter setup.

Result

Wing core came out roughly correct in profile. Surface finish was rough and the manual cutting introduced some asymmetry, but good enough to validate the E193 geometry as workable and confirm the rib spacing layout.

Next

Evaluate whether manual cutting is accurate enough for the final build or if we need a better process.

ESP brownout: traced to servo voltage spikes

What changed

Tracked down why the ESP32 would accept a firmware upload exactly once, then become completely unreachable on every subsequent attempt.

Why

The failure mode was strange: first flash worked, the program ran briefly, then the ESP dropped off USB and never came back. Looked like a code issue at first. The board appeared bricked rather than just crashing.

Result

Root cause: the servo was generating voltage spikes on the shared power rail that were browning out the ESP immediately after it started driving the servo. The ESP wasn't crashing or locking up. It was losing power. Confirmed by decoupling the servo from the rail: ESP stayed up indefinitely. Fixed with a dedicated supply for the servo and a decoupling capacitor on the ESP rail. The fix took about ten minutes once the cause was known; finding the cause took much longer.

Next

Enclosure design and wall-box integration.