All Projects → showmewebcam → Showmewebcam

showmewebcam / Showmewebcam

Licence: gpl-3.0
Raspberry Pi + High Quality Camera = High-quality USB Webcam!

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Showmewebcam

Pi Webcam
Automation to configure a Raspberry Pi as a USB OTG webcam
Stars: ✭ 990 (+86.44%)
Mutual labels:  raspberry-pi, camera, webcam
Picam
Elixir library used to capture MJPEG video on a Raspberry Pi using the camera module.
Stars: ✭ 96 (-81.92%)
Mutual labels:  raspberry-pi, camera
Rpicam
Raspberry PI Surveillance Automation
Stars: ✭ 77 (-85.5%)
Mutual labels:  raspberry-pi, camera
Sltk
An OpenCV-based structured light processing toolkit.
Stars: ✭ 151 (-71.56%)
Mutual labels:  raspberry-pi, camera
Picamera
Capture the stream of Images for a Raspberry Pi Camera in GoLang
Stars: ✭ 21 (-96.05%)
Mutual labels:  raspberry-pi, camera
Rpindvi
Raspberry PI NDVI Code
Stars: ✭ 57 (-89.27%)
Mutual labels:  raspberry-pi, camera
Balena Cam
Network Camera with Raspberry Pi and WebRTC. Tutorial:
Stars: ✭ 120 (-77.4%)
Mutual labels:  raspberry-pi, camera
Instascan
HTML5 QR code scanner using your webcam
Stars: ✭ 2,657 (+400.38%)
Mutual labels:  camera, webcam
Robot
Simple library for controlling a raspberry pi based robot
Stars: ✭ 156 (-70.62%)
Mutual labels:  raspberry-pi, camera
Nager.VideoStream
Get images from a network camera stream or webcam
Stars: ✭ 27 (-94.92%)
Mutual labels:  camera, webcam
jeelizPupillometry
Real-time pupillometry in the web browser using a 4K webcam video feed processed by this WebGL/Javascript library. 2 demo experiments are included.
Stars: ✭ 78 (-85.31%)
Mutual labels:  camera, webcam
Gentoo On Rpi 64bit
Bootable 64-bit Gentoo image for the Raspberry Pi4B, 3B & 3B+, with Linux 5.4, OpenRC, Xfce4, VC4/V3D, camera and h/w codec support, weekly-autobuild binhost
Stars: ✭ 831 (+56.5%)
Mutual labels:  raspberry-pi, camera
Little Backup Box
Software that turns a single-board computer into a versatile and pocketable backup appliance
Stars: ✭ 278 (-47.65%)
Mutual labels:  raspberry-pi, camera
Security Camera
🔦 Motion detecting security camera using a raspberry pi, webcam, and slack
Stars: ✭ 76 (-85.69%)
Mutual labels:  raspberry-pi, webcam
Raspberryio
The Raspberry Pi's IO Functionality in an easy-to-use API for Mono/.NET/C#
Stars: ✭ 593 (+11.68%)
Mutual labels:  raspberry-pi, camera
Cam2web
Streaming camera to web as MJPEG stream or individual JPEG snapshots. Providing embedded web UI for watching camera directly from a web browser.
Stars: ✭ 117 (-77.97%)
Mutual labels:  raspberry-pi, camera
Live Video Magnification
An OpenCV/Qt based realtime application for Eulerian Video Magnification / Motion Magnification. Works with multiple videos and cameras at the same time and let's you export the magnified videos.
Stars: ✭ 187 (-64.78%)
Mutual labels:  camera, webcam
Esp32 Cam Webserver
Expanded version of the Espressif ESP webcam
Stars: ✭ 200 (-62.34%)
Mutual labels:  camera, webcam
Mmalsharp
C# wrapper to Broadcom's MMAL with an API to the Raspberry Pi camera.
Stars: ✭ 152 (-71.37%)
Mutual labels:  raspberry-pi, camera
Pigeon
Pigeon is a simple 3D printed cloud home surveillance camera project that uses the new Raspberry Pi Zero W
Stars: ✭ 266 (-49.91%)
Mutual labels:  raspberry-pi, camera

Show-me webcam: An open source, trustable and high quality webcam

Build/Release License Last Release Total Downloads Discord Chat

This firmware transforms your Raspberry Pi into a high quality webcam. It works reliably, boots quickly, and gets out of your way.

Wiki & Documentation | Discord Chat | Introduction video | Hackaday Project

Show-me webcam is proudly powered by peterbay's uvc-gadget.

What you need

  • Raspberry Pi Zero with or without Wifi
  • Raspberry Pi Zero Camera Adapter/Ribbon (The one that comes with the camera may not fit)
  • Raspberry Pi Camera or Raspberry Pi High-Quality Camera
  • A compatible lens if you use the HQ Camera sensor
  • Micro SD card (at least 64MB)
  • A case or mounting plate (optional)

What works and what doesn't

  • The camera is known to work on Linux, Windows 10 and Mac OS
  • The camera is known to work with Zoom, Teams, Jitsi, Firefox and Chrome
  • Here's a compatibility matrix as far as we could test. Let us know if you had the chance to test other variants:
Raspberry Pi \ Camera version v1 5MP v2 8MP High Quality 12MP
Pi Zero v1.3 (without Wifi)
Pi Zero W (with Wifi)
Pi 4+

Instructions

  • Watch the introduction video
  • Assemble the camera with the Raspberry Pi
  • Download the latest release (see below)
  • Use Etcher or dd to write the image to the Micro SD card
  • Use the USB data port (the one in the middle of the Raspberry Pi, not the one on the edge) to connect to a computer
  • Smile & Enjoy!

Stable releases

We release new versions of this firmware regularly at the release tab: https://github.com/showmewebcam/showmewebcam/releases

LED indicator

After booting, the built-in LED will blink three times quickly to show you it's ready.

When the camera is in use the LED will be lit. In addition, GPIO 21 pin is set to HIGH, so an external LED or another payload can be triggered with this pin to indicate that the camera is in use.

Debugging

For debugging, a 115200 baud serial interface is provided as a ttyACM device:

  • Use screen, minicom, picocom or the included smwc-expect script to connect to it
  • Use username: root, password root

Also, there is a serial interface on the 40-pin header: https://pinout.xyz/pinout/uart

Linux example:

$ ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 sep 25 14:03 /dev/ttyACM0
$ sudo screen /dev/ttyACM0 115200

Mac OS example:

$ ls -l /dev/tty.*
crw-rw-rw-  1 root  wheel    9,  18 Dec  7 13:14 /dev/tty.usbmodem13103
$ screen /dev/tty.usbmodem13103 115200

If the terminal is blank try pressing enter to see the login prompt. To exit the session, use Ctrl-A \ (screen) or Ctrl-A X (minicom & picocom).

Warning: This serial debug interface is automatically enabled and is controlled by the file called enable-serial-debug in the /boot folder. This is a potential security issue. For now, you should strongly consider disabling this feature by removing the file after you have finished customizing the webcam.

My camera doesn't show up on my host computer! What to do?

From version 1.80, on Linux, you can see what happens by watching dmesg before you plug in the webcam:

$ sudo dmesg -w

If you only see the ttyACM device show up, but not the webcam, it's likely you have not plugged in the camera cable correctly, or the camera cable has gone bad.

If you see nothing, maybe your USB cable is bad, or you have plugged in the cable to the wrong port.

Customizing camera settings

Automatic

Log in to the debug interface and execute:

/usr/bin/camera-ctl

This tool will allow you to show and tweak all available camera parameters. Additionally it will save your settings to /boot/camera.txt if you choose to do so. This will handle remounting /boot automatically.

Manual

Overriding camera settings temporarily

Log in to the debug interface. Then list all tweakable parameters:

/usr/bin/v4l2-ctl -L | less

Then you can apply parameters on the fly, e.g.

/usr/bin/v4l2-ctl -c auto_exposure_bias=15
/usr/bin/v4l2-ctl -c contrast=3

Overriding camera settings permanently

Mount the SD card on your computer, edit a file called camera.txt in /boot and put all parameters you want overridden, e.g:

# Tweak the auto exposure bias
auto_exposure_bias=15
# Tweak the contrast
contrast=3

You can edit camera.txt on-target by remounting /boot read-write:

mount -o remount,rw /boot

Development & building

Clone or download this repository. Then inside it:

  • Download the latest Buildroot stable from https://buildroot.org/download.html
  • Extract it and rename it to buildroot
  • Run build command:
    • ./build-showmewebcam.sh raspberrypi0w to build Raspberry Pi Zero W (with Wifi) image.
    • ./build-showmewebcam.sh raspberrypi0 to build Raspberry Pi Zero (without Wifi) image.
    • IMPORTANT: If you didn't rename your Buildroot directory to buildroot or if you put it somewhere else you need to set the Buildroot path manually, e.g. BUILDROOT_DIR=../buildroot ./build-showmewebcam.sh raspberrypi0
  • The resulting image sdcard.img will be in the output/$BOARDNAME/images folder
  • If you add a camera.txt file to the root of this repository, the contents will be automatically added to /boot/camera.txt

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].