Self-hosted home security camera system for Raspberry Pi with end-to-end encrypted live video, alerts and recordings on your phone.
- Stars
- 137
- Forks
- 25
- Open issues
- 2
- Last commit
- 4 days ago
What is it?
CamMonitor runs in two modes: Camera Mode on a spare Android phone that captures 720p video and audio, and Viewer Mode on your everyday phone to watch the live feed. The two devices are paired once by scanning an encrypted QR code, after which they connect directly over Wi-Fi or mobile data using WebRTC, so no video passes through a third-party server.
The app is built around hardware longevity. It is an on-demand live monitor rather than a 24/7 recorder: the camera screen blacks out after a minute of inactivity, and the sensor enters standby when no viewer is connected. Continuous recording and on-device object detection are intentionally left out, though the codebase can be extended for them.
The viewer can switch night mode, toggle the camera's torch, rotate the image in 90° steps, and talk back through push-to-talk. A single viewer can pair with up to eight cameras, and one camera can serve two viewers at once.
Key features
- 01Zero-account pairing through a one-time encrypted QR code.
- 02End-to-end encrypted P2P streaming with ECDSA device keys and AES-256-GCM.
- 03Streams 720p video and audio, with up to two viewers per camera.
- 04Remote night mode, torch control, and rotation from the viewer.
- 05Push-to-talk intercom and battery level monitoring for both devices.
- 06Auto-standby and OLED black screen to save battery.
Use cases
- Watching a front door, living room, or baby's room with an old Android phone.
- Monitoring several locations from one phone without subscribing to a cloud camera service.
- Talking to someone at the camera location through the push-to-talk intercom.
Quick start
- 1
On the camera phone, open CamMonitor and tap Start Camera Mode to show the pairing QR code
- 2
On the viewer phone, open CamMonitor, tap Start Viewer Mode, and scan the QR code to pair
- 3
On the viewer phone, tap Start Viewer Mode and select a paired camera to watch the live feed
Things to know
- Android only, requiring Android 9.0 or higher on both phones.
- It is a live monitor, not a 24/7 recorder, and has no built-in object or motion detection.
- Both phones need an active network connection, and it needs two Android devices.
In collections
Topics
FAQ
- What is CamMonitor?
- An Android app that turns a spare phone into a private home security camera, streaming peer-to-peer to a viewer phone with no accounts or cloud servers. CamMonitor runs in two modes: Camera Mode on a spare Android phone that captures 720p video and audio, and Viewer Mode on your everyday phone to watch the live feed. The two devices are paired once by scanning an encrypted QR code, after which they connect directly over Wi-Fi or mobile data using WebRTC, so no video passes through a third-party server.
- Is CamMonitor free to use? What license does it have?
- CamMonitor is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is CamMonitor still maintained?
- Actively maintained. The last commit to CamMonitor was on Nov 3, 2026.
- What can I use CamMonitor for?
- Watching a front door, living room, or baby's room with an old Android phone. Monitoring several locations from one phone without subscribing to a cloud camera service. Talking to someone at the camera location through the push-to-talk intercom.
- How do I install CamMonitor?
- On the camera phone, open CamMonitor and tap Start Camera Mode to show the pairing QR code On the viewer phone, open CamMonitor, tap Start Viewer Mode, and scan the QR code to pair On the viewer phone, tap Start Viewer Mode and select a paired camera to watch the live feed
- Where can I get CamMonitor?
- The source code and installation instructions are on GitHub: https://github.com/samlu/CamMonitor
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A free, open-source peer-to-peer file transfer tool that sends files directly between devices without cloud storage, end-to-end encrypted.
A free, serverless peer-to-peer chat app with end-to-end encryption where messages are never stored and vanish when you leave the room.
A privacy-focused web app for sending files, folders and text directly between browsers over WebRTC, as an AirDrop-style alternative.
A decentralized, friend-to-friend encrypted communication toolkit offering file sharing, chat, forums, channels and boards across platforms.
A free, open-source private messenger with end-to-end encrypted chats and communities, built on the Nostr protocol and requiring no phone number or email.