DIY Directional Speaker/Audio Laser

by NicholasPan in Circuits > Audio

108 Views, 2 Favorites, 0 Comments

DIY Directional Speaker/Audio Laser

IMG_2264_2.jpg
IMG_2262.jpg
IMG_2263.jpg
IMG_2261.jpg
DIY PARAMETRIC SPEAKER

Here is how I built a directional speaker. A directional speaker is a special speaker that makes sound appear to travel in a laser beam. If we stand directly within the beam, we can hear the sound clearly. If we step to the side, it is not audible.

What's coming out of the transducer is indeed a 40kHz square wave, which is not audible. The square wave's duty cycle oscillates according to the music's highs and lows. As it travels to our ears, it is a high-pressure beam due to the short wavelength of ultrasound. The air molecules demodulate it and reconstruct the music.

I've divided the project into 3 steps:

  1. We will amplify and offset the audio source using the MCP602 OP-AMP.
  2. We will use an LM393 comparator as well as an Arduino to generate a PWM in which the duty cycle changes according to the music
  3. We will amplify the current carrying the PWM using a high slew rate MOSFET driver into our transducers.

Supplies

Amplifying and Offsetting the Audio Signal

Screenshot 2026-03-29 at 1.44.21 PM.png

By offset, I mean the original sound wave oscillates between -V and +V. We want to bump everything up to 0 to +V, so the chip can read it. We also want to amplify that signal so that the comparator in the next step can read it.

POT1 is for offset, while POT2 is for amplification.

Adjust POT1 until you hear music from the transducers once you complete the entire circuit.

Adjust POT2 for volume control

Generating 40kHz Square Wave and Modulating It With Music

Screenshot 2026-03-29 at 2.09.49 PM.png
Screenshot 2026-03-29 at 2.49.53 PM.png

Arduino

Arduino generates a 40kHz square wave. The comparator compares the audio voltage and the Arduino voltage.

When the audio voltage is high, the duty cycle is shorter

When the audio voltage is low, the duty cycle is longer

The duty cycle oscillates with the music while everything is still in 40kHz.

Disclaimer: The analogWrite() Arduino function doesn't produce a sharp 40kHz signal; this code uses Arduino's hardware timers and was generated by Google Gemini

Comparator

When we wire the LM393, a pull-up resistor is necessary on pin 1 because, on its own, it can't supply any voltage. To transmit the signal to TC4420(Step 3), we need a voltage, which is why there is a resistor there.

Amplifying the 40kHz PWM Signal

Screenshot 2026-03-29 at 3.04.29 PM.png

The TC4420 is capable of pushing large amounts of current, which is necessary to drive a transducer. It also has a high slew rate, which means it turns ON and OFF rapidly around 25 nanoseconds. This is perfect for PWM amplification to make the squares as sharp as possible. It is also why it works better than an OP-AMP to drive a transducer.


Thanks for following along, and I hope my instructions were clear so that you were successful in building it!

It is a very unique sensation when the sound hits you. Try bouncing it off objects; it will seem like the object itself is radiating the sound.