Show-me webcam: Webcamera for Raspberry Pi Zero W
With standard camera mounting gear
Table of Contents
1. Showmewebcam
2. Philosophy
This firmware transforms your Raspberry Pi into a high quality webcam. It works reliably, boots quickly, and gets out of your way.
There hasn't been real development leaps in the commercial webcams in the past 30 years. Global COVID-19 pandemic caused a shortage of webcams, so decided to build my own for my new home work premises. Commercial webcams are usually made of plastic, small static non-glass-lenses and ineffective integrated microphones, offering no upgrade paths for hardware, should I want to change a component 1. An option would be to use a DSLR camera setup with a capture card, but that starts to get expensive and would be an overkill for the frequent webcamming I do. Also, I couldn't just upgrade a component in that setup if I wanted to.
With this Raspberry based setup, I don't need to sacrifice anything else than auto focus, which is not needed for static conference webcamming anyway. A good overview by Jeff Geerling on pros/cons of the HQ Pi Camera.
2.1. Preparation
Acquire the hardware, I used:
- SmallRig ballhead and clamp. With this combo, I can attach and position the camera however I want. I already had Elgato Key Light Air and I could easily clamp the camera to its stand.
- Raspberry Pi Mounting Plate for High Quality Camera. This is the "frame" to which I attach the Pi Zero WH and Camera Module to.
- Raspberry Pi Zero Camera Adapter. RPi Zero board has physically smaller camera lane port, so this is needed.
- Raspberry Pi Zero WH (with pre-soldered header). Webcam setup does not need wireless capabilities or pre-soldered header. I chose both because wanted to keep my options open on repurposing the board for a future project where both are needed.
- Raspberry Pi High Quality Camera Module. Needed.
- Raspberry Pi High Quality Camera CS Lens (6mm wide angle). On a hindsight, would've gone straight for a M12 lens based on this review. Select appropriate lens for video conferencing. I chose Low Distortion 6.0mm M12 Lens.
- M12 to CS adapter. With M12 lens and rpi Camera Module, this adapter is also needed in between.
2.2. Post-installation tasks
Install vnc server on the pi:
$ sudo apt-get install realvnc-vnc-server
$ sudo raspi-config
Select: Interfacing Options > VNC and select Yes.
Then launch vnc viewer and connect to pi.
Then on client computer install vnc viewer: https://www.realvnc.com/en/connect/download/viewer/
2.3. Troubleshooting
4. Observations and future direction
4.1. DONE Subscribe to Product Change Notifications
Do this as per instructions here.
4.2. NEXT Focus the lens
- Step 4: https://commonlands.com/blogs/technical/raspi-video-conferencing
- Also read through: https://commonlands.com/blogs/technical/how-to-focus-a-camera
- https://commonlands.com/pages/aov-calculator
- https://commonlands.com/pages/fov-calculator
- If no wlan connection in rasperry pi zero w, then local ssh with usb: https://desertbot.io/blog/headless-pi-zero-ssh-access-over-usb-windows also https://tutorial.cytron.io/2020/12/29/raspberry-pi-zero-usb-webcam/
4.3. NEXT Figure out where I want to position the camera using the Field of View
- As per section 4 of this blog.
Footnotes:
Reddit thread from where the webcam idea came from.