About us
Listening to campus birds — only when it matters
The idea
Four steps, in this order
- 01
Detect visually
A laptop webcam runs YOLOv8 and only asks one question: is there a bird in the frame?
- 02
Listen selectively
Only then does an ESP32 record a short clip from its INMP441 microphone. No bird, no recording.
- 03
Identify acoustically
The clip goes over Wi-Fi to a FastAPI server, where BirdNET names the species from its call.
- 04
Capture selectively
If it is one of our ten target species, the system keeps the photo. Everything else is let go.
Why selective
Most audio is just noise
Recording around the clock means hours of wind, traffic and voices to store, upload and analyse — and a classifier that will still try to name a bird in pure noise. BirdNET has no “none of the above” answer, so the less empty audio we feed it, the fewer false alarms we get.
Letting the camera decide when to listen keeps the microphone's work to a few seconds per sighting, and lets two different models do what each is good at: YOLOv8 for is it a bird, BirdNET for which bird.
In one sentence
A vision-triggered IoT system that uses YOLOv8 to detect birds, selectively records their sounds with an ESP32 and INMP441, identifies the species with BirdNET through a FastAPI server, and captures an image when the species is on our target list.
Scope
What this project is — and isn't yet
A working prototype
Built to prove the full pipeline end to end on a desk, not yet a weatherproof field station.
Honest about accuracy
We don't quote accuracy or latency we haven't measured. The numbers on this site are labelled with where they came from.
Modular on purpose
Vision, firmware and the BirdNET server can each be developed and tested on their own.
Kept simple
No external ADC, no MOSFET mic switching, no extra camera module — the mic stays powered and software decides when to listen.
Once the core pipeline is reliable, the natural next steps are a standalone outdoor unit with battery or solar power, location tagging, an observation database and a dashboard of species over time.