Projects01 · Flagship

UAV Quadcopter

Structures lead on a 625 g flight-tested quadcopter, and sole owner of its gimbal from first sketch to flying part.

The finished quadcopter on a white backdrop, laser-cut birch plywood airframe with four motors and propellers
Fig. 1: Finished quadcopter, laser-cut birch plywood airframe
Module
SESA2030
Year
Year 2, Jan–May 2026
Team
Six people, Structures and Avionics halves
My role
Structures lead; sole owner of the gimbal and all 3D printing
Tools
SolidWorks · SolidWorks Simulation · FDM (PLA) · laser cutting

1 · Challenge

A 625 g maximum mass.

The aim was a lightweight quadcopter carrying a custom three-axis stabilised camera gimbal, with an Arduino on board as a data recorder and a separate flight computer: affordable footage of grassroots outdoor sports (football, surfing, climbing) in under-served areas. The gimbal had to work in pitch, roll and yaw, with a “locked” mode and a “self-levelling” mode switchable remotely, and the drone had to be ready to fly within 5 minutes and hover stably.

Early mass budgeting gave electronics more allowance than it needed, and structures compensated with excess safety margin. Together that pushed the build heavier than planned and exposed a communication gap: as each sub-team’s research moved its plans on, the two halves drifted apart. We fixed it with regular meetings, group discussion and tighter coordination.

2 · What I did

I led the 3-person structures sub-team, coordinating structural decisions and keeping it on track, and contributed to the airframe alongside the others. Most of my own engineering went into the gimbal: I took sole end-to-end ownership of it (CAD, FEA, printing) and was the only team member responsible for all 3D printing.

  • With my sub-team, took the airframe through 5 design revisions to optimise weight and manufacturability (laser-cut birch plywood airframe).
  • The sub-team ran FEA in SolidWorks Simulation for the 5g hard-landing case and for vibration, iterating the leg design to save up to 35% of structural mass while keeping the safety factor above the 2.5 minimum.
  • While I iterated, I gave the avionics team an earlier, near-identical gimbal so they could start integrating.
  • Managed print settings, material selection and quality checks for every printed part.

2.1 · The gimbal, from first sketch to flying part

My first version (and my first ever 3D print) was far too big, with no fillets and no real mounting for the camera or motors. I measured the actual hardware, rebuilt it as two arms and a camera mount with aligned holes and fillets, then refined it print by print: adding tolerance where CAD fits perfectly but a printer doesn’t, making room behind the camera for a fastener, and resizing it as the electronics moved so it cleared the Arduino. Mainly PLA (one ABS trial, reverted); a clearance issue took two more redesigns and reprints to fix fastener clearance and vibration isolation in a tight footprint. I chose PLA because it’s cheap and fast to reprint when a tolerance needs adjusting, and the loads are low (the payload’s weight and the correction forces), so its strength is enough. Locking fasteners and thread inserts keep the clamping force under vibration, so movement isn’t lost as slop in the joints. My FEA of the final design put the peak von Mises stress at about 1.5 MPa.

First gimbal prototype in blue PLA: a box-style camera mount on an L-shaped arm with a micro servo
Fig. 2: First gimbal prototype, before the rebuild into two arms and a camera mount
Blue PLA parts printing on the bed of a Bambu Lab 3D printer
Fig. 3: Parts printing in PLA. I ran all of the team’s 3D printing

The final design, as drawn for the assembly (yaw arm, pitch arm, camera mount, three locking nuts and three SG90 servos):

Gimbal general assembly drawing: isometric, top, front and side views with balloons and a parts list (SG90 servo motor ×3, locking nut ×3, yaw arm, pitch arm, camera mount, camera)
Fig. 4: Gimbal general assembly with parts list (SESA2030)
Yaw arm detail drawing: L-bracket 55.0 × 30.0 × 20.0 mm, 3.0 mm wall, R9.7 bend, 22.6 × 12.6 mm servo pocket with Ø2.2 mm holes
Fig. 5: Gimbal yaw arm, detail drawing (SESA2030)
Pitch arm detail drawing: L-bracket 55.0 × 35.0 × 20.0 mm, 3.0 mm wall, R9.7 bend, 22.6 × 12.6 mm servo pocket with Ø2.2 mm holes
Fig. 6: Gimbal pitch arm, detail drawing (SESA2030)
Camera mount detail drawing: U-bracket 25.00 × 19.00 × 7.50 mm, 3.00 mm walls, Ø2.50 mm holes, section A-A
Fig. 7: Gimbal camera mount, detail drawing (SESA2030)
Locking nut detail drawing: 8.00 mm across the lugs, Ø5.30 mm hub, 3.00 mm thick, Ø1.60 mm bore with an H7/h6 fit
Fig. 8: Locking nut, detail drawing: Ø1.60 mm bore, H7/h6 fit (SESA2030)
SolidWorks Simulation plot of the final gimbal, coloured by von Mises stress: mostly deep blue, with a green band on the upright of the arm; legend maximum 1.505e+06 N/m²
Fig. 9: Final gimbal FEA, von Mises stress: peak ≈ 1.5 MPa (legend maximum 1.505e6 N/m²), SolidWorks Simulation

2.2 · Airframe and legs

This was team work across the structures sub-team, from Crazy 8s and sketches to quick-and-dirty cardboard prototypes before any CAD, then a weighted design matrix. The final concept combined the lightweight top plate of one design with the X-shaped legs of another.

  1. Pencil concept sketch of the airframe: X-shaped top plate with notes on cut-outs, avionics bay, motor mounts and printed leg pillars

    a Concept sketch

  2. Cardboard prototype of the airframe: a flat X-shaped top plate on two cardboard leg panels, with a battery strapped underneath

    b Cardboard prototype

  3. Early CAD iteration of the top plate seen from above, with slots for the legs

    c CAD iteration

  4. FEA stress plot of the interim airframe, mostly blue with small areas of higher stress near the joints

    d FEA

  5. CAD render of the final airframe: lightweighted top plate with truss-pattern cut-outs on X-shaped legs

    e Final airframe CAD

Fig. 10: The team’s airframe design process, (a) to (e). Structures sub-team work
Quadcopter airframe on the bench with the blue printed gimbal and the Arduino fitted
Fig. 11: Airframe on the bench, gimbal and Arduino fitted
Underside of the quadcopter showing the laser-cut birch plywood legs and truss
Fig. 12: Underside: laser-cut birch plywood legs and truss

The criteria: plywood yield strength 18 MPa and a minimum safety factor of 2.5, which builds in margin for how uncertain plywood’s properties are. We cut mass from the legs step by step and checked the safety factor at each step:

2.02.22.42.62.83.00510152025303540Minimum SF 2.512345678initial design8 · legs made shorter: ≈ 35% savedStructural mass saved from the initial design (%)Safety factor
How to read it: each numbered point is one leg design, in order. Further right is lighter, higher has more safety margin; every design stays above the dashed 2.5 line.Fig. 13: Leg redesign, safety factor against structural mass saved: up to ≈ 35% saved, still above the 2.5 minimum. Structures sub-team; redrawn from our plot

Cutting the leg height further would have meant redesigning other parts to keep the electronics accessible, so we stopped there.

We also checked the FEA by hand. For the top plate under maximum thrust, a hand calculation gave 5.607 MPa against 5.670 MPa from the FEA, about 1.1% apart. A modal analysis showed minimal deformation at resonant frequencies up to about 300 Hz (tested to 600 Hz), against expected excitation of about 100 Hz or less.

Handwritten bending-stress calculation for a top-plate arm treated as a cantilever with the thrust load at its tip, ending in σmax = 5.607 MPa
Fig. 14: Hand calculation for a top-plate arm under maximum thrust: σmax = 5.607 MPa
FEA von Mises stress plot of the top plate, blue overall with the highest stress at the roots of the four arms; legend maximum 5.670e+06 N/m²
Fig. 15: Top-plate FEA under the same load: 5.670 MPa, about 1.1% from the hand calculation (structures sub-team)

The drawings set the fits: H7/h6 where parts need accurate alignment but must still come apart, H11/c11 clearance for easy assembly (the PDB and soldering board), and ±0.25 mm general tolerance.

Drawing detail: four R1.5 holes labelled H7/h6, with 16.0, 19.0, 20.0 and 10.5 mm dimensions
Fig. 16: H7/h6 fits on the structure drawings
Drawing detail: two Ø3.0 holes labelled H11/c11 above a truss pattern
Fig. 17: H11/c11 clearance fits for easy assembly

3 · Result

The drone flew: it traversed all three axes with stable attitude control, held altitude consistently with minimal drift, and had no structural or wiring failures on the hard-landing case.

Vid. 1: Test flight in the net cage, audio removed

On the bench the gimbal compensated manual pitch and roll inputs, a little slowly (a proportional controller). In flight it held the horizon during steady segments, but motor vibration coupling into the IMU caused pitch misreads. That was an avionics/controls limit, not a structural one. Other root causes the team noted: frequent data recording possibly overloading the Arduino (it reset), a slow controller rise time, and stress near the lightweighting cut-outs and connections. At the interim review we gave live demonstrations, including the gimbal responding to controller inputs. Next steps the team set out: a carbon-fibre frame to cut weight, weatherproofing and obstacle avoidance.

Electronics, for context: the Arduino on board mainly logged data to an SD card; a separate flight computer sat under the centre top plate.

4 · What I learnt

Get everyone looking at the same picture early.

Next time I’d push for rough prototypes, like the cardboard mock-ups we built, earlier, and use them to agree the layout across both sub-teams before the detailed work. I’d size from real numbers instead of piling on margin: our airframe ended up one of the sturdiest in the cohort, which made late weight cuts easy, but that weight should never have been there. And I’d get the gimbal flying sooner, for more testing time with the controller.