Tractor Beams are mysterious waves that can attract particles towards the source. Here, we will show you how to build an Acoustic Tractor Beam with components that can be bought directly on the Internet for less than 75$.

With this Instructable you will be able to get in your hands a device that it was only seen on SciFi movies such as Star Wars or Star Trek.

If you want more scientific background on Acoustic Tractor Beams, you can check our Open Access research papers:

Do not forget to watch the attached video in this Instructables.

Step 1: Gather the parts and tools

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.miniinthebox.com/http://www.lightinthebox.com/http://www.banggood.com/

The circuit is not complicated. Basically, an Arduino will generate 4 half-square signals at 5Vpp 40kHz with different phases. These signals get amplified to 25Vpp by the Motor Driver and fed into the transducers. A button pad can be used to change the phases so that the particle moves up and down. A battery (7.3V) powers the Arduino and the logic part of the Motor Driver. A DC-DC Converter steps-up the 7.3V to 25V for the Motor Driver.


  • 30x 16mm Transducers MCUSD16P40B12RO (US UK) . Alternatively, you the MSO-A1640H10T but minimum order is 500, they are good so perhaps you can save them for future ultrasonic projects.

Necessary Tools:

  • 3D printer -> you can use an online service
  • Soldering Iron, Tin and Flux.

  • Drill

  • Hot-glue gun

  • Multimeter

  • Cable Peeler

  • Screwdriver and Pliers.

Step 2: 3D print the bowl

The transducers will be mounted in this bowl. This shape allows to naturally focus the beam.

We used an Ultimaker Extended 2+ with a 0.4mm nozzle and the Normal settings. No support, only brim. It does not need to have a perfect finish so any regular printer should work.

Step 3: Solder Arduino headers (upwards if possible)

Step 4: Program Arduino

Upload the attached program in the Arduino Nano. If you are using a cheap Nano (totally recommendable) you will need to install new drivers, there are usually links in the webpage where you bought it.

Step 5: Charge the battery

This way when you finish the project it will be at full charge.

Step 6: Cut the handler

300x45x15mm rectangular piece of wood.

Step 7: Redrill the bowl

Sometimes the holes are not perfect and are a little bit clogged, re-drill them if it were necessary.

Step 8: Attach the bowl to the handler

Drill an initial hole in the handler, attach the central screw and then you will be able to drill the two holes at the sides.

Deattach the bowl, it is more comfortable to attach and test all the components without the bowl. At the end of the Instructables we will reattach it.

Step 9: Screw the DCConverter and the Driver

Close the the drilled holes for the bowl we will place the DC-DC converter at one side and the Driver at the other. Put them and mark with a pen to drill later. Then pass a screw and a nut through the holes of the devices for being able to attach them properly to the wood.

It is very important to leave the OUT side of the Converter closer to the bowl.

Remove the indicated jumper of the Driver and keep it for later.

Step 10: Stick the arduino

With Velcro tape, double sided tape or just hotglue stick the Arduino below the Driver with the USB port pointing to the right.

Put the jumper between the D10 and D11 pins.

Step 11: Drill through holes

Drill two through holes above the Driver.

Drill tree through holes below the Arduino.

We will pass wires through these holes.

Step 12: Solder wires to the power switch

The central pins provides the current to the circuit, the right pins go to the DC barrel and the left ones to the battery connector pins.

Try to use red wires for (+) and black for ground (-) to keep things ordered. Pay attention to where the + and - of the DC barrel go and solder it appropriately.

For the battery connector pins we can use pin headers and a tiny piece of strip-board. Be sure that the wires are not touching each other (use a multimeter), and even put hotglue between them to make them safer.

The power switch provides current to the circuit either from a DC barrel or from the battery.

We can use any DC adaptor between 9V and 12V that can provide at least 2A if you do not want to use a battery.

Step 13: Stick the battery

With double-sided or Velcro tape. Do not use hot-glue since it could damage the battery. Put it in the same orientation as the image.

Step 14: Connect the DCConverter with the Driver

These wires will pass the step-up voltage (25V usually) from the DCConverter to the Driver.

Step 15: Glue the power switch

Step 16: Connect logic supply

We will provide 7.4V to the DCConverter IN.

First connect the black ground wire (-) from the central pins of the Switch into the DCConverter IN(-), in the same hole connect the ground for the Arduino.

Then, connect the red (+) wire from the central pin of Switch into the DCConverter IN(+), in the same hole put the VIn of the Arduino and the logic supply for the converter (pins from where we removed the jumper, very important to connect it into the highlighted pin).

Tining the tips of the wires will facilitate putting several wires in the same hole.

It is also possible to get voltage for the Arduino from the DCConverter. Instead of connecting Converter.IN(+) to Arduino.VIn, we can use DCConverter(5V) to Arduino(V5).

Step 17: Connect signal wires

These four wires will transfer the signals from the Arduino into the Driver.

Connect Arduino.(A0,A1,A2,A3) to Driver.(IN1,IN2,IN3,IN4).

Step 18: Button pad

The button pad is optional, but if you make one you will be able to levitate the particles up and down.

The idea is to have three button pads that when pressed they make contact with ground (the buttons are active low).

Get ground from the Arduino to the common terminal of the buttons. Then, connect each of the buttons to D2(up), D3(down) and D4 (reset position).

Step 19: Set the voltage to 10V

First Connect the battery (be sure to use the right polarity).

Switch on the device.

Rotate the potentiometer counterclockwise until you see 10V in the display.

In the final device we will use 25V but it is safer for the test equipment to work at 10V. If you use X10 probes then it is alright to use 25V throughout the process.

Step 20: Test the signals

This step is optional but it is about time to check that everything is working fine.

Get two probes and connect the grounds to a ground of the circuit, temporarily using the button pad ground is one of the easiest options. Remember to put it back when finished.

Before the driver the signals should be 5Vpp and after the driver 10Vpp.

Signals from the same side are in phase while signals from opposite sides should be out of phase.

Step 21: Mark the transducers (hard method)

The transducers have polarity and they need to be marked. Do not trust manufacturer marks since they can be wrong.

This method is the one contained in the video, but we have an alternative one that is much easier one in the next step.

First take ground and voltage from any of the Driver outputs. Connect them to a transducer and also connect one probe to the same transducer. This probe will capture the emitted signal.

Take another probe and connect it to the transducer that needs to be marked, this will be the received signal.

Put the transducers face to face and check the signals in the scope.

If the signals are in phase, mark the leg connected to ground. If they are out of phase, mark the other leg.

Mark all the transducers.

Step 22: Mark Transducers (Easy Method)

This method for marking transducers is much easier than the previous one.

Just connect one probe to the transducer.

With a metal wire poke gently and repeatedly the inside of the transducer. Check the signal in the scope, if the first spike goes up, mark the ground leg. If the spike goes down, mark the other leg.

Step 23: Mount the transducers

Put the transducers in the sockets with the marked legs pointing upwards (towards the top).

You do not need to populate the bottom row.

Step 24: Wire the transducers

We need to wire the transducers to deliver power into them.

Measure the needed length for the wire and give three extra hands for connecting it later.

With the cable peeler, partially peel at the correct distance, later these exposed parts will be twisted around the transducers legs.

Once that you have made the cuts with the peeler, redistribute the plastic to keep a uniform length of cooper exposed. Twist the cooper wires to make them more solid. Twist the exposed parts around the transducers legs, apply flux and solder.

Follow the pattern presented in the images. That is, all the grounds are connected together. The red wires of the same half go towards the same side.

Pay attention to the numbers, these numbers correspond to the driver numbers.

Step 25: Test the transducers

This step is optional but it is convenient to check that all the transducers are connected correctly.

Connect the ground from the bowl into the driver ground (there will be another wire there).

Connect the 4 red wires from the bowl into the outputs of the Driver, respect the numbering.

Connect two extra marked transducers to the scope probes. Be sure to connect the ground into the marked leg (or at least connect the two transducers in the same way). With these transducers we can check the emitted signal of other transducers.

Transducers from the same half of the bowl should emit in phase. Transducers from opposite halves emit out of phase.

Transducers with the wrong polarity should be desoldered, rotated and resoldered.

Step 26: Set voltage to 25v

Be sure to set the DC-DC converter to 25V using its potentiometer.

Step 27: Attach the bowl

Now that all the components are in place, it is time to reattach the bowl into the handler.

Step 28: Connect the wires

Connect the ground from the bowl into the driver ground (there is already another wire there).

Step 29: Switch On and levitate

Switch on the device, you should be able to feel a little bit the sound, or hear it if you point it into a big chunk of expanded polystyrene or foam.

Using an acoustically transparent sheet or tweezers you can place particles in the centre of the bowl (above 1.8cm approx) and they will be levitated.

Push the buttons to move the particle up or down.

Depending on the size of the particle and how close it is to the bowl, you will be able to levitate it laterally or upside down. It is also possible to levitate particles that are resting on a surface.

Step 30: Building Other Sonic Devices (Optional)

We have presented how to build the most efficient device but there are others that require even less electronics although they are not as efficient in terms of levitation power to watts.

For the following devices you will need smaller transducers, wires and connectors, as well as a different version for the Arduino (that generates always a 40kHZ signal).

Step 31: Coils Device (Optional)

Print the attached STL file. The transducers are fit in the bottom holes and they are all driven with the same signal.

Step 32: Tubes devices

Print the attached STL file. The transducers are fit in the bottom holes and they are all driven with the same signal.

Step 33: Miscellaneous files

Raw design files (Inventor)

<p>A few questions...</p><p> - How effective would metal tranducers (like this <a href="http://www.ebay.com/itm/331415944083" rel="nofollow">http://www.ebay.com/itm/331415944083</a>) be compared to plastic ones?</p><p> - How would one scale this up so that it will levitate heavier objects?</p><p>Thank you for making releasing this project!</p>
You are welcome.<br><br>It is hard to say, I have tested several models for power and phase deviation; and even when they look the same, they are quite diverse.<br><br>I have a directional speaker coming and I will publish my comparisson of transducers, but the metal ones from Manroshi are the best I have tested so far.<br><br>Yeah, more transducers and more voltage equals to denser objects. Although it is a little bit strange, the size does not matter, only the density of the object. Although so far the objects cannot be bigger than half of the wavelenght, we are working on surpassing that limit. But if you want to levitate denser objects I recommend to use a standing wave. We are working in a robot that can pick and process samples in mid-air of densities up to 1.2, so it can deal with water and most of the stuff.
Thank you for answering quickly. If you do not mind here is one more question... <br><br>If (343.21 meters per second) / (40 khz) = 8.6 mm then the objects can be no bigger than 4.3 mm. If one were to use a tranducer that produced a lower frequency then how would that affect the project?<br><br>Once again thank you for contributing.<br><br>
<p>To be more specific, by how much will timer1 need to be adjusted for lower frequency, by how much do the delays between OUTPUTS be increased, and by how much do the phases need to be changed. Is there any mathematical method to calculate how the code should be changed? </p>
<p>25kHz transducers are rather pricey and in a tractor beam configuration they are not going to be that useful. But if you want to try a standing wave you may be able to levitate big particles.</p><p>I was preparing an optimized standing wave setup for levitating liquids and other heavy objects.</p><p>If you do not want to move the particle around, this code is much easier to select arbitrary frequencies:</p><p>#include &lt;avr/sleep.h&gt;</p><p>#include &lt;avr/power.h&gt;</p><p>//byte pattern = 0b00000000; //all the ports will output the same signal</p><p>byte pattern = 0b10101010; //consecutive ports will have an opposite signal</p><p>void setup()</p><p>{</p><p> DDRC = 0b11111111; //set pins A0 to A7 as outputs</p><p> PORTC = 0b00000000; //output low signal in all of them</p><p> // initialize timer1 </p><p> noInterrupts(); // disable all interrupts</p><p> TCCR1A = 0;</p><p> TCCR1B = 0;</p><p> TCNT1 = 0;</p><p> OCR1A = 319; // compare match register 16MHz / 319 = changes every 50kHz -&gt; 25kHz half-square wave</p><p> TCCR1B |= (1 &lt;&lt; WGM12); // CTC mode</p><p> TCCR1B |= (1 &lt;&lt; CS10); // 1 prescaler, no prescaling</p><p> TIMSK1 |= (1 &lt;&lt; OCIE1A); // enable timer compare interrupt</p><p> interrupts(); // enable all interrupts</p><p> // disable ADC</p><p> ADCSRA = 0; </p><p> // turn off everything we can</p><p> power_adc_disable ();</p><p> power_spi_disable();</p><p> power_twi_disable();</p><p> power_timer0_disable();</p><p> power_usart0_disable();</p><p> while(true); //avoid entering into the loop</p><p>}</p><p>ISR(TIMER1_COMPA_vect) // timer compare interrupt service routine</p><p>{</p><p> PORTC = pattern; //output portDV into ports A0 to A7</p><p> pattern = ~pattern; //invert all the bits</p><p>}</p><p>void loop(){</p><p>}</p>
<p>Today the transducers arrived! My son and I made this super-useless-thats-why-I-want-it project! Great!</p><p>I used these transducers from the German distributor Reichelt:</p><p><a href="https://www.reichelt.de/Ultraschall-Sensoren/A-16PT/3/index.html?ACTION=3&GROUPID=6682&ARTICLE=145924&OFFSET=16&" rel="nofollow">https://www.reichelt.de/Ultraschall-Sensoren/A-16P...</a></p><p>They are not combo transmitters/receivers. You get a pair of transeiver and receiver. However the transceiver just works. I have to try if the receivers could be misused as transceivers, too.</p><p>BTW. I would suggest to solder all wires in step 16 to the middle-pin of the switch instead of screwing them to the terminal of the inverter. </p>
<p>I ordered these transducers...</p><p><a href="http://www.ebay.com.au/itm/322221621215?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT" rel="nofollow">http://www.ebay.com.au/itm/322221621215?_trksid=p2...</a></p><p>...It appears the transducer shell is just marginally too big to seat properly in your hemisphere design. Could I have the .sldprt file to see if I can fix it? I will try suppressing them approx .5mm more and see if that helps. I will be happy to post the modified file here.</p>
I ordered the same transducers too. But haven't received them yet. Did they work ok for you? Besides fit?
<p>There you go. There are no holes in the base so you will have to drill them manually (it's an inventor file and I'm not very familiar with inventor). The transducers fit well from my printed file.</p>
Thank you!!
<p>Sorry it has taken me so long to reply. I have not received all the items I need to make the tractor beam yet. I have been experiencing issues with the postal service. I do strongly suggest recessing the driver points by .5mm though. I have tested the fitment of the drivers and they seat nicely. If you remind me tomorrow I will upload the edited STL (I am not on the correct computer at the moment).</p>
<p>I'd like to see the edited stl file. My transducers are too big as well. </p>
In step 33 there are some raw files.
<p>If anybody in Melbourne Australia is planning on making this device I have a spare print of the transducer shell (didn't fit the transducers I ordered). The outer finish of the print isn't great but it will work as intended. Message me if you want it and it's yours.</p>
<p>Mad respect for that! Very cool project!</p>
<p> Is there any chance of presenting the circuit in a schematic, rather than a block diagram form?</p>
Hello Mr. Marzo, I built this device for a school project. It is recieving power and I can hear the sound made by each tranducer however I am unable to levitate it. Are there any tips you could give me on how to check the device to ensure it is properly set up? I can send pictures of my device if you need it. Hopefully you are still replying to comments because I need some guidance!
Dear Pedro. Could you check these steps and tell me where it fails?<br>1- When you switch it on all the components have lights (L298N, Arduino, DCDC)<br>2- What number do you see in the DCDC converter<br>3- Can you check with a scope that the arduino is generating 40kHZ signals.<br>4- Can you check with the scope that the L298N is outputing square signals?<br>5- put another transducer in the scope probe and put the transducer face to face. Are you receiving a sinusoidal wave, what is the peak to peak voltage?<br><br>In the video you will see these procedures and the expected results.<br>
<p>I got it to work. It was simply some of the transducers were out of phase. Thank you for the response and your time.</p>
<p>Hi Asier,</p><p>With the 16mm transducers are out of stock, I'm going to try to order the 10mm ones from Alibaba. Since these don't fit nicely in the provided part and my printer doesn't handle overhangs well, I'm designing a new bowl.</p><p>Does it matter how the transducers are arranged? From what I understand from the paper, as long as there are two symmetrical sides and the transducers all point to the focus point, the bowl radius and angular spacing don't matter. Is that correct, or did I miss something?</p><p>Great work! Thanks for posting!</p>
Dear EuclideanKraken, as you said the levitation will work independently of the bowl arrangement. However, the movement (with the buttons) may not work.<br><br>I will try to upload a version of the bowl for the 10mm transducers soon. If possible a version that support both transducers.
<p>Is there anyone from Germany who wants to order the transducers from alibaba and is willing to share? :)</p>
<p>I am from Germany and I would like to, but 250pcs. each are still too many.</p>
Those Alibaba transducers work like a charm, they are more powerful and have less phase deviation. <br><br>500pcs + freight cost + bank fee should be (175+55+15)=245$ <br><br>I am planing to release an Instructable about a directional speaker that use the same transducers. So they may come in handy later.<br><br>Sorry guys, did not know that the shops would ran out of transducers.
<p>What about these ones ? Would they do the job ?</p><p><a href="https://www.aliexpress.com/item//32668187552.html" rel="nofollow">https://www.aliexpress.com/item//32668187552.html</a></p><p>They are realy cheap and you don't have to buy 500pc</p>
<p>They look legit, but it is always very hard to say. They may not be as powerful or the phase devitation could be high. </p>
Thank you for your answer. I ordered these, I'll come back here to give you the result !
<p>This is very cool! Thanks for posting!</p>
<p>I did a modified version because I had the smaller 10mm transducers already.</p><p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/nPNzMCGHVG8" width="500"></iframe></p>
<p>Could you share the *.stl file you used for the bowl? I tried printing the one provided, but it seems to be intended for the larger 16mm transducers. I mistakenly ordered a bunch of the smaller ones (MA40S4S, 10mm diameter) and the paper they wrote didn't supply a bowl *.stl for that size.</p>
<p>For those of you thinking perhaps the video is a little noisy I can assure you in real life its silent. The sound you hear comes from the microphone which is clipping due to the high pressure ultrasound.</p>
<p>Hi Asier, congratulations on your work and thank you for the open source paper + instructions. I still don't understand the forces correctly, maybe you can help out. I understand that it is not possible to levitate very big objects due to wavelength. But apart from levitation, let's say we have a well-inflated balloon, would it be possible to twitch at it or pluck it or dent it in a small area with the tractor beam? In other words, if you would point the tractor beam at the balloon, can you actually manipulate the flexible surface of it? </p>
Dear Shlambda,<br>The acoustic pressure may not be that strong but it will deform the surface of a balloon. In fact, if you point the tractor beam towards a container with water you will see the two focal of the Twin trap.
<p>Thanks Asier, so kind you take the time to answer. When you say the acoustic pressure may not be strong, do you have any estimates? As far as I understand from the paper, it says the forces with which the particle is trapped is about 1uN, so I guess that's the answer? Looking forward to any updates! Scrolling through the comments and already answered questions, I am adding myself to the list of people also interested in the usage for lower frequencies :) </p>
Congrats on being a finalist! This is an awesome project.
<p>Yes, impressive! May the force be with you! :)</p>
<p>This is impressive!</p>
<p>This code can tell me?</p>
<p>Could the project benefit from acoustic foam behind and around the transducers to negate any sound reflections with phase change?</p><p>Also, you mentioned that this size is optimal. Does that mean a larger diameter sphere with more drivers has little to no benefit in terms of lifting ability?</p><p>Awesome project BTW and I appreciate that you have made it open design.</p>
You are right, placing foam around the transducers could reduce secondary reflections, although in this configuration it is not a big deal.<br><br>The design is optimum for 25 transducers. A larger sphere with more transducers would certainly add more power, but transducers are a little bit pricey and 25 is about the maximum that you can drive with one driver.<br><br>Glad that you like the project, thanks for your comments.
<p>I understand that the transducers are the most expensive parts in this project. Are these transducers are going to work?</p><p><a href="https://de.aliexpress.com/item/Plastic-shell-16mm-ranging-probe-ultrasonic-sensor-transceiver-T-R-avoidance-proximity-switch/1644877997.html?isOrigTitle=true&isOrig=true#extend" rel="nofollow">https://de.aliexpress.com/item/Plastic-shell-16mm-...</a></p><p>Thanks a lot!</p>
They look good, and good price also. <br><br>I am still testing some Alibaba transducers that are 0.3$ units, if they work well I will put them in the description.
<p>Are those transducers with a minimum order of 500pc?</p>
<p>Thank you so much! I'm really interested in this field, and I appreciate your willingness to share information. You are my new best friend. lol </p>
<p>Great Project. I'm going to do this for a schoo, project, could you give me some tips?</p>
Tining the tips helps to put several wires in the same hole. Get a cable peeler otherwise it is a nightmare to do the wiring. Get a cheap oscilloscope to get the polarisation of the transducers and test the signals at each point. Good luck!!
<p>Could you post the CAD files you used to generate the STL file for the bowl?</p>
I have added them in the last step (They are inventor files).
<p>I've ordered all the parts for this and plan on building one for my physics presentation this term. I had to order the transducers from aliexpress and am concerned they won't ship to me in time. </p><p>Does anyone know anywhere that has them in stock? I have all the other parts either here or on the way. I've already 3D printed the bowl at school. I'm located in the United States. </p><p>Thanks!</p>
Your configuration of the acoustic tractor beam is great!<br>Since I am not very expert in acoustic transducer could you please help me? I've found another type of transducer at a lower price. The frequency is the same but sometimes, such as the pressure on a certain distance change . As for the material is made out of plastic, but other specifications are not mentioned in the characteristic (angle beam, driving voltage). Could you please tell me in your opinion If they can work properly? Thanks in advance

About This Instructable




Bio: Researcher at Bristol University interesting in Ultrasound and in general any effects that waves can produce.
More by Asier Marzo:Acoustic Tractor Beam 
Add instructable to: