YOU CAN BUILD THE RIG THAT MAKES SOUND VISIBLE IN THE AIR

A telescope mirror, a razor blade and a strobed LED turn invisible 40 kHz sound waves into visible ripples in the air.

by PlasmatronX

FULL CAD BOM FIRMWARE DOCS

ScienceWorkshop

difficulty
●●●●
time
a weekend-plus
license
MIT
repo
repo ACTIVE13 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • Dev board / microcontrollerruns the project firmware

Partner

A portfolio for your buildsShow your work on a clean portfolio site — makers get up to 55% off annual plans.Try Pixpa
1

COMPAREE VERDICT

This is a workshop schlieren imaging setup that makes ultrasonic sound waves visible by bending light through density changes in air. The physics is elegant and the footage is striking, but the repository assumes you already know how schlieren optics work. There are no assembly instructions, no BOM, and no guide to aligning the mirror, blade and camera on the same optical axis — that last part is where most first builds fail. The printed parts hold things in place, but getting the razor blade exactly at the mirror's focus and the LED timed to freeze a 40 kHz wave requires patience and a way to measure what you cannot see. The creator's own comparison figure is over 20,000 dollars for a professional system, and this build offers a path to the same physics for the cost of the mirror and a Pi. If you have built optics rigs before or are prepared to iterate on alignment for several evenings, this is a rare chance to image sound. If you have never centred a parabolic mirror or tuned a strobe to a waveform, expect a steep learning curve with no scaffolding.

NOT IN THE REPO

  • Fourteen STL parts for 3D printing (mirror mount, knife-edge holder, LED and camera mounts, wall bracket) plus FreeCAD source files.
  • Python code for the Raspberry Pi timing and strobe sync is in the repository.
  • No bill of materials, no assembly guide, no optical alignment procedure.
  • You need an eight inch Newtonian telescope mirror, a razor blade, a 40 kHz ultrasonic transducer, an overdriven LED, a gate driver, and a Raspberry Pi 4 (explicitly not the Pi 5).
  • The creator wrote the code with Google Gemini and states this openly in the repository.
  • MIT licence, no restrictions on commercial use.

Can I build this?

PrintFourteen parts: mirror mount, clip, thumb screw, wall bracket, knife-edge slot holder and slider, LED holder, camera holder.
BuyEight inch Newtonian telescope mirror (primary cost), 40 kHz ultrasonic transducer, high-power LED, gate driver (MOSFET or similar), razor blade, Raspberry Pi 4, audio amplifier modifiable for PWM drive, camera.
Tools3D printer, soldering iron, multimeter, tools for optical alignment (adjustable stands or optical breadboard strongly recommended but not specified).
SkillsIntermediate Python, optics alignment experience, electronics assembly. The alignment step — getting the mirror, blade and camera parfocal — is the hardest part and the repository offers no walkthrough.
TimeA weekend if you have aligned schlieren optics before; a weekend-plus if you are learning alignment from first principles.
Cost$$, dominated by the eight inch Newtonian mirror and the modifications to the LED driver circuit.
SafetyStrobe flashing at 40 kHz in the footage; do not view the setup if you are photosensitive. Never look directly into the focused light source — the mirror concentrates the LED output to a point. Standard electronics and soldering risks.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

A desktop 3D printer that prints in full colorPartner · Kickstarter
A desktop 3D printer that prints in full color

HeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.

See how it prints

Videos

Video URL verified in payload; title and length not provided.

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the GitHub repository (Contains the STL files, FreeCAD sources, and Python code. No assembly or alignment guide.)
  2. 2.Source the eight inch Newtonian mirror first(This is the primary cost and the component that sets the optical path length for everything else.)
  3. 3.Print the fourteen mounting parts(Mirror mount, knife-edge slider, LED and camera holders. The parts hold the optics but do not teach you how to align them.)
  4. 4.Research schlieren alignment procedures independently(The repository does not include this. You need the mirror, razor blade and camera parfocal on the same axis or you will see nothing.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • The repository contains the mechanical parts but zero guidance on optical alignment — the single hardest part of a schlieren setup. If you have never aligned a parabolic mirror before, budget time to learn this separately.
  • The creator specifies a Raspberry Pi 4, explicitly not the Pi 5. Check the Python code for GPIO or timing dependencies before substituting.
  • No bill of materials means you are reverse-engineering the shopping list from the description and the STL file names. The eight inch mirror is the obvious anchor; the LED driver and transducer specs are not stated.
  • The strobe LED is overdriven through a gate driver — this is not a plug-and-play LED, and there is no schematic for the driver circuit. You need to design or source that part yourself.
  • The knife edge must sit exactly at the mirror's focal point. A millimetre off and the image collapses. The slider in the STL files lets you move it, but not measure where it is.
  • Schlieren imaging is sensitive to vibration and air currents. The printed parts are a mount, not an optical bench. Expect to add mass or damping if your workshop has airflow.

Can I use a different size mirror?

The eight inch figure sets the focal length and the mechanical design of the printed mount. A different mirror means redesigning the CAD or building an adjustable rig.

What is the actual parts cost?

No BOM is provided. The mirror is the primary cost (price varies widely by source and quality). Add a Pi 4, transducer, LED, driver components, and a razor blade. Expect mid-hundred-dollar range if you source carefully.

Do I need prior optics experience?

The repository assumes it. Schlieren alignment is not intuitive and there is no tutorial here. If you have never centred a mirror or found a focal point, this will be a research project before it is a build.

Can I see sound waves other than 40 kHz ultrasonics?

The Pi strobes at 40 kHz to freeze that specific frequency. Lower frequencies are visible with slower strobing or continuous light, but the code is tuned to the transducer the creator used.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The creator's own figure for a professional schlieren system is upwards of 20,000 dollars — this build offers the same physics for the cost of a mirror and a Pi. Have you aligned schlieren optics before, and if so, what did you wish someone had told you first?

CompareeTEAM1h agoedited

Practical notes from our verification: the GitHub repository contains all fourteen STL files, the FreeCAD sources, and the Python timing code, but no BOM, no schematic for the overdriven LED driver, and no optical alignment procedure. The creator is explicit that the code was written with Google Gemini and that a Raspberry Pi 4 is required (not the Pi 5). The YouTube video link is verified in the payload. The single biggest gap is alignment guidance — getting the mirror, razor blade and camera parfocal is where most first schlieren builds fail, and this repository assumes you already know how.

PlasmatronX

PlasmatronX built this schlieren rig in a workshop to image ultrasonic sound waves and published the mechanical design and timing code under the MIT licence. The creator states openly that the Python was written with the help of Google Gemini and gives a comparison figure of over 20,000 dollars for a professional schlieren system.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.