2021

Acoustic Surf Display final assembly

I wanted a way to see surf conditions without pulling out my phone. The idea was a tabletop display that uses acoustic levitation to physically suspend small foam particles at different heights, each one representing a data point like swell height, period, wind speed, or direction. Instead of reading numbers on a screen, you glance at it and get an intuitive sense of conditions. I built this as my final project for MIT's How to Make (Almost) Anything course (MAS.863).

Concept sketch showing the enclosure with transducer arrays, levitated particles forming a wave, and data from buoy API
SolidWorks CAD model of the enclosure with wave-textured shell, transducer array visible through windows

The system uses two 8x8 phased arrays of 40kHz ultrasonic transducers (128 total) to create standing waves that trap particles in mid-air. I designed custom driver boards with TC4427VOA MOSFET gate drivers and used two ATMEGA2560 microcontrollers to independently control each array. A web app queries Magic Seaweed's surf API and sends commands to the microcontrollers over web sockets, adjusting transducer phase outputs to reposition the particles in real time.

The PCB design was one of the most complex parts of the project. Each driver board routes signals from the microcontroller to 64 MOSFET gate drivers, each driving one transducer. The board went through several iterations in KiCad, and milling took roughly 2.5 hours per board on the Othermill. After milling, I hand-soldered over 200 components per board including the MOSFETs, capacitors, resistors, and header pins.

Close-up of the populated driver board showing rows of soldered MOSFET gate drivers and routing traces
3D-printed wave-textured top shell on the Ultimaker print bed

Everything was housed in a 3D-printed enclosure with laser-cut plywood supports, powered by an 18V supply. The enclosure design references the wave theme throughout, with undulating surface textures on the top and bottom shells. The assembly holds the two opposing transducer arrays at a fixed distance with aluminum standoffs.

Fully assembled device with both transducer arrays, wiring harness, and enclosure on the workbench

All the subsystems worked individually: the driver boards, the arrays, the web application, and the enclosure. But reliable particle levitation remained just out of reach within the semester, likely due to the phase-shifting implementation at the microcontroller level. It was a humbling reminder of the gap between a subsystem working on a bench and a full system working together. The full documentation covers every detail of the build process.

Gallery

Links

Technology & Tools

FabricationElectronicsSurfing