Watcher

A Raspberry Pi–based wildlife monitoring system that identifies animals and birds using camera and audio detection.

Use Case

Watcher enables automated wildlife monitoring in gardens and other outdoor environments. Food can be placed in the device to attract nearby animals, while its camera and microphone capture visual and audio observations. The system identifies detected wildlife, stores the observations, presents them through a web interface, and sends daily updates through Telegram.

Target Audience

Wildlife enthusiasts, birdwatchers, homeowners, educators, citizen scientists, researchers, and developers interested in local AI, computer vision, bioacoustics, and Raspberry Pi projects.

How It Works

Watcher uses motion detection to trigger its camera pipeline. When movement is detected, the system captures a burst of images, selects the sharpest frame, locates the animal, and attempts to classify its species. Camera detections that cannot be classified confidently may be recorded as unidentified animals. A separate continuous audio process listens for bird sounds and identifies only confident, named bird species. Camera and audio observations are stored in a shared SQLite database. The system compiles daily statistics and wildlife summaries, which can be viewed through a local web interface and delivered through Telegram. All camera, audio, database, web, and inference functions run locally on a Raspberry Pi 5. The processes coordinate their memory usage so that the language model and wildlife inference do not exceed the device’s available resources.

User Journey

  1. The user installs Watcher in a suitable outdoor location.
  2. Snacks are placed in the base to attract nearby wildlife.
  3. The camera monitors the area and reacts when motion is detected.
  4. Watcher captures images and attempts to identify the detected animal.
  5. The microphone continuously listens for identifiable bird sounds.
  6. Sightings and bird detections are stored in the local database.
  7. The user reviews observations, species information, statistics, and media through the web interface.
  8. Watcher sends daily wildlife updates through Telegram.

Technologies

Raspberry Pi 5 with 8 GB RAM, Python, Raspberry Pi OS, ESP32, camera, microphone, OpenCV, ONNX Runtime, TensorFlow Lite, MegaDetector, SpeciesNet, BirdNET, Perch 2.0, SQLite, motion detection, computer vision, audio classification, local AI inference, Telegram Bot API, HTML, CSS, and JavaScript.

Author

Henri Katajisto, Max Jauhiainen

Project

GPT-Lab Summer Internship 2026