Designing and building small fixed-wing RC aircraft from scratch rather than from a kit. The work runs the full conceptual design process: write the requirements, size the aircraft against them with a constraint analysis, pick an airfoil, draw the geometry, print and cut the parts, and fly it.
The CAD is public on Onshape: UAV Sandpiper and Wing.
The design started from a written requirements document rather than a sketch. Line-of-sight flying under Canada's RPAS Basic certification, no payload, no autopilot: loiter at 6 m/s, 8 m turn radius, 30 minute endurance, takeoff in 5 m of ground roll, +4g to −2g limit load, under 500 g, wingspan at or under 1 m, foam and 3D print, $200 budget.
Several of those numbers moved during sizing, and the document records why. Loiter speed rose from 4 m/s because the original left no feasible region on the constraint diagram. The wind envelope carries a note that the 15 m/s figure is structural survival, not an operating envelope: at a 6 m/s loiter the aircraft cannot make ground progress against much more than 6 m/s of wind.
To size it I wrote a small Python package. It runs the conceptual design pipeline top to bottom: configure, constrain, resolve, plot. Every requirement becomes a curve on a wing loading versus power loading diagram, and five constraints bound the feasible region: stall, level flight, climb, turn, and takeoff ground roll. One config file holds every parameter, so exploring a variant means editing one file and re-running.
The design point resolves to a 1652 cm² wing at 99.5 cm span, 16.6 cm mean chord, aspect ratio 6, stalling at 5.69 m/s. The Reynolds number at loiter is about 71,000. These are sizing outputs on assumed efficiencies, not measured performance.
At a chord Reynolds number near 71,000, most standard airfoil data does not apply, and the sections that behave well are the ones designed for model aircraft. Selection and polar work was done in XFLR5, and the SD7037 was carried into the wing geometry.
Onshape's HAVF feature wants airfoils as two degree-6 Bézier curves
rather than coordinates, so I wrote a converter. Given any .dat file it fits the 26 parameters by numerical
optimisation, running differential evolution to find the basin, then
L-BFGS-B, then Nelder-Mead to polish. Every control point stays
inside [0, 1], so the curve cannot bulge past the trailing edge. On
the AG25 it fits to an RMS error of 0.0016% of chord, and because
the result is analytic it never shows the faceting a
low-point-count file produces in CAD.
The flying wing is a swept parametric model: 40 variables driving 151 features, so the planform re-solves from a handful of numbers. 370 mm semi-span, 140 mm root chord tapering to 60 mm, 22° of sweep, on a 400 mm carbon spar, built as a printed frame rather than a solid print.
Sandpiper is the conventional one: high wing, conventional tail, tricycle gear, tractor propeller. The assembly carries 53 instances, built around a spine spar with printed wing dominoes threaded onto it. Power is a 3S 1500 mAh pack through a 50 A ESC, with MG90S servos on the surfaces. The wing splits off for transport, which was a requirement from the start.
Sandpiper was modelled aerodynamically in flow5 before it was built, with the fin thinned, the control surfaces properly defined, and ballast placed in the nose to pull the centre of gravity forward. That last decision was not an academic one.
Foam for the flying surfaces, 3D print for the frames and mounts. Weight is the binding constraint, so the electronics stack was weighed as a unit during the build: servos, ESC, receiver, battery, connectors, spars and printed fuselage sections came to 400.2 g together.
An earlier revision produced a written list of defects that drove much of the current design. The tail needed stiffening. Misaligned hinge and horn axes were introducing a dead band around neutral, so the axes had to be brought into line. The fuselage read as concave even though it was straight, so it needed a slight convex curve to look right. And it wanted bigger wheels and tricycle gear instead of a tail dragger.
Both aircraft have flown, and neither survived it.
The flying wing failed outright on its first flight, because its centre of gravity was wrong. On a tailless aircraft that is a stability failure rather than a handling complaint. There is no tail to recover the pitch authority, so once the balance is too far aft there is nothing left to argue with. Sandpiper carries nose ballast for that reason.
Sandpiper did better. It took off unassisted, using a beach as the runway, which is the one requirement in the document it can be said to have met. Handling was poor from the start and it eventually crashed.
The handling problem was a positive feedback loop in the controls. Instead of damping a disturbance, the response fed it, so the aircraft felt unstable in the air and got harder to hold rather than easier. It was flyable in the sense that it left the ground, and unpleasant in every sense after that.