Visualising Sound

Turning sound into laser projections

Dan Koch

Issue 62, September 2022

This small, short project is a seemingly simple idea that turned out to be deeper than we thought.

Some time ago, we stumbled upon a YouTube video from Steve Mould, called 'Laser + Mirror + Sound'. This involves a giant balloon stretched over a kitchen mixing bowl with a Bluetooth speaker inside it. A chunk of mirror is glued to the balloon, and a laser is aimed at it. When sounds are played through the speaker, the laser beam is deflected and makes patterns on the wall or ceiling. While it seems like a novelty at first, it's a great way to explore resonance and the effects of frequency. It could be a tool for learning on your own, a great photography subject, or a science demonstration tool for educational situations.

We loved this idea but knew we could play around with it. Our plan involves gradually modifying the concept, first to make use of more accessible materials (the balloons are a bit harder to get) and allow the construction of different resonant chambers. Then, to have the speaker mounted outside the sealed area so that we can use a wired speaker more easily. Next, we want to explore the same variables like frequency and amplitude when applied to different resonant chambers. Finally, we want to use more than one laser and mirror on one membrane surface.

NOTE: Please check out Steve Mould's video, linked at the end. The more support channels like his receive, the more content there will be for us to enjoy and learn from.


The first task is to look closely at Steve Mould's original build. It involves a kitchen mixing bowl with a large balloon stretched over the top and a Bluetooth speaker inside it, completely covered and within a now-sealed chamber. On top of the balloon, not quite centred, is a fragment of a broken mirror. Signal is fed to the Bluetooth speaker via a laptop. Over the balloon/bowl is positioned a retort stand with a laser pointer held within, pointed at an angle at the mirror so that the reflected beam lands on the adjacent wall.

When music is played through the speaker, patterns are produced on the wall as the mirror vibrates with the surface of the balloon. The point of Steve's video, however, was what happens when controlled frequencies are sent to the speaker and the cavity hits resonance. He achieved this by using some code and a laptop, and we assume this code drove an audio signal to the internal Bluetooth transceiver of the laptop. We couldn't see enough of the laptop to know if this is done with an external Bluetooth audio dongle in the headphone jack or not, but Steve provides the code in the description for his video for those who want to explore.


Lasers can harm the human (or pet) eye, even those considered 'low power'. For brightness in the projected pattern, we needed lasers of around 5mW. We are using mirrors, so there are times when the laser goes places you don't want it to, like during set-up and alignment. This was found to be very true for the thicker mirrors, where the sides were reflective too. Consider buying laser safety glasses from the hardware store, of the type used around laser levelling and surveying equipment.


We decided early on not to directly replicate Steve's setup for our exploration. Firstly, we could not locate a big enough balloon that would stretch properly over a mixing bowl. We tried all the party suppliers we could find and only online could we locate a balloon big enough. Even then, we weren't sure. The challenge is in the neck of the balloon.

If the video is examined closely, we can see that the bowl is inserted slideways in the balloon, with the neck to the side of the bowl. We could not get a balloon with a neck that could stretch anywhere near that far. On reflection, after our build, we re-examined Steve's video and noticed the neck may have been cut from that balloon. After we had butchered several in a more extensive way, we noticed the unrolled edge of the balloon 'neck' in the video, indicating a cut had been made. However, we're glad we did go down this road, as will be seen subsequently.

We also wanted to use a wired speaker. Bluetooth speakers are great but they do not always have a great frequency response curve and often perform at some frequencies much better than others. They are designed for general music listening. More importantly, however, we wanted to be able to leave our build assembled through long experimentation and not have to disassemble it for recharging. Further to that, we wanted to have a choice of amplifier and having a speaker with bare wires externally accessible helps this.

Additionally, we wanted to be able to source the sound from multiple devices. Steve's code idea is great for someone who is comfortable with coding itself and the other things involved (this code is not exactly Arduino and addresses computer hardware directly), but there are many DIYODE readers who are not up to Javascript. There are some DIYODE staff who are not up to Javascript, either, having a more analog skillset.

As a side-effect of that, we have a great two-channel function generator here in the workshop, and could also see this device being driven by any function generator such as a NE555-based square wave circuit. Having said that, Steve Mould's original code allows more than two frequencies to be played through a single channel, and that is a major advantage if you do have Javascript skills.

It was also our plan to have multiple mirror segments on at least one of our experiments, to see how much the resonance affected different parts of the membrane for the same frequency, or even if there was a difference. We also decided the mirror could not be broken fragments. Not only is this a safety issue for people wanting to build it (Steve's video was never intended as a build-at-home project, just something for us to watch), but we feared the edges may eventually damage the membrane. This would be most likely with multiple segments used on one membrane and if indeed they do move differently to each other.


Our main priority, which sets this project apart from many of the demonstration examples available online, is that the materials need to be sourced with consistency and relative ease. In other words, we need things that most people can go out and buy. As such, there is nothing from the scrap box, nothing recycled unless we know it is available (the plastic containers, for example, are recycled but come from chain department stores), and nothing found.

We do prefer supporting independent businesses when we can, but we need to balance that against making sure we haven't bought something hard to get, that our local store has but few others do. So, while we bought our balloons from Big W, as an example, so that we know a big percentage of the population can go and get the exact same ones, we would prefer that people check their independent suppliers first, to see if you can get the right thing or an equivalent. If you live in a small or medium regional town that does not have these department stores, you'll probably be looking at independents anyway, which is a very healthy thing that helps such towns to survive.

That said, here is where we sourced our supplies:

Speakers: These are medium sized speakers but the size depends on your chamber size. We chose one each of two types: a 4" (100mm) paper-cone woofer, CW2190; and a 3" (76mm) polymer-cone general purpose ("full range") speaker, AS3034. Both of these came from Jaycar.

Amplifier: This one again came from Jaycar. It's a small stereo amplifier, AA0472, with two 18W RMS channels. It has basic bass and treble controls, and a master volume control. It also has a microphone input with built-in preamplifier. We chose it because it was the cheapest one with a reasonable power output, and it does the job. Many people will be using an existing amplifier, however. Any amplifier will do, as long as you can plug in a signal source.

Chambers: We used two chambers. One is a plastic kitchen mixing bowl, from a set of two identical ones, from Big W. The pair cost $3.50 together. The other chamber is a tall plastic clip-lid round container from Kmart, and these are sold individually for $4. Whatever your chosen chamber, you'll need to be able to cut a hole for the speaker. This in turn means your chamber may be chosen by your available tools. We don't have a big enough hole saw, so we chose plastic that we can cut with a knife.

Balloons: The balloons we used were 60cm latex balloons from Big W's party supply section. They were the biggest we could find in a chain store, and still didn't have a neck stretchy enough to fit over the bowl or jar. That was our line of thinking before we realised the balloons in the video had been cut above the neck. Having said that, there are balloons around with more elastic necks and which are much wider compared to the balloon.

They are just not easy to get. We did explore buying flat sheet membrane for this, but found two problems: the first was that it is very difficult to secure the membrane around the container while keeping it flat. The second and probably bigger challenge was supply: we could not find any source of material wide enough while still thin and flexible enough. The closest we came was by-the-metre exercise band material at 150mm wide from Clark Rubber.

Mirrors: These were the hardest parts to source. We needed something we could neatly cut without a glass cutter, or that was precut. We started with dental mirrors from Jaycar, and in the end, we went back to them. We also tried to find a source of pre-cut mirror pieces, and ended up with small mirror mosaic tile packs from Bunnings. These are around 10mm x 10mm, and 3 - 4mm thick. This became a problem later, as we will discuss at that point.

Signal Source: We used our existing function generator for this experiment, a GW Instek MFG-2230M we bought from Element14 some time ago. At roughly $700 at the time, this is an entry-level unit in its field, so we don't expect every maker to have one. For some of the testing, we used music, and that's a no-brainer. For the coders among us, who are happy with Java, Steve Mould's code (from his video, which is very worth watching) and a laptop would do the job. For anyone else, Arduino or Raspberry Pi running simulated analog out would be fine too. Some models even have audio out. Also, basic signal generator circuits would be ok too.

Lasers: The lasers used have changed over the course of the experiment. Initially we used some laser diode modules bought online last year for a project which turned out not to be viable. However, one of them appeared to fail and go dim, before eventually being restored (we're still not sure how). These are 5V units and are USB powered. In the interim, we switched to later pointers powered by 2xAA batteries each. These were also online purchases, being a test for an idea, and are not really reliable themselves. They have poor electrical contact where the case screws together, and therefore they also dim from time to time. The result is that you will see both in the build and test photos.


Initially, we tried to replicate Steve's original build with a kitchen mixing bowl and a large balloon. We used 60cm party balloons throughout the build but hadn't noticed that in the video, the neck had been cut. This drove us crazy and prompted us to try a container with less open area, the plastic storage container. Still, no joy. The neck just does not stretch far enough. Eventually we cut the balloon in half and were able to stretch it over the container, and had the same success subsequently with the mixing bowl. It seems to work much better if the neck is cut well below half-way, where the curve of the balloon is still narrowing.

For sound, we originally tried a set of PC speakers. We wanted PC speakers because they contain their own amplification and have an easy-to-use 3.5mm stereo input. However, they were too tall for the bowl, even when laying on their side, as well as later proving to be too weak. It was also difficult to seal around them. A sealed chamber is not absolutely necessary for this demonstration, but helps greatly. The difference is efficiency. A closed chamber moves the membrane more for the same speaker power, although this system can be made to work with a membrane stretched over a cup with the base cut off and held in front of a speaker. We saw a video using this system demonstrating the concept to a high school physics class, but the scale is smaller. The patterns were projected at close range onto a much smaller surface.

We also, at one point, tried a Bluetooth speaker inside both the tall container and the mixing bowl, but the results were still not great. It had become clear that to get serious movement from the membrane, a lot of air had to move. That meant putting the speaker outside the chamber with the driver sealed against a hole in the chamber. This way, the speaker cone could be far more dynamic, and create pressure positively or negatively in the chamber because the environment would be sealed.

Inside the chamber, a speaker can either be a sealed unit like the Bluetooth and PC speakers and move little air, or simply move the air around in the case of an open speaker sealed within a chamber. Both produce movement in the membrane, but not as much as a chamber where the speaker is connected to the outside air. The sealed chambers of each speaker mean the cone has to draw a vacuum on the air in its own chamber, and does not move as far as an open speaker. This is where porting comes into larger speakers.

Now that we had decided to secure a larger speaker to the outside of the chamber, we needed to cut into those chambers. After sourcing suitable speakers, we decided to cut into the chambers with a snap-blade knife, often called a box cutter or utility knife. With a fresh blade, about four to six passes was sufficient for our range of containers. The plastics are reasonably soft and flexible, which helps. Harder plastics may shatter or not cut well. We cut (vaguely) circular holes sized to just clear the cone and rubber surround of each speaker.

We secured the 100mm speaker to the storage container and the 76mm speaker to the mixing bowl, because even though it has a larger diameter than the jar, it has a rounded base with a smaller area. We used hot melt glue for sealing and 4G x 12mm screws for securing the speakers. Wires were soldered on, long enough to comfortably reach the amplifier elsewhere on the bench.

Now, it was time to stretch the balloons over the chambers. This is where we discovered that it is most helpful, almost essential, to cut the balloon further toward the neck than the half-way point. Even so, stretching the balloon over the mixing bowl was hard work and ultimately required two people: One to hold the bowl, the other to manipulate the balloon.

After the membrane is on and will be staying on, the mirror or mirrors can be attached. At first, we used double-sided foam tape for this. We tried the outdoor/automotive variety, and it is definitely strong enough. However, we were getting tiny patterns on initial sound tests, and hypothesised that the foam core, thin and dense though it is, was damping the vibrations from the membrane. Instead, we went for glue.

We used a tacky craft glue, the common thickened PVA available from hardware, office supply, and craft and hobby supply stores. The glue needed to be applied liberally enough to form a good bond, but not in such quantities that it took half a year to dry. We applied a healthy amount to our first mirror and left it to dry for the whole day in front of the office air conditioning.

You can see in the photos that there are two mirrors, and that the dental mirror has been mangled. At first, we thought we might damage the mirror trying to remove it from the handle, so we simply cut it off. Later on, however, we realised that these are not glass mirrors but silvered acrylic, and quite thin. Once that realisation sunk in, we were able to remove the mirrors from the holders.

This is important because the mass of the mirror affects the behaviour of the membrane where the mirror attaches. If there is too much mass, there is enough inertia in the mirror that the pattern produced is not reflective of the actual frequency in the membrane. No, that is not meant to be a pun. The second mirror in the photo was added much later, after the experiments we're about to describe.

Now that we had a design dialled in, it was time to test. We kept our jar chamber fitted with the mirror still on its handle, but by this time we had discovered both the mosaic tile and the fact that the dental mirrors separate from the handles. All of our first experiments occurred with the laser arranged to point at the roof.

This was easier at the time than setting up to project onto a wall, simply because of the room layout. It also hid the problem with the mosaic tile mirrors that we found later. A laser module was attached to a dual boom stand, quite commonly used in the photography studio but occasionally 'borrowed' for things like this. The head that normally holds a ¼" / ⅜" spigot is well-sized to hold the laser module. This was plugged into a USB power bank.

We started with a single channel on the function generator, set to produce a sine wave and having a voltage of 1V peak to peak so that it was compatible with the RCA input of the amplifier we had. After plugging the speaker wires into the spring terminals, we set the function generator for 20Hz, turned on the output, and began increasing the volume on the amplifier until a result was clearly visible with the laser on the ceiling. The results are quite impressive once the laser has been aligned properly. It becomes very, very obvious once the chamber hits a resonant frequency, as the pattern becomes substantially larger.

All frequencies produce some sort of pattern, and some are quite interesting indeed. However, the vibrations in the membrane do interact with each other. Sometimes, this means that the pattern is quite messy. At other times, it just means that the frequency should not be changed too quickly. There were times when changing the frequency by only 1Hz required a second or two for the pattern to stabilise. This rules out a sweep function unless the time for the sweep is long enough for one or two seconds per Hz in the range.


The membrane does not move in just one plane, so there are some variables that affect the pattern. The surface area of the membrane, and the volume of the cavity in the container, are both factors. The different regions of tension and lack of tension in the balloon are factors, too. The balloon is meant to be round, and so there is always a place where the membrane is a bit slack. Balloons are made for a purpose, too, and often have regions of uneven material thickness.

They still perform their intended role this way. Further to that, the same frequency in the jar version produces a completely different pattern in the bowl version.

The photo shows the same frequency from the generator and amplitude from the amplifier, but fed to the two different containers using the left and right channel of the amplifier (with the source parallel to both input channels). The mirror is in a similar position but it cannot be identical because the surface area is not the same.

The other thing that influences the pattern is mirror position. The membrane does not vibrate evenly, because of the previously mentioned factors. In addition, the middle of the membrane will always have a higher amplitude than the sides.

For this reason, we have made some versions of this experiment with multiple mirrors. This has two goals attached to it: Firstly, to explore the pattern for a given frequency from different parts of the membrane; and secondly, to use more than one laser at once and see what patterns can be generated. The side-by-side comparison shown here was made with the same frequency and amplitude, with the laser aimed at three different mirrors on the one chamber.

This one is two different lasers aimed at two different mirrors on one membrane:

And this one is two lasers aimed at the same mirror but from different angles.

So far, we've dealt with a single frequency. However, much fun can be had by implementing two or more frequencies together. Our function generator, as with many in the affordable range (that's a relative term compared to other function generators, it's still a $700 unit), is a two-channel. This is where Steve Mould's Javascript will come into its own if you are comfortable with such code.

Having three or four frequencies would be interesting indeed. Frequencies interact and as such, we started with one base frequency of 40Hz (we had found too much destructive vibration below 40Hz previously) on channel one, and swept channel two from 40Hz to 1000Hz to see where interesting patterns occur. We found one that interested us a lot at 89Hz and 148Hz, but this would look different on any other chamber.

As Steve discusses in his video, there are serious challenges to shooting this kind of light show, and a phone is even more challenging as a photographic tool. This is another reason we will add some better images and some videos to the website, which will be shot on more serious hardware.


So far, we have exclusively used a sine wave to generate these patterns. However, other waveforms work too. Every one will produce a different pattern for the same frequency, chamber, and amplitude when compared to the sine wave. Square waves in particular contain a lot of harmonics, and will produce in many cases a rougher and messier pattern. It looks interesting in its own right. Triangle and sawtooth waves also produce their own different responses. If you are performing this experiment with a function generator capable of these waveforms, they are worth a try.


Another point of exploration is the audio source. For much of the experimentation, we used a function generator set for a sine wave output. It was set at 1V peak to peak to match the common standard for line signals through RCA audio cables. This is great for exploring resonance but there are more uses for this apparatus. However, we also explored playing music through the speaker. This produces very uneven results but they are still visually interesting and reminiscent of the old visualisations found in MP3 player programs (it was before 'apps') like Windows Media Player from the late 90s and

early 2000s. It would make a very interesting display to accompany music in a public space like an office reception.

In addition to that, a voice input through a microphone is also lots of fun. We used this at a youth group science night and the kids had a ball exploring both their normal and acted/forced voice patterns, as well as singing notes. Those with singing skills were able to approach some of the patterns seen on the function generator versions! It all depends on how well the singer can hold a note and how precisely they can form the sound.

This on its own was fascinating and made for quite a bit of thinking material. For child privacy reasons, we didn't take any photos on the night. Instead, we replicated this in the office, with the photo showing a voice pattern as no one in the office is up to that kind of singing!


This was a fun exploration project. It has a minimum of 'electronics' but a lot of application, particularly in the exploration of resonance and how it can vary due to a range of factors. While many people will have only a passing interest, those with an eye for patterns or a very curious mind will have a lot of fun with this project.

Particularly when multiple lasers are involved, we think there will be a few photographers out there who will enjoy this, too! If you know a singer, or are one, trying to get a resonant note could be fun, too. We have mentioned projecting onto a wall, but the set-up can project into a roof, too. We projected onto a backdrop made of white foam-core board, mainly because the workbench backs into a shelving unit and not a wall.


We did learn a couple of lessons in this build. We've covered them in context, but just to summarise them for clarity:

  • Balloons will need to be cut to fit containers, but cut below the widest point so that there is still a tendency for the balloon to want to pull into, not off, the container. Cutting a balloon means you can work to fit many different chambers.
  • Sealed chambers with an external speaker give the strongest results, but a bluetooth speaker or open chamber still work.
  • Laser modules and pointers can be very temperamental. They can also really harm your vision.
  • Mirror position changes the pattern even if nothing else has changed.
  • Frequency changes the pattern even if nothing else does.
  • The size of the projected pattern will vary as the frequency changes, even when the amplitude of the amplifier is kept the same. When resonance occurs, it gets much, much bigger.
  • Music still looks awesome, as does voice. It's just not nice and geometrical.
  • Studio lighting boom stands are a major trip hazard in a workshop! The smaller your laser holder, the better.
  • You may need to stick down the speaker with Blu Tack or similar, to avoid it moving as it vibrates. We tried a cork saucepan mat, too.


There are two things we want to try in the future. We want to make a custom set-up with specifically-made brackets to hold the laser, and speaker with chamber in a fixed location on a baseboard. Then, the set-up can be permanent for display in a public space. It would also be more suitable for youth or school situations, as the trip-hazard would be easier to control.

We would also like to explore using an Ultraviolet (UV) laser. We have one as a pointer, but haven't made a suitable backdrop yet. Glow-in-the-dark adhesive contact or wallpaper sheets are available online, but we have a few cans of spray paint with luminous pigment. We want to try the laser on this backing to see what visual effects we can get, particularly from a photography perspective.

We would also love to see what uses readers can create or come up with for this project, either as-is or modified to do something a bit different.