Introduction: Acoustic Levitator
Use acoustic waves to hold in mid-air samples such as water, ants or tiny electric components. This technology has been previously restricted to a couple of research labs but now you can make it at your home.
If you want more background and details you can check our Open Access papers:
- More details and supplementary information about this levitator
- How Acoustic Tractor Beams Work
- Acoustic Delay Lines for Compact Tractor beams
Do not forget to watch the attached video. The first video is the instructions whereas the second one is a fantastic video by Physics Girl explaining the physics behind it.
If you want to build other devices coming directly from the research lab subscribe or get in touch: Youtube: https://www.youtube.com/user/asiermarzo
Twitter: @AsierMarzo
Step 1: Gather the Components
Kit
Now you can get all the components in this kit:
https://www.makerfabs.com/index.php?route=product/product&product_id=508
https://www.tindie.com/products/Makerfabs/acoustic-levitator-kit/
https://www.robotshop.com/de/de/acoustic-levitator-kit.html
Individual components
We present a list of the necessary components. I have tried to place links for different countries. However, the same parts can be found all around the world, some useful websites are http://www.findchips.com/ http://www.dx.com/ http://www.findchips.com/ http://www.lightinthebox.com/ http://www.findchips.com/
- 72x 10mm 40kHz transducers. Manorshi provides MSO-P1040H07T at a very good price, minimum order is 500 but they will ship with less at a higher price. Also Ningbo has good ones FBULS1007P-T
- 1x 3D-printed TinyLev support. (STL file provided in Step 2)
- 1x Arduino Nano (US UK)
- 1x L298N Dual Motor Drive Board (US UK)
- 1x 130x90mm sheet (wood or acrylic) for the base of the driver board.
- 1x power switch
- DC adaptor variable between 7V and 12V
- DC female connector
- Jumper wires
- 12AWG black and red wire
- 24AWG black and red wire
- 24AWG exposed wire (UKUSA)
- Some Expanded Polystyrene beads to levitate (between 1mm and 3mm diameter)
- An acoustically transparent material: A metallic grid, very thin fabric or teabag paper.
If you plan to run your levitator for days or at at voltages above 12V you may want to upgrade the heatsink of the drivers. Thanks to johnfixesstuff for the Info.
Necessary Tools
- 3D printer -> you can use an online service
- Soldering Iron, Tin and Flux.
- Hot-glue gun
- Multimeter
- Cable Peeler
- Screwdriver and Pliers.
- Drill
Oscilloscope with two probes (optional) -> you can get one for less than 50£ http://amzn.eu/5ey6ty2
Step 2: 3D Print the Base
3D print the base for the levitator. We used a 0.4mm nozzle and brim but no support. It should be possible to print it in one piece. A 0.6mm nozzle also provides good results.
Included in this step, you have the first version (v0 14 x 7.86 x 8.31cm). Or you can use the next version with some reinforcement in the joints (v1 15.6 x 7.86 x 8.54cm).
- You may also want to print the fantastic stand from Jeff Bearer
- Or you can also use a full case to make more robust and look awesome. by Jakub_Nagy
Another cool case by INVESTEGATE
Step 3: Clean the Base
You may need to use a file to clean the edges around the levitator and clean the sockets. A Dremel will do the job faster. You may also want to drill a hole in the centre of each side, this will allow to insert a camera, a needle or evacuate liquids.
Step 4: Mark Polarity (using a Multimeter)
If you have a multimeter and some copper tape, this method is quite simple to perform.
DO NO TRUST THE POLARITY MARKINGS FROM THE MANUFACTURER!!!
Step 5: Mark Polarity (Using an Arduino)
The easiest way to mark the polarity is to use the Arduino itself. This method does not require an oscilloscope or to poke the transducers inside.
Install the code from this section into the Arduino. Connect one wire to A0 and another wire to GND.
While the Arduino is connected to the PC, run the Serial Plotter (Tools->Serial Plotter) and be sure that the speed is set to 115200.
When a transducer is connected between A0 and GND the signal will do one of the following things:
- Signal goes down or remains at 0. Then, mark the leg connected to GND.
- Signal goes up or remains at 1023. Then, Mark the leg connected to A0.
- It is important to not touch the transducers leg or the wires while doing that or the values will reset.
If it is still not possible to detect the polarity, poke the inside of the transducer with a thin wire and check if the spike goes up or down (like in the obsolete method). Spike up -> mark A0 leg, spike down -> mark GND.
Attachments
Step 6: Mark Polarity (Obsolete Method)
The transducers have polarity and it is important to glue them in the base oriented with the same polarity. Do not trust the marks made by the manufacturer, they are not reliable at all. The easiest way is to connect a transducer to an oscilloscope and poke the inside with a thin wire. If the spike goes up, mark the leg connected to the positive part of the probe. If the spike goes down, mark the leg connected to ground. You can use two stripes of copper to make this process faster. After all, you will need to mark 72 transducers.
Step 7: Glue the Transducers
Apply a little bit of hot glue on the side of the socket (if you apply glue near the holes for the legs, the legs will be covered in glue when you push the transducers through), push the transducer in and apply some pressure with your fingers to make it lay as flat as possible in the socket.
It is very important that all the marked legs are pointing towards the centre of the device (where the hole is).
Step 8: Wire the Transducers
Wrap the exposed wire in six concentric rings around the legs of the transducers.
Step 9: Solder
Solder the pins to the wires.
Step 10: Prepare 4 Long Wires
Now, we need to make the wires that connect the transducers to the driver board.
2 red wires and 2 black wires. They need to be around 1 meter. In one side there is only the tip exposed. On the other side there are 3 segments exposed, in the video it is shown how this can be done.
The side with 3 segments will go into the transducers rings and the side with only the tip will go into the driver board.
Step 11: Solder Long Wires
Solder the long wires to the transducers. The side with the 3 segments exposed goes into the transducers, one segment for each ring. Each side of the levitator has a black and a red wire. You can use flux and tweezers to facilitate the soldering. Tin the other sides of the wires (the side that only has the tip exposed)
Step 12: Solder Arduino Headers
Solder the headers of the Arduino, backwards if possible.
Step 13: Program the Arduino
Upload the code provided in this step into the Arduino Nano.
Attachments
Step 14: Glue Arduino and Driver
Glue the Arduino Nano and the Driver into the base. It is important to use the positions and orientations of the figures.
Step 15: Create the DC Supply
You will need to solder the DC female connector to the Switch and leave two wires prepared to supply power to the driver board.
Step 16: Glue DC and Wiring
Glue the DC connector and the switch.
Connect the red wire from the supply into the 12V input of the driver.
Connect the ground from the supply into the middle connector of the driver, also insert a male-female jumper there.
Insert a male-female jumper into the 5V input of the Driver.
Connect the male-female jumpers that we connected to the driver into ground and 5V of the Arduino.
Connect 4 female jumpers from the Arduino (A0,A1,A2,A3) into the inputs of the driver (IN1,IN2,IN3,IN4).
Connect a female-male jumper into ground of the Arduino, this jumper can be connected to D2, D3 or D4 to move the particles up, down or reset them to their original position.
Connect D10 to D11 with a jumper. This is vital for the synchronised emission of the signals.
Step 17: Test the Driver
When powered (always between 6V and 12V) the output signals of the driver (IN1&IN2 or IN3&IN4) should output a 40kHz square wave of twice the voltage provided to the circuit.
Step 18: Test for Shortcuts
Test that there are no shortcuts between the red and black wires of the levitator.
Step 19: Test the Transducers
Connect the levitator to the driver board and switch it on (always provide between 6V and 12V). For testing, 6V will be enough.
You will need two probes with transducers connected (pay attention to connect the marked leg into the positive part of the probe).
Transducers of the same array (side) should be in phase.
You can correct mistakes by cutting the exposed wire and bridging with wires.
Step 20: Test Optimum Resonance
Connecting the wires as shown in the right should provide optimum performance and minimum power consumption. Otherwise, swap the red and black wire.
Step 21: Secure the Wires and Glue the Legs
Apply some hot-glue to glue the wires to the levitator for mechanical support.
You can now glue the legs.
Step 22: Levitating Solids
Provide up to 10V. You can use a tweezer to place the particles. Also a metallic grid or thin fabric (acoustically transparent) will be useful since the particles can be placed there and then introduced into the levitator.
Step 23: Levitating Liquids
It is necessary to adjust the voltage to the type of liquid. Too high and the droplets will pop, too low and they will fall. For water around 9V is enough and for alcohol around 8V.
It is important to place a thin fabric on the bottom to absorb falling droplets, they can damage the transducers.
Place a particle to have a guidance of where to inject the droplets.
A syringe with a bent needle and the tip removed is the best option.
Step 24: BIGLev (optional Device)
If you want a more powerful levitator you can use the 16mm transducers. The process is exactly the same but you will need to 3d-print the levitator base in 2 part and glue them together (one half is attached in this step). This levitator can take up to 20V in the driver board (40Vpp) and levitate solids of up to 6g/cm3 but it is not as easy to use for liquids.
- 72x 16mm 40kHz transducers. Manorshi provides MSO-A1640H10
You can use instead 25kHz transducers, they are weaker but would allow to levitate larger objects. For that use the simplified code attached, and modify it to match your frequency.
Step 25: Mid-Lev (Optional Device)
If you want to use 16mm diameter transducers but BIGLev is too big, you can use MidLev. It uses 16mm diameter transducers but it will fit most of the printers.
Attachments
Step 26: MiniLev (Optional Ultra Low-budget Device)
This solution only requieres an Arduino Nano and two transducers. You can desolder the transducers from a cheap Range Finder HC-SR04.
Install the provided Arduino Code from Step 12. Connect pin D10 to D11. Connect one transducer to A0 and A1; and another transducer to A2 and A3.
Put the transducers opposite to each other to levitate a particle between them, it is easier to place the particle with a metallic grid.
You can use this 3D-printed case designed by IB-as.
You can also use the simplified code by morlok.
Step 27: V18 Levitator
A great design by Michael Harris using only 18 transducers, he mentions that it is cheap to buy them by packs of 20 in ebay.

First Prize in the
Make It Fly! Contest 2017
851 Comments
Question 7 days ago
Hello, I wanted to know if this project can be done with Arduino uno, if so, should I only change pins? Or should I do something else, please, it's urgently
Answer 1 day ago
Arduino will give you 8 or 16 channels at most, in the github there is code for nano16 which is also valid for Arduino.
2 months ago
I have installed the transducers, but I got the polarities wrong. Can I disassemble them and check, or do I need to purchase new ones?"
Question 2 months ago
What code to use for the MidLev?
10 months ago
Hello! Should there be an audible tone from the transducers? The transducers on one side of my levitator emit a very high but certainly audible tone when connected to the driver, but the other side does not. Which side do I need to troubleshoot?
Reply 10 months ago
The one that makes audible sound, it should not do it. Perhaps you are being current limited because of the power adaptor, too much voltage or some shortcut?
Reply 10 months ago
I tested for shortcuts and have tried different supply voltages, but still have strange things happening...I don't hear anything after turning it on, but a few things seem to cause an audible sound:
1. If only one of the arrays is connected
2. If one of the array's +/- wires are switched
3. If I press one of the buttons 3 or 4 times (sound stops on following button press)
4. A weird one- When the device is on and I don't hear anything, if I put my hand between the arrays (not touching anything) then the sound comes back! Moving my hand up and down causes 'beats' in the sound, kind of like two notes that aren't quite in tune with each other. I can also see the current draw change slightly when my hand is between the arrays.
Any ideas why this might be happening?
Thank you for your help!!
edit: It works! However, still emits an audible (and quite unpleasant) sound...help is appreciated!
edit 2: Fixed! By touching each transducer when powered on, I found one that made the sound stop when touched. A quick resolder did the trick!
Reply 2 months ago
Hello,
I also did a BigLev that works very well, except that it produces a loud audible sounds. I used 16 mm transducers (MCUSD16A40S12RO), and it seems that they nearly all produce audible sounds (on the 2 arrays). The pitch can change when I put my hand between the array.
I did not manage to reduce this sound by touching the emitter.
Any idea ?
Thank you for your help!
Reply 10 months ago
have you connected D10 to D11?
Question 2 months ago
hI, can you resend the link or the code for arduino nano board because the link up there shows that this code has an error
Question 6 months ago
Answer 3 months ago
I tried it but not work. My fuction generator max. voltage is 20 Vp-p. it is driving the transducer but not levitating liquid.
5 months ago
I currently have an Acoustic Levitator assembled with D10-D11 bridged. However, it seems like there's a bit of humming that's coming from the speakers and we haven't been able to levitate objects, both solids and liquids strangely.
The kit that was ordered came with a 9V power supply. Could the power supply not be supplying enough voltage to the transducers? Will it hurt any going above 12V?
Question 6 months ago
Hi, i've built this acoustic levitator and i was wondering if there was any way of changing the frequency. I am trying to mesure the causes of different frequency. Thank you in advance
Question 6 months ago
Hello, can I use the function generator to control the signal output? Instead of using arduino?
6 months ago
Hello, can I use the function generator to control the signal output? Instead of using arduino
7 months ago
I have 12v 2amp power adaptor, will it work for the BigLav. I am thinking about using a DC-DC Boost converter, but it will be going to result in a low amp of current. I am wondering if this will work with 20v 1amp adjustment.
Question 7 months ago on Step 24
I want to make the BigLav with 16mm transducer, and I have only 12v 2amp power adaptor will it work with this.
Tip 7 months ago
Hi change processor (label in app)-> old bootloader in ide for nano if issue. No waste of time.
Question 10 months ago on Step 13
I would like to know how to resolve the error.