• Martin Thoma
  • Home
  • Categories
  • Tags
  • Archives
  • Support me

Perfect Design: Security Camera

Contents

  • Hardware
  • Software
    • On-Device Software
    • Central Server Software
    • End-User Application
    • Camera ↔ Server Communication Protocol
    • End-User App ↔ Server Communication Protocol

I love thinking about perfect designs for everyday objects. Here is my idea for a perfect security camera.

The core principle which all security cameras I know violate is a local-first approach. The camera should still work, even if you have no internet connection. That is possible if you're in the same network as the camera.

A security camera
A security camera

Hardware

  • Form factor:
    • Turret style for easy camera angle adjustment (in contrast to bullet cameras) and better image quality than bullet cameras
    • Mounting: Adjustable mount for wall or ceiling installation
  • Camera:
    • High-resolution sensor
    • Wide-angle lens
    • Infrared night vision
  • Microphone and speaker for two-way audio
  • Power:
    • Built-in battery for power outages
    • Power-over-Ethernet (PoE) support
    • USB-C power input as an alternative, with the option to use solar panels
  • Storage: microSD card slot for local storage
  • Connectivity:
    • Wi-Fi
    • Ethernet with Power-over-Ethernet (PoE) support
    • Bluetooth for initial setup
  • Miscellaneous:
    • LED to illuminate the area (both infrared and visible light)
    • Status LED (configurable to be off during operation)
    • Physical privacy shutter
    • Weatherproof casing (IP65 or higher)
    • Tamper-detection sensor
    • On-device clock

Software

On-Device Software

  • Detects motion and faces locally
  • Includes a built-in security key to authenticate itself to the central server
  • Supports Bluetooth for initial setup
  • Synchronizes the on-device clock with a time server
  • Supports over-the-air (OTA) firmware updates from the central server
  • Setting up privacy modes (e.g., disable recording at certain times) and zones (e.g. masking out certain areas in the camera view) locally on the device
  • Setting up

Central Server Software

Authentication:

  • Allow multiple users with different roles
    • Admin: Full access to all cameras and settings; allow adding new users; allow adding and removing cameras
    • Home-User: Access to all cameras of a household; allow changing the angle of cameras; allow receiving alerts; allow enabling lights or using two-way audio
  • Allow setting up two-factor authentication (2FA)

Security:

  • Audit log of all access and changes. This log cannot be changed, even by admins.

Storage:

  • device metadata (online/offline timestamps and installed firmware versions)
  • recorded videos with timestamps and associated camera

End-User Application

This could be a native mobile app, but for a start a web application would be sufficient. This web application can run on the central server.

Frontend:

  • Overview page: All cameras with the latest snapshot
  • Camera detail page:
    • Live view
    • Recorded videos:
      • Playback
      • Download
    • Camera settings
    • Firmware update
    • Alert history

Camera ↔ Server Communication Protocol

  • Open and publicly documented
  • Cryptographic authentication of the camera
  • Encrypted communication channel
  • Camera can push alerts to the server
  • Camera can...

End-User App ↔ Server Communication Protocol

  • Open and publicly documented
  • User authentication
  • Encrypted communication channel

Published

Dez 21, 2025
by Martin Thoma

Category

My bits and bytes

Tags

  • design 11
  • foss 3
  • hardware 10

Contact

  • Martin Thoma - A blog about Code, the Web and Cyberculture
  • E-mail subscription
  • RSS-Feed
  • Privacy/Datenschutzerklärung
  • Impressum
  • Powered by Pelican. Theme: Elegant by Talha Mansoor