Summary
-
This ESP32 samples one pixel per laser pulse, stitching many pulses together in 10 billion FPS light slow motion.
-
It uses a stable, repeatable laser and time-aligned sampling so that sequential pixels form a continuous movie frame by frame.
-
No exotic high-speed camera required; Long-term buildup on an ESP32 reconstructs a video in ultra-slow motion.
People have managed to achieve amazing things with ESP32, but I think setting one up to capture a laser pulse and create a 10 billion FPS video showing the light traveling across the room is a tall order. And while the ESP32 is definitely not capable of recording a single video at that level of slow motion, someone had a great idea on how to achieve a similar effect using the microcontroller.
This ESP32 project creates a continuous video from many individual laser pulses
Now you can see how light moves with your own eyes.
In a publication in the ESP32 Subreddituser doubleyow showed off his amazing new project. They used an ESP32 to observe the pulse of a laser beam and then built a 10 billion FPS video that allowed them to see the pulse in slow motion. You are literally watching the journey of light in the video above.
So how did Doubleyow achieve this? Well, they didn’t connect a 10 billion FPS camera to the ESP32 and record only one pulse. That would be very demanding on the microcontroller and not a setup you would see in someone’s garage. Instead, what Doubleyow did was set the laser to pulse in a stable and predictable manner. They then let the laser pulse on its own for a period of time.
The ESP32 observed the laser and recorded a single pixel of each pulse at a specific position at a specific time. Because the speed of light does not change and the laser pulse did not change, the ESP32 slowly accumulated many sequential pixels from many different laser pulses. Once this was done, he merged all the images into one video.
What you are seeing above is not the result of recording one laser pulse, but the result of recording many identical laser pulses at different times and stitching them together. So it’s less of a continuous video of a single pulse and more like a patched quilt that forms a whole. Fortunately, because the laser is consistent, the result is roughly what you would actually see if you slowed down the time and looked at a single pulse.
If you’re brave enough to read about all the technical aspects that got this project off the ground, doubleyow has a separate reddit post where they detail how they got the ESP32 to do this in the first place.





