Credit: doubleyow Published Jul 25, 2026, 12:11 AM EDT Simon is a Computer Science BSc graduate who has been writing about technology since 2014, and using Windows machines since 3.1. After working for an indie game studio and acting as the family's go-to technician for all computer issues, he found his passion for writing and decided to use his skill set to write about all things tech. Since beginning his writing career, he has written for many different publications such as WorldStart, Listverse, and MakeTechEasier. However, after finding his home at MakeUseOf in February 2019, he would eventually move on to its sister site, XDA, to bring the latest and greatest in Windows, Linux, and DIY electronics. Sign in to your XDA account Summary This ESP32 samples one pixel per laser pulse, stitching many pulses into a 10 billion FPS slow-motion of light. It uses a stable, repeatable laser and time-aligned sampling so sequential pixels form a continuous frame-by-frame movie. No exotic high-speed camera required; long-term accumulation on an ESP32 reconstructs an ultra-slow motion video. People have managed to achieve some amazing things with an ESP32, but I think setting one up to capture a laser pulse and create a 10 billion FPS video showing light travelling across the room takes the biscuit. And while an ESP32 is definitely not capable of recording a single video at that level of slow-mo, someone had an excellent idea as to how to achieve a similar effect using the microcontroller. This ESP32 project creates a continuous video out of lots of individual laser pulses Now you can see how light moves with your very own eyes In a post on the ESP32 subreddit, user doubleyow showed off their jaw-dropping new project. They used an ESP32 to watch a laser beam pulse, then construct a 10 billion FPS video that lets them see the pulse in slow motion. You're literally seeing light travel in the above video. So, how did doubleyow achieve this? Well, they didn't hook up a 10 billion FPS camera to the ESP32 and record just one pulse. That would be very demanding for the microcontroller and not a setup you'd see in someone's garage. Instead, what doubleyow did was set up the laser so it pulsed in a stable and predictable manner. They then left the laser to pulse by itself for a period of time. The ESP32 watched the laser and recorded a single pixel of each pulse at a specific position at a specific moment in time. Because the speed of light doesn't change and the laser's pulsing didn't change, the ESP32 slowly accumulated lots of sequential pixels from lots of different laser pulses. Once it was done, it then stitched all the images together into a video. What you're seeing above isn't the result of recording one laser pulse, but instead, the result of recording lots of identical laser pulses at different moments and piecing them together. So, it's less one continuous video of a single pulse and more like a patched quilt that makes up a whole. Fortunately, because the laser is consistent, the result is pretty much what you'd actually see if you slowed time down and watched a single pulse. If you're brave enough to read up on all the technical stuff 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.
Someone used an ESP32 to capture light travelling at 10 billion frames per second
Full Article
Original Source
Read the full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.