Introduction: Ultrasonic Array
In this project we will show you how to build a phased-array controller and a flat array of 8x8 elements. These systems can be used for acoustic levitation, haptic feedback or directional speakers.
This is quite a complex project so I would recommend a little bit of knowledge on ultrasonics, computer science and electronics.
Do not forget to check the other Instructables for more information
More detailed information in our open paper: http://ieeexplore.ieee.org/document/8094247/
All the detailed steps are in the attached video.
Step 1: Gather the Components
The source code is available here: https://github.com/asiermarzo/Ultraino
You can get precompiled versions of the simulator V1.1 for java 8 and v2 for java 11.
You will also find the STL files for the 3D printed arrays and the AI files for the laser-cut arrays.
The PCB files for manufacturing are also there here I recommend to use PCB Shopper to look for a cheap manufacturer. The dimensions of the board are 62mm by 115mm and it has 4 layers. It would be a good idea to order an stencil if you do not want to solder the components by hand.
The BOM can be found here.
Step 2: Assemble the Driver Board
You can solder by hand, or use solder paste and a reflow oven. I am not the most proficient SMD solderer, there are lots of goods tutorials on the Internet.
The code for the Arduino Mega is here
If the output signal on the ports is not 40kHz you can try to use IDE 1.6.0 or the Optimization -O3 flag.
Step 3: Assembling a 8x8 Flat Array
You can find how to mark the polarity of the transducer in the previous Instructable In that Instructables there is also a guide to buy transducers for a reasonable price.
The components can be found here
- You can also use the great integrated PCB from Thomas Grooten.
The last image shows the pin numbers of each pin, luckily you will not need to do the pin assignment manually but using the semi-automatic method shown in the video.
Attachments
Step 4: Single-sided Levitation
I used a 2mm styrofoam particle and a metallic grid to place it in the trap.
The base of the array is laser-cut: link to github
The simulation file is here:
Step 5: Standing-wave Levitation
Step 6: Haptic Feedback
Step 7: Directional Speaker
I used this audio amplifier TDA7492P but anything that you can find will probably do the job.
* This is just a quick way of getting a directional speaker, the sound quality is not great and it is not very powerful. I am working on a dedicated directional speaker that will be released soon.

Participated in the
Arduino Contest 2017
1 Person Made This Project!
- neuromancer43 made it!
241 Comments
Question 8 days ago
Dear Asier,
I really
enjoy this project and used the Software to drive a self-designed ultrasound
circuit with 64 transducers. I was wondering if it is possible to attach four Arduino
Megas to drive 256 transducers, because I want to experiment with haptic
sensations.
Answer 6 days ago
You can daisy chain multiple ultrainos (up to 15 in theory) this is how we achieved this https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.044301 In any case, it is quite a cumbersome process, if you wait a little bit we will release this Instructables soon https://www.mdpi.com/2076-3417/11/7/2981
Question 4 weeks ago
Hello Asier,
thanks a lot for providing such a great project! It's so fascinating and I can't wait to build my own one :)
However, because I would like to use it for a specific purpose, I have a short question:
Could you please tell me which >single-sided< levitator can make the object levitate the most distance away from the levitator itself?
The object just has to stay in place and doesn't have to be controlled in any way. It should just stay as stable as possible, at a good distance away from the levitator.
Which of the levitators would you recommend for this?
An Acoustic Tractor Beam with 16mm transducers? ...or can the 8x8 array let things float actually 'higher' than the tractor beam?
Also I want to mention, that in your Tractor Beam project you've mentioned the 16mm MSO-A1640H10T but according to the product description, they have the size of 10*7mm.
I just want to make sure that I won't buy the wrong transducers ;)
Answer 27 days ago
MSO-A1640H10T are 16mm in diameter, perhaps the description is not update or they have a generic one for everything. In the supplementary information, Table 1 of the TinyLev paper there is a list of suitable transducers of different diameters.
To get the maximum distance the bowl shape works well because it allows you to do so without complex electronics for the phase control, just flip the polarity of half of the bowl. If you can use phase-arrays the V-array manages to levitate quite further apart. Figure 2.e https://www.nature.com/articles/ncomms9661
Reply 26 days ago
Thanks a lot for your quick reply :)
Sadly a V-array with two arrays isn't possible for this project, so if the height of levitation of a single flat array is about the same as the Bowl version, I would probably prefer the bowl over an array.
However, would it also work to use the TinyLev and cut off the bottom bowl only from the 3D print to use it as a single-sided levitator?
Or is the difference in levitation height between a 10mm and 16mm transducer bowl actually quite a lot?
Reply 25 days ago
The TinyLev bowl has the focus at 6cm which is way too far. The acoustic tractor beam (Instructables) has the focus at 2 or 3cm, also there should be a split simmetry so that it is easy to put half of the array out of phase.
Reply 23 days ago
Hey Asier,
I've contacted the supplier of your recommended 16mm transducer.
Sadly the MSO-A1640H10T with 16x10mm are only available in aluminium silver anymore.
The only 16mm transducers in black plastic are the MSO-P1640H12T, which have 16x12mm.
Could you please tell me if the difference in hight of 2mm, would make a difference in building the standing bowl of this project? I'm just not sure how much the hight of the transducer would change the focus point of the whole bowl and if it would still work with that.
Otherwise I would just have to buy the aluminium silver ones.
Thanks :)
Reply 23 days ago
Height is not important. MSO-A1640H10T are the best for the bowl of the tractor beam, it does not matter if they are aluminum, that is fine.
Question 27 days ago
How is everything going?
I am sorry that it is a little bit tough for me to make it.We have read your essay(https://www.instructables.com/Ultrasonic-Array/) and your videos,we are not sure how to make the 8*8 flat array.We need some more detailed steps.Could you please give me some tips?Here are my question:
Answer 27 days ago
1) the transducers are connected in a 3-way connector, as in the video, even if you reverse the polarity that can be changed by software or just flip the transducer. 2) Way C, all the grounds are on the bottom row. As for the third picture, what you propose is good, you can do it in many different ways since the assignment can be changed in software.
Best.
Reply 25 days ago
Thanks a lot😃
Question 6 weeks ago
Good morning!
We again would like to thank you for sharing this interesting project.
We managed to assemble the array as described in the project. However, we measure 8.2V at all transducer legs while we supply 18V to the PCB. Also, we measure 2.3V coming out of the Arduino pins instead of the 5V signal. Do you have any clue whether this is a problem or not, and if so; what can cause this problem? We can detect 40kHz emission from the transducers.
Answer 6 weeks ago
If you are measuring with a multimeter, this is normal a 40kHz 50% duty signal will have around half the average volts.
Reply 6 weeks ago
Okay that makes sense.
However, when we attach one transducer to the oscilloscop attempting to detect signals we measure 40kHz emission with ~1V peak to peak. Do you know whether this is correct or not?
Reply 6 weeks ago
Yeah, sounds about right. The key thing would be to check if it changes as you change the powering voltage.
Reply 6 weeks ago
Thanks for your prompt response!
Since we are able to configure and detect a twin trap setup with the spherical cap array, we now should be able to levitate particles.
We expect that we would either be able to feel any tactile sensation on our hands at the high pressure regions or at least be able to observe radiation forces acting on the particle when it is located there. However this is not the case which is confusing in the light of your affirmative answers on our previous questions.
We wonder whether we should be able to ''feel'' anything at all or that there is still some problem occuring in our circuit.
Thanks for helping us.
Kind regards
Reply 6 weeks ago
To feel you would need to modulate the focal point at 200Hz, there is a short tutorial in the video. Another way of testing is to put the bowl upsidedown on top of water and see the dimples in the water surface. Also in the video there may be a exact capture of the scope of the Vpp that is received from correctly emitting transducers.
Reply 5 weeks ago
Thanks for the suggestions.
Our observations are the following:
-We tried modulating at 200Hz, but we do not seem to feel any tactile sensation.
-We tried to observe the effect of 40kHz vortex or twin trap on the water surface. Here we see the water surface vibrating at certain focal positions. We are able to trap a PS bead on the surface and move it across.
-We are able to manipulate styrofoam particles 1-4mm in the lateral plane while supporting them with ultrasonic permeable sheet. We do not manage to make them actually levitate.
In all cases we can actually measure roughly correct phase distribution at least with twin trap. After these observations we wonder whether the levitation problem has to do with:
1. Not using the correct particle (and too high density consequently?)
2. Not a perfect phase distribution
3. Too little power. Even though our quantitative measurements seem to convince otherwise.
Do you possibly have any clue in which direction we might find the answer?
Kind regards and thanks again.
Reply 5 weeks ago
At 15Volts it should be easy to levitate a 1.5mm diam particle made of styrofoam, 3 or 4 cm away from the center of the array.
Question 2 months ago
Good day!
Thank you for your sharing.I just could not find the STL files for 3D printer and the software for simulation,could you please give me a hand?Thank you very much