Red-winged Starling Nest Camera
A multi-unit surveillance system built to monitor red-winged starling nests across UCT's campus, using Raspberry Pi Zero, environmental sensors, and a Flutter companion app.
Overview
Built as a university project, this system passively monitored red-winged starling nests in remote areas of the University of Cape Town campus. The goal was to provide ornithological researchers with a non-invasive, automated way to track nesting activity across multiple simultaneously deployed units.
Hardware
| Component | Purpose |
|---|---|
| Raspberry Pi Zero W | Main compute and wireless connectivity |
| Miniature camera module | Capture images and short video clips |
| Temperature & humidity sensor | Log microclimate conditions around the nest |
| PIR motion sensor | Trigger captures on nest activity |
| Weatherproof enclosure | Outdoor deployment protection |
Software
A Python daemon ran on each Pi Zero, listening for motion events. On trigger it would:
- Capture a timestamped image and a short video clip
- Record temperature, humidity, and motion timestamps to a local SQLite database
- Sync data to a central server over SSH when within campus Wi-Fi range
Flutter Companion App
A Flutter app gave researchers a mobile interface to:
- View a live feed of all deployed units across campus
- Browse the timestamped image archive per unit
- Export data logs as CSV for analysis
- Trigger remote configuration changes (e.g., capture sensitivity)
Challenges & Learnings
Coordinating multiple independent units introduced distributed systems challenges: each Pi had to handle connectivity drops gracefully, queue unsynced data, and resume uploads without duplicating records. Managing the data pipeline from embedded device to mobile app was the most complex aspect of the project.