A Personal Engineering Project

Which birds are visitingour garden?

A BirdNET-Go monitoring system created for my wife and me to discover the birds around our home—combining wildlife, Linux, Docker, audio processing and a little engineering curiosity.

  • BirdNET-Go
  • Docker
  • Prometheus
  • Grafana
  • ALSA

The Story

A simple question became a real engineering workload.

This project started because my wife wanted to know which birds were visiting our garden.

We can hear plenty of birds, especially early in the morning, but identifying them by sound is not always easy. BirdNET-Go offered a way to listen continuously and suggest likely species from their calls.

Before installing the application, I investigated which microphone would be suitable. The microphone would determine the quality of the audio supplied to BirdNET-Go, so it needed to capture clear calls, work reliably with Linux and remain reasonably priced.

After comparing different USB microphone options, I selected the FIFINE K669B USB Condenser Microphone. Its plug-and-play USB connection, cardioid pickup pattern and good balance between price and audio quality made it a practical choice for the project.

What began as a small and enjoyable home project soon became a useful practical exercise involving Linux audio devices, Docker hardware access, application configuration, troubleshooting, custom metrics and Grafana monitoring.

The Original Requirement

“Can we see which birds visit the garden?”

The success criterion was intentionally simple: the system should be easy to access, run without constant attention and provide useful bird detections that we could both enjoy.

Project Objectives

Useful technology without losing the fun.

01

Discover our garden visitors

Create a simple way for my wife and me to see which birds visit the garden, including those we hear but do not manage to see.

02

Choose suitable audio hardware

Research a microphone that offered clear audio capture, Linux compatibility, USB connectivity and good value.

03

Listen continuously

Use a dedicated microphone and Linux system to monitor bird calls throughout the day.

04

Make results accessible

Present detections through a straightforward web interface rather than requiring technical commands.

05

Add operational monitoring

Expose useful metrics so the application and detection pipeline can be monitored through Prometheus and Grafana.

06

Keep it enjoyable

Ensure the technology continues to support the original purpose: enjoying and learning more about the wildlife around our home.

Hardware Research

Choosing the microphone before building the system.

The microphone was a key project dependency. Poor audio quality or unreliable Linux support would limit the effectiveness of the entire detection pipeline.

Selected Hardware

FIFINE K669B USB Condenser Microphone

I chose the FIFINE K669B after comparing several options. It provided the required USB connectivity, useful directional pickup and Linux compatibility while remaining affordable for a garden monitoring project.

  • USB connection
  • Cardioid pickup
  • Linux compatible
  • Good value
01

USB connectivity

A direct USB connection avoided the need for an additional audio interface.

02

Linux compatibility

The microphone needed to be recognised through ALSA and work reliably with the Linux host.

03

Clear directional capture

Cardioid pickup helped focus on useful garden audio while reducing some unwanted surrounding noise.

04

Good value

The project required suitable audio quality without investing in specialist recording equipment.

How It Works

From garden sounds to species suggestions.

01Birds in the gardenThe most important part of the architecture
02FIFINE K669B microphoneCaptures calls and surrounding garden audio
03Linux and DockerProvide the host platform and audio-device access
04BirdNET-GoAnalyses audio and suggests likely bird species
05Web interface and GrafanaPresent detections, trends and operational health

Project Components

A small system with several interesting layers.

Audio Capture

FIFINE K669B USB Condenser Microphone

Captures live garden audio and provides plug-and-play USB connectivity to the Linux host.

Host Platform

Linux System

Provides the audio device, Docker runtime and reliable application host.

Application

BirdNET-Go

Analyses live audio and uses machine learning to suggest likely bird species.

Container Platform

Docker Compose

Packages the application configuration, device access and supporting services.

Metrics

Custom BirdNET Exporter

Exposes detection and application information for collection by Prometheus.

Visualisation

Grafana

Turns detection and platform metrics into accessible dashboards and trends.

Project Journey

From a garden idea to a monitored application.

01

Start with the question

The project began with a simple request from my wife: can we find out which birds visit the garden?

02

Research the microphone

Compared USB microphone options, considering audio quality, Linux compatibility, reliability, cost and ease of installation.

03

Select the FIFINE K669B

Chose the FIFINE K669B USB Condenser Microphone as a practical balance of clear audio capture, plug-and-play support and affordability.

04

Connect the audio hardware

Configured the USB audio device on Linux and made it available inside the Docker container.

05

Tune the detection pipeline

Adjusted audio-device configuration, sample rate, gain, privacy filters and detection thresholds.

06

Add monitoring

Created a custom exporter and connected the workload to Prometheus and Grafana.

Engineering Challenges

The birds were easier to hear than the audio device.

The project included genuine troubleshooting challenges, particularly around microphone selection, Linux audio and detection settings.

Choosing the right microphone

Problem

The quality of the detections depended heavily on selecting a microphone capable of capturing birdsong clearly while remaining affordable and compatible with Linux.

Response

I researched several USB microphone options and compared audio quality, connection method, Linux compatibility, reliability and overall cost. I selected the FIFINE K669B USB Condenser Microphone because it offered plug-and-play USB connectivity, cardioid audio capture and good value without requiring specialist audio equipment.

Outcome

The microphone connected directly to the Linux host and provided a suitable audio source for continuous BirdNET monitoring.

Linux audio device selection

Problem

The application initially selected the wrong audio interface and could not reliably access the USB microphone.

Response

Inspected the available ALSA devices on the host and configured BirdNET-Go to use the correct hardware interface.

Outcome

The application could receive live audio from the garden microphone.

ALSA capture errors

Problem

The container reported repeated ALSA errors while attempting to open the capture device.

Response

Tested the microphone directly on the host, reviewed the active audio stream and changed the application configuration to use the appropriate plughw device.

Outcome

The audio pipeline could be investigated methodically rather than through trial and error.

Few or no detections

Problem

The application was receiving audio, but detections were not consistently passing the configured filters.

Response

Reviewed confidence thresholds, privacy filtering, dynamic thresholds, microphone gain and species-processing logs.

Outcome

The project provided practical experience tuning a machine-learning workload rather than simply installing it.

Monitoring a specialist application

Problem

BirdNET-Go did not initially expose every metric required by the wider monitoring platform.

Response

Developed a custom Prometheus exporter for detection and application data.

Outcome

The workload became part of the same observability platform as the wider infrastructure.

Why the Project Matters

Not every useful project needs a business case.

Some projects are valuable because they bring technology into everyday life in a simple and enjoyable way.

01

A shared family project

The project gave my wife and me a new way to notice and discuss the wildlife visiting our garden.

02

Technology with a purpose

The technical work was driven by a clear personal outcome rather than adding another service for its own sake.

03

A reason to look outside

A detection on the screen often encourages us to look into the garden and see whether we can spot the bird ourselves.

04

Continual discovery

The system can reveal visitors that may otherwise go unnoticed, particularly early in the morning.

Technical Value

A specialist workload within the wider platform.

BirdNET-Go differs from most other applications in the Engineering Lab because it depends on physical audio hardware and continuous real-time processing.

This made it a useful test of hardware research, Docker device access, Linux permissions, ALSA configuration, resource management and application-specific monitoring.

It also demonstrated that the wider observability platform could support a specialist machine-learning workload rather than only standard infrastructure services.

Skills Demonstrated

Wildlife curiosity supported by technical investigation.

01Requirements research
02Hardware selection
03Linux audio and ALSA
04USB device troubleshooting
05Docker device mapping
06Docker Compose
07BirdNET-Go
08Application configuration
09Prometheus exporters
10Grafana dashboards
11Log investigation
12Machine-learning workload support

Lessons Learned

The best projects often begin with a simple question.

User value can be straightforward. In this case, the goal was helping my wife see which birds visit our garden.

Hardware selection should be treated as an engineering decision. The microphone needed to meet functional, compatibility and cost requirements before the rest of the system could succeed.

Hardware integration introduces a different class of troubleshooting from purely software-based containers.

Machine-learning applications require tuning and interpretation. Receiving audio does not automatically mean useful detections will be produced.

Most importantly, a project is more enjoyable when the technology remains connected to the reason it was created.

Garden Monitoring

Listening for our next visitor.

The system continues to provide a small window into the wildlife around our home while contributing a distinctive real-world workload to the Engineering Lab.