Welcome to the BirdBox project! This guide is designed to assist you in building a real-time acoustic bird identification station using BirdNET Pi and a Raspberry Pi.
The following materials are suggested for the BirdBox project:
- Raspberry Pi (4B/3B+/0W2): Approved Pi Resellers
- Waterproof Project Box: Example
- MicroSD Card (Not required if booting from SSD): Example
- SSD (Optional, for additional storage or as primary boot drive): Example
- SATA to USB cable (Only required if using SSD): Example
- Heatsink with Fan: Example
- Waterproof/Outdoor Ethernet Connector: Example
- Waterproof/Outdoor USB 3.0 Cable: Example
- USB Microphone: Example
- PoE to USB-C Adapter: Example
Other hardware configurations exist but supporting them is currently beyond the scope of this guide. I suggest checking the BirdNET-Pi repo for information related to other configurations.
-
Install a compatible OS on the boot drive. If using an SSD or other USB boot device, documentation on enabling Raspberry Pi USB boot can be found here. I recommend following the official "Getting Started" guide from raspberrypi.com to install and configure the OS.
- IMPORTANT NOTE: "Raspberry Pi OS (Legacy, 64-bit) Lite" currently must be selected during imaging due to Issue #1055.
- This image uses Debian 11 (bullseye), so other bullseye-based images may also be compatible.
-
Install fans/heatsinks on the Raspberry Pi if using them.
-
Mount the Raspberry Pi onto the backplate of the box.
-
Attach SSD to the backplate alongside Pi if using one.
-
Connect SSD to the Pi using SATA to USB adapter.
-
Plan your layout with all internal hardware and cables, marking positions where needed.
-
Remove all hardware from the box.
-
Install the four included mounting braces on the back of the box.
-
Drill or cut the holes for the USB and Ethernet adapters.
- Using a Forstner bit set for my hand drill I was easily able to cut appropriately sized holes.
-
Install the external USB and Ethernet adapters, managing cables as needed.

-
Install backplate into the box using provided screws.
-
Attach POE adaptor to side of box using double-sided tape or hook and loop tape.
-
Connect external ethernet adapter to the POE adapter.
-
Connect the PoE adapter's Ethernet and USB-C cables to the Raspberry Pi.
-
Close and mount box somewhere you want to record birdsong and have access to POE.

-
Connect POE Ethernet to external port and wait for device to become available over SSH.
-
Connect to the Pi using SSH credentials set during imaging
-
Install BirdNET-Pi software on the micro SD card. Official installation guide here.
WARNING: I do not host the code below. Always verify external code before executing it.
curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/main/newinstaller.sh | bash
-
Web UI
-
Open either "${hostname}.local" or the IP address for your Pi in a browser within the same LAN.
-
Navigate to Tools >> Settings in the BirdNET-Pi UI.
- Model: Strongly recommend "BirdNET_GLOBAL_6K_V2.4_Model_FP16" unless your device is unable to handle it.
- Location and BirdWeather: Set these parameters if you intend to share data publicly with BirdWeather.
- Notifications: Use Apprise to send detection notifications and/or weekly reports.
- Bird Photos from Flickr: Necessary for photos to be associated with detections in the web UI and in push notifications. - Instructions for acquiring a Flickr API key can be found here.
- Localization/Time and Date: Ensure these sections are correct.
- Before leaving the Settings page, make sure to click "Update Settings" at the bottom of the page to save your changes.
-
Click "Advanced Settings" at the bottom of the page.
- Privacy Threshold: Start with 1% and move up as needed.
- Full Disk Behavior: Make sure that "keep" is selected if you don't want data to be deleted when disk is full.
- Audio Settings: Feel free to tweak recording length especially for performance reasons.
- BirdNET-Pi Password: Very important whether you decide to expose your installation to the internet or not.
- Custom URL: Used if you decide to expose your installation under a domain name.
- Options/Custom Image: Small tweaks.
- BirdNET-Lite Settings: Important for setting confidence values for detections.
- Before leaving the Advanced Settings page, make sure to click "Update Settings" at the bottom of the page to save your changes.
-
-
Caddy
- BirdNET-Pi uses Caddy for its webserver. If you find you need to modify the server configuration directly for any reason, the config file is located at /etc/caddy/Caddyfile.
- Official Caddy documentation can be found here.
-
External access
- A guide on this subject can be found in the BirdNET-Pi repo here.
This outdoor system records and analyzes bird sounds for species identification. It also supports live streaming, push notifications, and BirdWeather integration.
Refer to the installation guide for details on joining the BirdWeather network.
This project was inspired by PixCams. Thank you to the wonderful people at Cornell Labs for making BirdNET publicly available. Consider supporting BirdWeather by purchasing their official BirdWeather PUC here.



