The SonicSurface Can Levitate Objects with Nothing But Sound Waves

This grid of 256 ultrasonic transducers sends out pulses of high-frequency sound to move objects in the air and give haptic feedback.

Evan Rust
3 years agoInternet of Things / Displays / Art

Ultrasonic waves

Sound is created when a force is exerted upon a medium such as air, water, or a solid object. This force then propagates throughout that medium and generates waves as it moves until it hits something and transfers that force. By taking advantage of this property of sound waves, a team of researchers known as UpnaLab have developed a set of boards that use ultrasonic waves to levitate objects in mid-air, which they call the SonicSurface.

The basic premise is that a 16 by 16 (256 total) matrix of ultrasonic transducers emit waves at 40kHz to combine their waves in order to exert certain forces at various points. Adjusting the phase and power output of each transducer allows for small objects to be targeted with pin-point precision, therefore letting users play games, write words, or showcase art.

Building the PCB

The PCB for the SonicSurface is massive, as its top surface has 256 pairs of plated through holes where the ultrasonic emitters are soldered into place. The underside has pads for 128 MIC4127 drivers that take the signals from a set of 32 shift registers and output them at a much higher power level. Because speed and ultra-precise timing is vital for this project to work, the normal microcontroller was unsuitable. Therefore, the team created a header on their PCB onto which a CoreEP4CE6 FPGA module could be attached. This FPGA has 80 digital IO pins that are used to signal the transducers.

Controlling 256 transducers

Achieving extremely precise waveforms across all 256 ultrasonic emitters was vital for applying precise forces to objects on the matrix. To accomplish this goal, the FPGA outputs signals to the 32 shift registers in rapid succession. From here, the shift register's output pins get latched which causes the higher-voltage driver to apply power to the transducers. By getting the latency down, continuous waves can more easily levitate objects in a single location without jitters.

Levitating objects in three-dimensional space

With the hardware done, it was time to start manipulating objects in the air. The UpnaLab team built an advanced Java application that lets users place a virtual ball over the matrix with a certain amount of rotation. From here, a few different algorithms can be run that move up to several of these objects through the air in 2D space.

The team also added the ability for a second panel to be placed above the first one that lets users manipulate objects in 3D! You can see this in action here in their demonstration video.

Modifying the SonicSurface

The SonicSurface is an amazing piece of technology that showcases the versatility to sound waves. The UpnaLab team has some plans that involve adding even more capabilities to their device. First, the SonicSurface currently has an Arduino Nano as its intermediary between the host PC and FPGA, but the team has been working on an ESP32-based controller that can take commands over WiFi and output them to the board. Second, they have produced some FPGA code that runs the transducers at 200Hz that allows for people to feel haptic feedback on their hands. And finally, multiple boards can be connected in parallel to the host PC rather than serially to minimize latency.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles