Project 01

Experimental Active Noise Cancellation Prototype

Starting question

Can noise be cancelled using physics and automated electronics?

An ESP32-based active noise control experiment built to test whether a simple microphone, processor and speaker system could produce a measurable reduction in sound inside a defined listening zone.

Why I built this

WHY?

The beginning

When I decided that I wanted to start building engineering projects to develop my skills and learn engineering by actually doing it, I started looking around me for problems I could work on.

I wanted to pick a real problem, understand it as much as I could, and see if I could build something that would help with it. I knew that while doing that I would probably have to learn things I did not know yet, and that was part of why I wanted to build projects in the first place.

Why noise?

For more than a year and a half, there was a construction site near my home. From around 9 a.m. to 9 p.m., I could hear drilling almost every day.

So I started asking why. Why does something like drilling or deep construction take this long even with all the machines and engineering we have today?

I started searching about construction methods and different technical solutions. A lot of the ideas I found were expensive, needed a lot of power, had safety problems, or were simply much bigger than something I could realistically work on.

At that point I left the construction side alone and started searching for ways to reduce the noise itself.

That was how I found active noise cancellation.

What is ANC?

Active noise cancellation, or ANC, uses a microphone to pick up sound, a processor to work with that signal, and a speaker to produce another sound that reduces the original sound through interference.

I had already studied waves and destructive interference in physics, so this immediately connected with something I already knew from class. The idea itself looked simple on paper. You have one wave, create another wave against it, and reduce the sound.

Then I started learning what happens when you try to do that in real life.

My first idea

My first idea was honestly unrealistic.

I was imagining a system with many microphones and many speakers that could reduce noise by 80 percent or more, work over a large area, and even deal with difficult changing noise like drilling.

That was what I had in my head before I actually started working on it.

WHY?

When I started researching and building, I realised that what I was imagining would need years of research and development. There were problems with delay, timing, the position of the microphones and speakers, changing sound, the size of the area, and a lot of things I did not understand yet.

I realised I had made the idea much bigger than what I could actually do.

So I decided to make the simplest version I could.

One processor. One microphone. One output speaker.

I also stopped expecting it to be a product ready for someone to use. I decided to treat it as an experiment and only ask one question: can this small system produce a measurable reduction in sound?

Experiment

Annotated setup

Prototype setup used for the ANC experiment.

Annotated ANC prototype: two tripod speakers, ESP32 DevKit V1, INMP441 microphone, MAX98357A amplifier, breadboard, battery and USB power
WHY?

The experiment was designed to compare sound level with ANC OFF and ANC ON while keeping the other experimental conditions fixed.

Practical setup and method

Experimental method, controlled variables and physical arrangement.

Experimental ANC Investigation sheet: aim, apparatus, controlled variables, varied variable, method summary and labelled arrangement photo
Experimental zones

Physical layout used during testing.

Test layout divided into ANC prototype zone, isolation/buffer zone and noise source zone

ANC System

WHY?

The system uses an INMP441 microphone to capture the incoming sound and send the digital audio signal to the ESP32 through I²S.

The ESP32 processes the microphone signal and generates the anti-noise control signal. The MAX98357A receives the digital I²S output from the ESP32 and converts it into an amplified audio signal for the speaker.

The speaker then produces the anti-noise wave, which combines with the original sound and reduces it through destructive interference.

Signal path

Sound→INMP441→ESP32→MAX98357A→Speaker→Anti-noise

Code

The code continuously reads the microphone input and focuses on the target noise frequency used in the experiment.

WHY?

The ESP32 generates a sinusoidal signal at the same frequency. The code adjusts its phase and amplitude to find a lower sound level at the microphone position.

The selected signal is then continuously sent to the speaker as the anti-noise output.

Results

Results, graph and analysis

Measured sound level with ANC OFF and ANC ON across the test positions.

Results table and graph of sound level against position for ANC OFF and ANC ON from 0 to 50 cm
  • Six positions were measured from x = 0 cm to x = 50 cm.
  • The measured reduction ranged from 1.1 dB to 4.5 dB.
  • Maximum measured reduction: 4.5 dB at x = 0 cm.
  • Mean measured reduction: 2.8 dB.
  • Estimated uncertainty in each sound-level reading: ±0.5 dB.
  • Estimated uncertainty in the calculated reduction ΔL: ±1.0 dB.
  • The measured reduction became smaller as the measurement position moved away from the intended cancellation region.

Reflection

To do this experiment, I applied what I learned in the laboratory physics classes I took in high school and the theoretical physics I learned, especially the waves and interference chapters. I filled the information gaps between what I learned in class, the theory, and the electronics by searching for what I was missing and using AI models to help me understand it. More about how I use AI →

I also want to give my appreciation to my physics teacher, Mr. Loay Khalil, who taught me physics.