Source: https://mokxi.com/learn/engineering-science-fair-project
Updated: 2026-09-27

Learn

# Engineering projects for the science fair: how to write one up

Written by the Mokxi team, updated September 27, 2026

Sign up free or see every lesson

- 192 parts on the bench
- 25 boards running now
- 1.00x real time, on every board

Click to open it in the editor

An LDR divider on A0 and a lamp on pin 9. The lamp fades on below one light level and off above a brighter one.

An engineering project answers a different question from a science project. A science project asks "what happens if?" and tests a hypothesis. An engineering project asks "can I build something that does this job?" and tests a design against requirements you set at the start. Most fairs, including the ones that lead to Regeneron ISEF, accept both, and judges score them differently. Writing an engineering project up as if it were an experiment is one of the most common ways to lose points.

This page shows the engineering version end to end with one small, real design: an automatic night light that turns on when a room gets dark. The three iterations below are real circuits you can open and test, and the numbers in the log were measured on them.

## Start with criteria and constraints

Criteria are what the design must do, written so you can test them. Constraints are the limits you work within. Vague criteria like "works well" cannot be tested; numbers can.

For the night light: it must turn on when the light falls below about 10 lux (a dim room at night); it must not switch on and off repeatedly when the light hovers near that level; it should come on gradually rather than snapping to full brightness; it must run from 5 V; and it should use parts that cost under $15.

## Iteration 1: a comparator with one threshold

The first design has no microcontroller. A light-dependent resistor (LDR) and a 10 k resistor make a divider whose voltage rises as the room gets darker. An op-amp compares it with a voltage set by a knob and lights the LED when the divider is higher.

Test: drag the light slider down slowly and record when the LED lights. With the knob in the middle it came on between 21 and 19 lux, and went off again as soon as the light rose back past the same point. The on point and the off point are the same.

Result against criteria: it switches at a threshold, but it fails the "must not switch repeatedly" criterion on paper. With one threshold, any flicker in the room light near that point (a passing car, a TV) switches the lamp. The simulator has no noise, so you will not see the flicker here; this is a design flaw you identify from the test data and explain, which is exactly what judges want to see. It also snaps on at full brightness.

## Iteration 2: two thresholds (hysteresis)

The second design moves the decision into an Arduino Uno so the thresholds are numbers in code. It uses two of them: the lamp turns on when the reading falls below 380 (out of 1023) and turns off only when it rises above 580. In between, it keeps doing whatever it was doing. That gap is called hysteresis.

Test: the lamp came on between 9 and 8 lux and went off between 30 and 31 lux. The two points are now far apart, so small changes in room light near either one cannot make it chatter. Criterion met.

## Iteration 3: a gradual fade

The same sketch drives the lamp with PWM on pin 9 instead of switching it on and off. Each pass through the loop moves the brightness 8 steps (out of 255) toward its target and waits 20 ms, so a full fade takes 32 steps, about 0.64 seconds. The serial monitor prints "dark (377): lamp at 255" when it arrives, with the sensor reading that triggered it.

Test: the fade finishes in well under a second and the lamp reaches full brightness. Criterion met. The design log records the change and the number you would tune if the fade felt too slow: the step size.

## The write-up

Use these headings. Problem: who needs this and why. Criteria and constraints: your numbered, testable list. Background research: how existing products solve it, with sources. Design iterations: for each one, what you built, how you tested it, the data, and what you changed and why. Final design: a schematic, a parts list with costs, and a photo. Results: a table of each criterion, pass or fail, with the measured value. Conclusion and next steps.

Keep an engineering notebook from day one, dated, in pen or with version history. Judges read the log to see real iteration, not a design that appeared finished. If you save the project to a Mokxi account, its version history is a good record of each iteration, but a notebook is still expected at most fairs.

A final honest note for the write-up: a simulator is a good place to test the logic and the circuit. The LDR here follows a standard model, so for the final thresholds, build it with a real LDR and measure the room it is meant for.

## Presenting it

Lay out the display board in the order you worked: the problem, the criteria and constraints, each iteration with its test data, the final design, and what you would change next. Judges ask why you made each change, so keep your test data where you can point to it. A short live demo, even on a laptop, answers more questions than a photo does.

## Questions

What is the difference between a science project and an engineering project?

A science project tests a hypothesis about how the world works. An engineering project designs and tests a solution against requirements, then improves it. Science Buddies has a clear side-by-side comparison of the two processes.

How many iterations do I need?

Enough to show real improvement driven by test data. Two or three well-documented iterations are more convincing than many undocumented ones.

Related

## Keep going

Arduino Science Fair Projects With a Real Hypothesis Reaction Time Science Fair Project With an Arduino 555 Timer Projects for a Science Fair (No Coding) PWM: Faking an Analog Voltage on a Digital Pin Science Buddies: engineering design vs the scientific method

## Build this for real

Open the editor, change a value and watch the number move with it. Nothing to install, and no account needed.

Start building Open the editor
