← Back to the tree
EE + CS

Clap-to-Light

Build a system where clapping turns an LED on and off — and understand every layer, from the analog signal to the code that decides what a 'clap' is.

Who it's for

Late high school / early college students with zero or near-zero hardware experience.

Portfolio outcome

A working demo video, a wiring diagram you drew, and a documented Arduino sketch on GitHub with a written explanation of how clap detection works.

Bill of materials

  • Arduino Uno (or compatible)
  • Sound sensor module (electret microphone + amplifier)
  • LED + 220Ω resistor
  • Breadboard + jumper wires
  • USB cable
L0

Understand the Signal

○○○○ · ~1h

Skill: What sound actually is to a circuit, and what a microcontroller can read.

You build: Nothing yet — you read the sensor's output and watch the numbers move on screen.

EE lens

A microphone turns air-pressure waves into a tiny changing voltage. The sensor module amplifies it into something the Arduino can read.

CS lens

The Arduino samples that voltage as a number many times a second. A clap is a sudden spike in that stream of numbers.

Synthesis

Hardware produces a signal; software interprets it. Neither half is useful alone — that gap is exactly where WAC lives.

L1

Light a Single LED

○○○○ · ~1h

Skill: Driving an output: making the microcontroller control something physical.

You build: An LED you can turn on and off from code (the classic 'blink').

EE lens

An LED needs a current-limiting resistor or it burns out. You learn why 220Ω, not zero.

CS lens

digitalWrite(pin, HIGH) flips a real-world switch. Your first line of code that moves an atom.

Synthesis

The resistor (EE) protects the part; the code (CS) commands it. You need both to not destroy your hardware.

L2

Read the Sensor in Code

●●○○○ · ~2h

Skill: Getting live sensor data into a program and reacting to it.

You build: Serial output that prints the sound level in real time.

EE lens

Wiring the sensor's VCC, GND, and signal pins correctly — get this wrong and you read garbage.

CS lens

analogRead() turns the voltage into a 0–1023 number you can print, log, and reason about.

Synthesis

Clean wiring gives clean data. Debugging a 'software' bug that's actually a loose wire is the most common WAC lesson.

L3

Detect a Clap

●●●○○ · ~2h

Skill: Turning raw data into a decision: thresholds and debouncing.

You build: Code that prints 'CLAP!' only on a real clap, not on background noise.

EE lens

Background electrical noise is real. You see why the signal is never perfectly clean.

CS lens

You set a threshold and add debounce logic so one clap isn't counted ten times.

Synthesis

A 'clap' isn't a physical thing the hardware knows about — it's a definition you invent in code on top of a noisy signal.

L4

Clap to Toggle

●●●○○ · ~2h

Skill: State: remembering whether the light is currently on or off.

You build: Clap once → on. Clap again → off. The full product behavior.

EE lens

The LED circuit from L1 is now driven by the clap logic from L3 — your two subsystems meet.

CS lens

You hold a boolean state variable and flip it on each detected clap. This is a tiny state machine.

Synthesis

This is the moment the build becomes a 'product': a sensor, a decision, and an action wired into one loop.

L5

Ship the Portfolio Proof

●●○○○ · ~3h

Skill: Documenting and presenting technical work like an engineer.

You build: A demo video, a clean wiring diagram, and a documented GitHub repo.

EE lens

You draw the schematic so someone else could rebuild it — the universal language of hardware.

CS lens

You write a README that explains the clap-detection logic and push it to GitHub.

Synthesis

An internship reviewer can't see your breadboard. The artifact IS the proof — this level is what turns a weekend into a resume line.