The big picture
Two senses, one page. A microphone hears the yard and an AI identifies every bird call; a camera watches the yard and an AI identifies every animal that walks through. Both feed a small home server, and the website you're reading pulls its data from that server, live.
The ears · hardware
- Raspberry Pi Zero 2 W (~$90 as a starter kit with power supply, case, and storage) — a quad-core computer the size of a stick of gum, mounted on a screened porch. It does no analysis at all; its only job is streaming audio into the house.
- USB sound adapter (~$9) — a thumb-drive-sized sound card, because the Pi has no audio input of its own.
- Omnidirectional lavalier microphone (~$15) — a broadcast-style clip mic with a long cable, clipped facing the yard. Omnidirectional matters: birds don't announce which tree they'll sing from.
The Pi encodes the microphone's feed and serves it as an RTSP stream — the same open protocol security cameras use — over WiFi to the server.
The ears · software
The server runs BirdNET-Go, an open-source engine built around BirdNET — the neural network from the Cornell Lab of Ornithology and Chemnitz University that can recognize more than 6,000 bird species by sound alone. The pipeline:
- Audio arrives continuously and is analyzed in ~3-second windows, around the clock.
- Each window gets scored against the full species catalog. A location filter (using the station's rounded coordinates and the calendar) keeps the candidate list to species actually plausible here in each season.
- Above a confidence threshold, a detection is logged: species, timestamp, confidence — plus a short audio clip so every entry carries its own evidence.
- Everything else is discarded on the spot. The raw stream is never stored.
The eyes · hardware
A dual-lens 180° WiFi camera (~$105) mounted under an eave. Two 4K sensors are stitched into a single panoramic frame that covers the whole yard at once — chosen deliberately over a motorized pan-tilt camera, because a fixed frame is what lets detection software watch every corner all the time instead of whichever direction a motor happens to point.
The eyes · software
Frigate, the open-source network video recorder, ingests the camera's RTSP stream on the server. It runs object detection only on regions of the frame where motion occurs, several times a second, hardware-accelerated on the server's integrated GPU (OpenVINO for inference, VAAPI for video decode). When it confirms an animal, it saves a snapshot cropped to the animal — a close-up portrait, not a speck in a panorama — plus a short video clip. A species-classification model (Google's SpeciesNet, trained on millions of camera-trap images) refines coarse labels like "animal" into "White-tailed Deer."
The brain
Both AIs run on a repurposed laptop in the basement acting as a home server (Proxmox hypervisor). Each subsystem lives in its own Linux container: one for BirdNET-Go, one for Frigate. A laptop makes a surprisingly good home server — low power draw, quiet, and its battery doubles as a built-in UPS through power blips.
The website
This site is a Cloudflare Worker — the page itself is served from Cloudflare's edge network worldwide, so traffic never strains the home connection. When the page needs data, the Worker (not your browser) fetches it from the home server through an encrypted Cloudflare Tunnel. The home network accepts no inbound connections at all; the server dials out to Cloudflare, and authenticated requests ride back down that tunnel. The Worker holds a machine credential for the tunnel's access gate and forwards only a fixed allow-list of read-only endpoints — detections, images, audio clips, and the live event streams that drive the waveform and the real-time bird badge. Nothing that could modify the station is reachable from the public site.
Privacy, by design
- No people, ever. The camera software does not track the "person" object class, and raw footage is retained only around confirmed wildlife events — so humans crossing the yard are never saved, let alone published.
- No voices. The bird engine runs a speech filter: any clip containing detected human speech is discarded rather than kept, so a porch conversation can't end up behind a play button.
- No location precision. Coordinates shown are rounded to about a kilometer — enough for the species filter and the curious, not enough to find a mailbox.
- No cloud dependence. All recognition runs locally. No audio or video is sent to any third-party AI service.
Parts & costs
| Part | Role | Approx. |
|---|---|---|
| Raspberry Pi Zero 2 W kit | porch audio streamer | $90 |
| USB sound adapter | mic input for the Pi | $9 |
| Lavalier microphone | the ears | $15 |
| Dual-lens 180° WiFi camera | the eyes | $105 |
| Home server + software | already owned · all open source | $0 |
| Total | ≈ $220 | |
For comparison: the leading commercial bird-listening gadget costs about $250, covers only the audio half, and offers no way to add eyes, a custom website, or any of the rest. Building it yourself costs less and the station can keep growing.
Credits
- BirdNET — Cornell Lab of Ornithology & Chemnitz University of Technology; BirdNET-Go by Tomi Hakala and contributors.
- Frigate NVR by Blake Blackshear and contributors; SpeciesNet by Google.
- Species photos via Avicommons and the bird engine's image providers (openly licensed). Simulation-mode audio samples from xeno-canto recordists via Wikimedia Commons (CC licenses).
- Station designed, built, and maintained by Daisy, a persistent AI engineering collaborator powered by Anthropic's Claude — from hardware selection to this sentence.