Reader map
What this page proves
EDF thrust measurement by calibrated load cell. Start here for the build, question, measurement, and closeout proof.
What we are making
A guarded 70 mm electric ducted fan thrust rig with a machined ring, load cell, RPM pickup, pressure/temperature sensor, and CSV logging.
Question answered
How much thrust does the fan make at each RPM, and does thrust follow the expected T-n^2 trend?
What will be measured
Thrust, RPM, pressure, and temperature during calibrated outdoor throttle sweeps.
Proof that closes it
01_calibration_table.csv, 01_zero_noise_log.csv, 01_thrust_runs_raw.csv, 01_density_correction_sheet.csv, 01_thrust_vs_rpm_chart.png, 01_drawing_SK-C1-001.pdf, and 01_datasheet.pdf.
The fan blows air backward. The stand feels the push in the other direction and records that force. If known weights calibrate the load cell and repeated runs agree, the stand is measuring real thrust instead of guessing.
Words you need
Project terms
| Term | Meaning on this page |
|---|---|
| EDF | Electric ducted fan inside a short duct. |
| Thrust | Forward force from accelerating air backward. |
| Load cell | Sensor that turns tiny bending into force data. |
| Calibration | Checking the sensor against known masses. |
| RPM | Rotor revolutions per minute. |
| ESC | Electronic speed controller for the motor. |
| LiPo | High-current battery that needs fire-safe handling. |
| Density correction | Air pressure and temperature adjustment. |
| Noise floor | Reading left when force should be zero. |
| T-n^2 fit | Check that thrust rises roughly with speed squared. |
| Uncertainty | Estimated error in the result. |
Capstone framing
Objective, requirements, constraints
| Type | Specific requirement |
|---|---|
| Objective | Measure 0-2,000 gf thrust safely. |
| R1 | Zero-load noise <= 1 gf over 30 s. |
| R2 | Calibration residual <= 2 gf. |
| R3 | Five outdoor runs within +/-3% after density normalization. |
| R4 | Indoor cap at 40% shaft speed. |
| R5 | Physical guard and remote/kill control. |
| Evidence | Calibration, zero log, raw runs, density sheet, T-n^2 chart, safety photo, drawing, datasheet. |
Section 01 · Concept
Function and operating modes
The stand serves three purposes: a live thrust demonstration, a characterization rig for the motor and fan, and later the test stand for a kerosene turbine. Motor and fan get measured here before the same parts go into a flying model.
Why a ducted fan
Ducted fan thrust, not a combustion engine
A turbofan and an EDF both use a fan inside a duct, but this rig has no compressor, combustor, or turbine. It demonstrates fan thrust in a ducted electric system. The airflow is real; the engine cycle is not.
The 12-blade rotor spins at 38,000 RPM. It pulls room air through the ring-shaped opening and throws it out the back at 67.8 m/s. The push shows up on the force sensor.
Where this sits in the project line
Demonstration modes
Desk mode and data mode
Indoors, the software limits the fan to 40% speed. That gives 236 grams of push and about 80 dB of noise — loud, but safe for a short demo. Full-power runs happen outside, and every run saves its data to a file.
Desk cap
40% RPM
Desk thrust
236 gf
Full thrust
1,477 gf
Log rate
80 samples/s
The discipline
Calibration, resolution, repeatability
Testing an engine is measurement work. You calibrate with known weights. You prove the reading sits steady at zero. You repeat runs and check that they agree. This build practices all three, the same way a real engine test cell does. The finished stand is an instrument with its own datasheet.
Section 04 · Build
Parts, sequence, and acceptance gates
The parts plan uses a $215 to $390 delivered range. Re-price before buying. Each gate names the file, chart, or photo it needs.
Safety file
Scaling rules
A mesh guard covers the intake at all times, so fingers stay out. The stand runs clamped down, with eye protection on. Indoors the speed stays capped at 40%. Full power happens outdoors. The battery charges in a fire-safe spot.
Intake
Guarded
Stand
Clamped
Indoors
≤40% RPM
Full power
Outdoors
Bill of materials
Subsystem summary
| Item | Planning range |
|---|---|
| 70 mm 12-blade EDF with brushless motor, 4S | $36–70 |
| 80 A ESC with 5 V BEC and RPM telemetry | $28–60 |
| 10 kg bar load cell + HX711 amplifier | $9–16 |
| Arduino Nano + 0.96″ OLED display | $10–18 |
| Optical tachometer module + reflective mark | $6–12 |
| Throttle potentiometer + mode switch + BMP280 pressure/temperature module | $8–14 |
| 4S 3,300 mAh LiPo, ≥35C | $28–55 |
| XT60 connectors, 12 AWG silicone wire, heat shrink, perfboard | $10–15 |
| Intake guard mesh + standoffs | $5–10 |
| 6061 stock: ring, pylon, base + M4 fasteners | $45–75 |
| Calibration pulley, cord, and check masses to 2,000 g | $30–50 |
| Parts total, delivered | $215–390 |
Sourcing notes
Sequence
Seven-step build sequence
CAD + drawings. Ring, pylon, base; SK-C1 sheet set.
Machine. Bore the ring on the lathe; mill pylon and base.
Wire. Cell → HX711 → Nano → OLED; throttle pot to A0, mode switch to D2; ESC and power loom in a loose service loop across the load-cell gap — never taut.
Firmware. Standard 1,000–2,000 µs servo PWM at 50 Hz; run the ESC throttle-range calibration per its manual and confirm arming at minimum throttle; then tare, averaging, desk cap, CSV stream.
Calibrate. Pulley + 100/500/1,000/2,000 g masses.
Tach. Mark the spinner; verify against ESC telemetry at two speeds, then store the PWM value that gives 40% of maximum RPM as the desk cap.
Characterize. Five full-throttle runs outside, guard on, runs ≤20 s with ESC temperature checks between; log BMP280 pressure and temperature into each CSV header, compute density, normalize; fit T–n².
Acceptance gates — owner: Kohler
Acceptance gates for the finished stand
Risk, judging, and closeout
What can fail and how the result is judged
What could go wrong
| Risk | Control | Failure action |
|---|---|---|
| High-speed rotor | Guard, eye protection, remote/kill control. | Stop until guard and standoff are restored. |
| LiPo fire | Balance charge and inspect pack. | Retire damaged or hot pack. |
| ESC heat | Short runs and cool-down checks. | Pause or improve airflow. |
| Loose mount | Clamp base and mark fasteners. | Abort and re-torque. |
| Calibration drift | Zero before/after runs. | Discard and recalibrate. |
| Wiring strain | Service loop across load-cell gap. | Reroute wires. |
How the result will be judged
| Check | A-level result | Not acceptable |
|---|---|---|
| Calibration | Residual <= 2 gf with raw table and fit chart. | One display photo. |
| Repeatability | Five normalized runs within +/-3%. | One run only. |
| Model comparison | Measured T-n^2 curve overlaid with prediction. | No residuals. |
| Safety file | Guard photo, kill control, battery note, cap log. | No guard. |
Data package
Exact closeout filenames
- 01_calibration_table.csv
- 01_zero_noise_log.csv
- 01_thrust_runs_raw.csv
- 01_density_correction_sheet.csv
- 01_thrust_vs_rpm_chart.png
- 01_drawing_SK-C1-001.pdf
- 01_datasheet.pdf
Senior capstone readiness
Current status: build plan; prototype and measured data pending. A-level requires measured overlay, calibration report, uncertainty budget, safety enclosure documentation, and drawing package.
Definition of done
- Calibration residual <= 2 gf.
- Zero-noise log <= 1 gf.
- Five runs are density-normalized.
- Measured curve, residuals, safety file, and drawing package are published.
Section 02 · Architecture
Thrust measurement path
Thrust follows one load path: nacelle ring to pylon to load cell to base. The load cell is the only link between pylon and base, so the full thrust crosses the sensor.
Stand — side elevation · live model
SK-C1-001 · load path: rotor → nacelle ring → pylon → load-cell free end → standoff → base. Drawing package is a build deliverable (gate DRAW-1).
Machined parts
Three pieces of 6061
The ring is bored to fit the fan’s housing. These housings measure 72–75 mm outside, so the final cut waits until the fan arrives and gets measured. The ring has a slit and a pinch bolt. Tightening the bolt squeezes the slit to grip the housing. After tightening, the fan must still spin free by hand.
Ring bore
OD+0.05 measured
Stock
6061-T6
Thrust line
∥ ±0.5°
Fasteners
M4 cap
Metrology
≈215 counts per gram
The load cell outputs 0.43 µV per gram. An HX711 amplifier converts that to about 215 counts per gram at 80 samples per second. Averaging steadies the display to 1 gram. The power wires cross the sensor in a loose loop, and a check proves that flexing them moves the reading 2 grams or less.
Orientation and gravity
Speed + firmware
Speed measurement and cap
An optical tachometer reads a mark on the spinner, giving true shaft speed alongside thrust. An Arduino enforces the indoor speed cap, drives the display, and logs the data.
Tach
IR optical
Display
OLED 0.96"
Zoo / SolidWorks — build this model
Modeling and assembly plan
Model the nacelle ring, the pylon, and the standoff as three parts, then mate them with the load cell into one assembly. Leave the ring bore driven by a variable, because its final size comes from measuring the real fan. One check matters in the assembly: the fan's centerline must sit parallel to the load cell's sensitive axis within 0.5°.
From the assembly, produce drawing SK-C1-001 — the side elevation above — with the bore, the bolt pattern, and the thrust line dimensioned. The export macro shipped with this plan saves each drawing as a web-ready PNG for this page. A working model of this build is embedded just below, and its STL download opens in SolidWorks, Onshape, or FreeCAD.
Runs in: Zoo (free — its Zookeeper agent builds from this prompt, edits by conversation, and answers design questions) · SolidWorks LEO · or by hand from the list above.
The Zoo file goes into the zoo-design-studio-projects folder shown at the top of Zoo’s Projects screen; the build then appears in the Projects list, dimensioned from this sheet. Paste the macro into SolidWorks (Tools → Macro → New) to export every drawing as a web image.
Model
3 parts + asm
Check
fit + mass
Drawing
SK-C1-001
Works on
any tier
Section 03 · Physics
Predicted performance
One number on the fan's spec sheet predicts the whole machine. At this bench in Golden, 1,730 m up, the prediction is 1,477 gf of thrust — 15.6% below the spec-sheet figure, because the spec assumes denser sea-level air. Every logged run records pressure and temperature, so the correction is computed rather than guessed.
Derivation chain
Four-line derivation
T = ρ·A·Ve² → Ve = √(17.16 / (1.225·0.003044)) = 67.8 m/s
Pideal = T·Ve/2 = 582 W electrical input 1,050 W (≈71 A at 14.8 V, 4S) → η = 0.55
ρ(1730 m, ISA) = 1.034 kg/m³ T ∝ ρ at fixed RPM
TGolden = 17.16 · (1.034/1.225) = 14.49 N = 1,477 gf
The math implies the fan is 55% efficient. Published EDF numbers fall in the same band, so the spec-sheet number checks out. A script re-computes every number here on every update.
Throttle law and the thrust coefficient
Live model — drag the throttle
Predicted thrust versus shaft speed
Thrust
— gf · — N
Exit velocity
— m/s
Ideal power
— W
Desk cap
236 gf @ 40%
Solid curve: predicted thrust at the selected site, T ∝ n². Dashed: sea-level reference. The measured overlay is an open deliverable — gate DATA-1 adds Kohler's logged points to this chart after the first characterization campaign.
Section 05 · Scope
Scope and next steps
This build measures thrust on a bench. The flight model and the kerosene turbine test come after, both reusing this stand's load cell and data path.
What carries forward
Planned upgrades
The fan and its speed controller are flight parts. When the bench work is done, they move into a flying 70 mm model. The stand stays. An 80 N kerosene turbine loads this same sensor at 82% of its range, so the stand, the wiring, and the calibration method all carry over.