Setting Up BirdNET-Pi on a Raspberry Pi Zero 2W: Lessons, Fixes, and Eventual Success

When I first heard about BirdNET-Pi, I knew I wanted to give it a try — a way to automatically detect and identify bird species from my backyard using a simple Raspberry Pi without shelling out several hundred dollars for a dedicated device seemed like a good idea.

I decided to set up BirdNET-Pi on a Raspberry Pi Zero 2W, thinking it would be a relatively straightforward process. While it was a rewarding project, it also came with a few unexpected challenges, from tricky WiFi issues to microphone compatibility problems.

I wanted to share my experience: the hardware I used, the resources that helped, the obstacles I hit (and how I solved them), and some tips to make your own setup a little smoother – other people’s posts and forum threads were so helpful, I hope that someone is able to make their setup a little bit smoother from mine own small contribution.


Hardware Used


Software & Key Resources


Initial Setup and Obstacles

WiFi Challenges

  • Raspberry Pi Zero 2W doesn’t work reliably with 5GHz WiFi.
  • Setting WiFi via editing wpa_supplicant.conf after imaging didn’t work — had to reimage with correct 2.4GHz settings baked into the image.
    • Note: I have had some success with this – when I’ve had connection issues (twice over about a week), I turned on the hotspot on my phone, edited the wpa_supplicant.conf file to match the hotspot, rebooted the pi and it worked…then edited the file again back to the main router WiFi, rebooted…and it worked. I can’t explain why.
      • This doesn’t take long, so if you think you need to reimage the SD card just do it.
  • Additional router setting tweak: Set 2.4GHz WiFi mode to N only (not b/g/n mixed).
    • Note: I changed back to b/g/n mixed after a day or so and it ran fine, until it didn’t and I had to switch it back while testing my hotspot (see above).

Imaging and OS

  • Selected an older, stable version of Pi OS (Bullseye) rather than the newest (because some reports mentioned issues with BirdNET-Pi installs).
  • Make sure you’re selecting a 64-bit image – needed for BirdNET-Pi
  • Be sure to click through the tabs before imaging and set the username, password, and enable SSH.

Installation and First Boot

  • Installation of BirdNET-Pi after flashing SD card took ~30–45 minutes.
  • Needed a reboot after install.
  • Logging in via birdnetpi1.local (default login birdnet, no password).

Microphone Issues and Solutions


Software Tweaks and Key Fixes

  • Strange bird results (wrong continents):
    • Double-checked Latitude and Longitude settings (were correct).
    • Switched BirdNET model to a newer version (older model gave bad results).
    • I wasn’t able to connect via the browser given the stock setup (birdnetpi1.local) after a day or two…I’ve since connected directly via the IP address.
      • If you’re not sure what your IP is, try looking in your router – it should identify as “birdnetpi” under device name. I’ve also seen some forum posts about issues with a hostname ending in a number which would make “birdnet1” problematic.
BirdNET model selection in Tools->Settings
  • Recording settings:
    • Changed recording length from 15s to 30s.
    • Matched extraction length to 30s.
  • Privacy settings:
    • Lowered privacy threshold to 1% to allow more identifications.

Additional / Future Items

  • I noticed that it seemed to be running slow (backlog of analysis) and got some help from handy ChatGPT to create a Crontab job to record the pi CPU core temperature. Sure enough it was getting close enough to throttling temps (80C I believe) at times during load spikes that I decided to look for a way to increase cooling.
    • Using what I had, I drilled some holes in the plastic case and am testing a 30mm fan connected to the 5V power pins. So far, very good results.
  • I’d like to find/make a better case that actually holds the fan (fan is virtually silent)
    • Perhaps including the ability to turn it off and on only when a threshold temp is reached (say, 60C). That is not possible directly from the power pins, and would need a 3rd party board, or some wiring + transistor/resistor, I believe.

Leave a Reply