Noise Maker – a DIY Sound Sculpture to Help You Sleep
by optimus103733 in Circuits > Audio
188 Views, 2 Favorites, 0 Comments
Noise Maker – a DIY Sound Sculpture to Help You Sleep
Hi! In this project, I’ll show you how I made my own Noise Maker, a small sound sculpture that plays relaxing background noises to help me sleep better. I’ve seen some commercial products that do similar things, but I wanted to create something unique and learn from it in the process.
This is a five-track ambient noise mixer built using an ESP32, an SD card module, a MAX98357A I2S amplifier, and five potentiometers. It works by playing five different .wav audio files stored on the SD card—such as birds, traffic, water, frog, and white noise—all at the same time. Each potentiometer acts as a volume control for one sound, allowing you to blend them together smoothly. When you turn a potentiometer, the ESP32 reads the analog voltage from it and adjusts the loudness of that specific track in real time. The sounds are continuously mixed and sent through the I2S interface to the amplifier, producing a combined audio output that can be played through a speaker. By adjusting the knobs, you can create your own relaxing sound environment—turning up the white noise for calm, adding bird sounds for a natural feel, or mixing gentle water and frog sounds for a peaceful night atmosphere.
I’ve always been fascinated by electronic sculptures — pieces that are both artistic and functional. Since this project doesn’t require any complex circuitry, I thought it would be a perfect opportunity to combine electronics with a bit of creativity and experiment with a 3D circuit design.
It’s a simple prototype with many limitations, but I learned a lot and had a great time building it
Supplies
- ESP32 development board
- MAX98357 I2S amplifier module
- Micro SD card reader module
- 6 potentiometers (10kΩ) – I used only 5 connections in the end
- Bare copper wire (1 mm diameter) — stripped from old coaxial cable
- Multywood base board for mounting
- Speaker (any 4–8 Ω small speaker works)
- Female PCB header pins – for connecting modules without soldering them permanently
- 5 V power supply or USB power adapter
- Soldering tools (soldering iron, good-quality flux, solder wire)
- Sandpaper
- Graph paper
- Colored pens/inks – red, green, and black
- Cutting player and wire striper
- (Optional) Brass wire, 5 V voltage regulator module, On/Off switch, Timer module
Circuit Design
Instead of using PCB design software like Eagle, I wanted my circuit to have depth and a hand-drawn 3D look. So I drew the entire layout by hand on graph paper.There are three layers to this circuit toprovide the 3D look and In my drawing there are three diffrent colours to draw the copper path
- Black lines represent connections on the middle layer (same plane as the ESP32 and sensors).
- Red lines are connections on the bottom layer (0.8 cm above the middle).
- Green lines are for the top layer (0.8 cm below the middle).
All wiring starts and ends in the middle layer (black), near the modules.
When wires need to cross, I don’t route them around — instead, I move one of them to another layer by bending it up or down.
By having three layers, you can place up to three wires in the same spot but in different planes, avoiding messy overlaps.
(See reference image of circuit drawing)
Since I used bare copper wire without insulation, it’s important to keep wires from different layers far enough apart to avoid short circuits.
Shaping the Wire
The next step was to prepare the actual 3D copper wire tracks.
I found some 1 mm diameter copper wire in a scrap shop — stripped from old coaxial cables — and it was perfect for this project. It’s thick enough to hold its shape but still easy to bend.
You can also use brass wire if you can find it; it holds shape even better and stays shiny longer, while copper tends to oxidize and lose its shine.
To straighten the wire, cut 50 cm long piece's and attach one end to something like a wise, and other is connected to a drill Chuck. Reduce the drill speed to minimum and turn iton while keeping the wire as straight as possible you can see the wire straightening when it start to twist, once its straight turn of the drill and repeat the process till you have enough wire
Using the reference circuit drawing, I bent the wires accordingly.
The top and bottom layers were kept about .8 mm away from the middle layer.
For example, when a green line appears after a black line, I bent the wire 90° vertically upward, then after .8 mm bent it 90° again to make it parallel with the middle layer — this way, I could jump between layers easily.
After bending all wires, I labeled each one individually. This helps a lot during soldering because it becomes hard to identify which wire goes where later.
Soldering
Before soldering, I cleaned both ends of every wire with sandpaper and pre-soldered the tips using good quality flux will help alot
Instead of soldering modules directly, I used female header pins so the modules (ESP32, amp, SD reader) could be removed or replaced easily if something failed.
I started soldering the SD card reader and audio amplifier first. Once their wires were connected, I moved on to the ESP32.
Keeping the ESP32 in the socket while soldering helps maintain alignment. There will be some small errors due to wire bending, but try to make the connections as neat and flat as possible.
Make sure all modules are at the same level, and that your three wire layers stay parallel and tidy.
Potentiometer Connection
I added the potentiometers at the end since they required several adjustments before the final fix
In my design, there are two rows of three potentiometers each (though I finally used only five connections).
To connect them:
- Two pins on each pot are VCC and GND, which are common to all pots.
- I made two rectangular copper loops — one for VCC and one for GND — connecting all the pots in each row.
- The center pin (sweep) of each pot was then connected to the ESP32 analog pins according to the circuit diagram(some pins are later changed)
This step was quite tricky because each sweep wire had to pass through the gap between the VCC and GND loops and the other end is already connecter to the esp32
Each audio volume controlled by individual potentiometes so all audios have an analog read pin on the esp32 to connect the sweep leg of the potentiometer, you can arrange the audio in coding time to have a particular potentiometer to control it
Platform and Speaker Connection
Now it was time to mount everything on a sturdy base.
I used a piece of multywood as the platform. to fix the sculpture two legs are soldered to the rectangular loop (see picture)then Two holes were drilled to insert the legs of the rectangular loops (VCC and GND). The whole sculpture was then placed onto the board.
If the setup wobbles, add more support legs to the loops until everything stands firm. Since multywood is a good insulator, you don’t have to worry about short circuits.
Next came the speaker. The back of my speaker had a metal magnet cover, so I removed it, scraped the surface clean, applied flux, and soldered a wire to it (see picture) this served as the speaker leg and its then fixed in place as previously did.Once fixed to the platform, I connected the speaker wires from the amplifier, taking care to match the positive (+) and negative (–) terminals.
Audio Setup and Coding
Do this step before all the above steps ,This part took me the longest — not because the code was too hard, but due to library conflicts and Arduino IDE issues.First build the complete circuit on a bread board amke sure all connections are corrrect then start the coading.one major problem i had was library conflict
I was using ESP32 Arduino Core 3.2.0, which introduced stricter ADC driver separation. That caused some conflicts between the SD and audio libraries.
Here’s how I fixed it:
- Open Arduino IDE → Tools → Board → Boards Manager.
- Search for ESP32 by Espressif Systems.
- Downgrade to version 2.0.11 or earlier, which doesn’t have this conflict.
Once that was done, everything started compiling and after some adjustments everything start to work correctly with some sample audios.
Preparing the Audio Files
The ESP32 audio player requires WAV files with specific settings for smooth playback.
Here’s how I prepared them:
- I downloaded some relaxing sleep sounds from YouTube (using an MP3 download site).Audio length doesn't matter because it will be
- Opened each file in Audacity.
- Converted stereo to mono:
- Tracks > Mix > Mix Down to Mono
- Increased the volume:
- Effect > Volume and Compression > Amplify
- Exported as WAV:
- File > Export Audio
- Format: WAV (Microsoft) signed 16-bit PCM
- Sample rate: 16000 Hz
- Channels: Mono
- File name: short and simple (e.g., sound1.wav)
Format your SD card as FAT32 before copying the files — otherwise, the ESP32 won’t recognize it.
Again after many trials and debugging, the system finally played all five audio tracks correctly. here is the code i used. Upload this code before connecting th e esp32 on the sculpture.
This code will read all 5 audio in the sd card and also read the potentiometer value using analog read then the esp32 will adjust the volume of that particular audio with the pot valu. 0 reading on the potentiometer meter will mute the audio and higher reading will increase the volume. By adjusting the pot you can control and mix all audios.
Power Supply
Once coding and testing were done remove the USB connected to the esp32. I powered the ESP32 using an external 5 V supply instead of the micro USB on the board
Here’s how I wired it:
- 5 V pin on ESP32 → connected to the VCC loop
- GND pin on ESP32 → connected to the GND loop
- The 5 V adapter then connects directly to these loops
This way, the entire sculpture can be powered from any standard 5 V supply.
Thoughts and Upgrades
Some additions I plan to make in future versions:
- A 5 V voltage regulator module for stable power
- An On/Off switch
- A timer to automatically stop playback after a set time.Since the audio is looped, it keeps playing until power is turned off
- Cleaning and adding a transparent polish on copper would make it more shiny and new looking
The ESP32 can handle mixing three or four audios smoothly, but beyond that, it starts to struggle a bit. Still, this was a great learning experience — from handling hardware and soldering to fixing library conflicts and preparing audio files.
Next time, I might build a regular PCB version with a better amplifier and microcontroller, but this prototype sculpture already works beautifully as a personal sleep aid and art piece.
Final Thoughts
Building this Noise Maker was a mix of art, electronics, and patience. It taught me not just about ESP32 and audio playback, but also about design, structure, and troubleshooting.
Even with its imperfections, it feels special to have something that’s handmade, functional, and visually interesting.
Thanks for reading — I hope this inspires you to make your own version!