In the age of business Zoom rooms, having a crisp webcam is key for introducing fellow executives to your pet cat. Unfortunately, quality webcams are out of stock and building your own is out of the question. Or is it? [Dave Hunt] thought otherwise and cooked up the idea of using the Raspberry Pi’s USB on-the-go mode to stream video camera data over USB. [Huan Trong] then took it one step further, reimagining the project as a bootable system image. The result is showmewebcam, a Raspberry Pi image that transforms your Pi with an attached HQ camera module into a quality usb camera that boots in under 5 seconds.
Some of the project offerings on showmewebcam are truly stunning. Not only does the setup boot quickly, the current version requires a mere 64MB micro SD card for operations. What’s more, the project exposes camera settings like brightness, contrast, etc. via UVC, a standard USB protocol such that they can be controlled via typical software applications.
What’s truly exciting about this project is to see it take shape as different people tackle the same concept whilst referencing the prior milestone. [Dave Hunt] landed early to the scene with a blog post that established that the Pi could indeed be used as a USB webcam. [Huang Truong] built on that starting point, maturing it into an uploadable system image with notes to follow. Now, with showmewebcam on Github, it has seen contributions from over a dozen folks. Its performance specs are gradually improving. And it has a detailed wiki complete with suggested lenses and user-contributed cases to make your first webcam building experience a success.
And that’s not to say that others aren’t tackling this project from their own perspective either! For an alternate encapsulated solution, have a look at [Jeff Geerling’s] take on Pi-based USB webcams.
16 thoughts on “A Pi USB Webcam That Was Born To Boot Quick”
<1sec and <128kb should be possible with bare metal bootcode.bin.
2-3 seconds is easy to achieve with Buildroot. It takes more time for bootloader to start and show color rectamgle than for minimal linux system to boot
Is it intentional that apparently two revisions of the article got merged into one post?
I wonder if it’s possible to connect 2 cameras to the same Pi, you know like for stereo imaging or 360 and the likes… that would lead the way to cheaper solutions and/or custom ones.
The Pi compute modules have two camera connections if you wish to use pi cameras. Not sure if this is able to function on the compute module with the two cameras, not looked. But it certainly could be expanded if it doesn’t already work with it.
Your normal Pi I don’t think so though – I am not 100% but I don’t think OTG USB and other USB devices are possible on any of the Pi family.
>”I don’t think OTG USB and other USB devices are possible on any of the Pi family.”
At least in the case of Networking OTG, that has worked since ~5 years ago, even before:
I know this doesn’t translate into “all” device types (I haven’t confirmed, but I suspect if networking OTG works than most OTG works)
I could also misunderstand your statement.
Yeah I think you have – I was meaning the Pi family boards only have one Camera connector and can’t as far as I know use USB webcams and USB OTG at the same time. Possible the Pi4 could, as it does have if memory serves data lines to the charging port to be used for USB OTG separate to the PCI-E USB3 chip that does the USB ports. But I really don’t know if its possible.
(While I do use a Pi 4 I’m currently much more familiar with the CM4 specs – as to me its the best thing for my planned uses – so take that with a grain of salt I really don’t know for sure, and haven’t gone splunking through the available datasheets again to be sure)
I think the PiKVM project uses USB OTG and host mode at the same time on the Pi Zero.
Arducam has a few offerings for stereo cameras for the Pi I think.
Here is the s a link https://www.arducam.com/product/b0195-synchronized-stereo-camera-hat-raspberry-pi/
Yes it can be done with a Pi Compute Module. Search for Stereo-Pi board
That looked pretty impressive until I realised that the camera he used to shoot the video isn’t the raspi.
When the raspi is finally set up the quality is obviously really bad – compared to his main camera the DOF is poor, and the colour makes him look ill. My laptop’s or phone’s webcam does a better job.
But I do want to know what his main webcam is, because that’s actually high quality.
> When the raspi is finally set up the quality is obviously really bad – compared to his main camera the DOF is poor, and the colour makes him look ill.
The DOF on his main shooter is very shallow, he’s most likely using an SLR with a proper lens. Its hard to see the DOF of the picam because he doesn’t properly focus it but it’s going to be determined by the IRIS of the lens. There are plenty C/CS-Mount lenses with adjustable IRIS compatible with the picam but you’ll have to design a circuit to control the drive and damper coils that adjust it.
The color settings are completely adjustable and something the end user would calibrate because they’re going to vary based on the image sensor you’re using. This isn’t something anyone is going to factory calibrate for you.
Good to see that UVC is finally working correctly.
Get a USB HDMI video capture dongle off eBay for $10. Hook up your digital camera and you will have a webcam that beats 99% webcams out there hands down.
Or use your smartphone…
Please be kind and respectful to help make the comments section excellent. (Comment Policy)