Uploaded February 2026 | Updated September 2026, 1 week ago
Thanks to PCBWay.com/?from=atomic for the fantastic PCBs and SMT assembly.
Last time, I made an ESP32 pretend to be a webcam.
This time, it actually is one.
In this video, I take an ESP32-S3 with native USB support and turn it into a real USB UVC webcam — first using a standard camera module, and then something a bit more unusual: a 32×24 pixel infrared (thermal) camera.
Even though the thermal image is tiny, we scale it up, process it, JPEG-encode it, and stream it over USB just like a normal webcam. Surprisingly, it works really well.
Along the way, we cover:
Why ESP32-S3 is required for USB UVC
Why MJPEG makes this much simpler than you’d expect
Turning a 32×24 thermal image into a usable video stream
Nearest-neighbour vs bilinear scaling
A very real hardware bug that looked like a software problem
Practical I2C debugging advice I should follow more often
If you’re interested in USB devices, ESP32-S3 projects, thermal cameras, or just watching me lose time debugging the wrong thing — this one’s for you.
🔗 Related video: ESP32 USB UVC – pretending to be a webcam: youtu.be/zhTTmRQLNws
🤖 GitHub repo: github.com/atomic14/esp32-mlx90640-webcam
🎥 You can get an MLX90640 module here: https://s.click.aliexpress.com/e/_c2xclM0J
---
If you'd like to help support the channel and help me buy more nonsense - I have a Patreon page: patreon.com/atomic14
We've also got a shop now! shop.atomic14.com
And if you're shopping on AliExpress or Amazon then if you click on these links I will get a little bit of affiliate money:
Aliexpress - https://s.click.aliexpress.com/e/_Ac05mF
Amazon - amazon.com/?tag=atomic14-20
You can also join us on Discord here: discord.gg/h2DDnDdjD2
There's also the Atomic14 newsletter here: atomic14.substack.com
And don't forget about the MakerNews newsletter - makernews.substack.com
Thanks to PCBWay.com/?from=atomic for the fantastic PCBs and SMT assembly.
Last time, I made an ESP32 pretend to be a webcam.
This time, it actually is one.
In this video, I take an ESP32-S3 with native USB support and turn it into a real USB UVC webcam — first using a standard camera module, and then something a bit more unusual: a 32×24 pixel infrared (thermal) camera.
Even though the thermal image is tiny, we scale it up, process it, JPEG-encode it, and stream it over USB just like a normal webcam. Surprisingly, it works really well.
Along the way, we cover:
Why ESP32-S3 is required for USB UVC
Why MJPEG makes this much simpler than you’d expect
Turning a 32×24 thermal image into a usable video stream
Nearest-neighbour vs bilinear scaling
A very real hardware bug that looked like a software problem
Practical I2C debugging advice I should follow more often
If you’re interested in USB devices, ESP32-S3 projects, thermal cameras, or just watching me lose time debugging the wrong thing — this one’s for you.
🔗 Related video: ESP32 USB UVC – pretending to be a webcam: youtu.be/zhTTmRQLNws
🤖 GitHub repo: github.com/atomic14/esp32-mlx90640-webcam
🎥 You can get an MLX90640 module here: https://s.click.aliexpress.com/e/_c2xclM0J
---
If you'd like to help support the channel and help me buy more nonsense - I have a Patreon page: patreon.com/atomic14
We've also got a shop now! shop.atomic14.com
And if you're shopping on AliExpress or Amazon then if you click on these links I will get a little bit of affiliate money:
Aliexpress - https://s.click.aliexpress.com/e/_Ac05mF
Amazon - amazon.com/?tag=atomic14-20
You can also join us on Discord here: discord.gg/h2DDnDdjD2
There's also the Atomic14 newsletter here: atomic14.substack.com
And don't forget about the MakerNews newsletter - makernews.substack.com










