Requirements
You need a computer, a suitable SD card for your Raspberry Pi with the correct operating system (glossary)The fundamental software that manages a computer — e.g. Windows, macOS, Linux, or Raspberry Pi OS. (see Setting up the SD card), and an internet connection.
Installing BirdNET-Pi
-
Insert the SD card into the Raspberry Pi.
-
Connect the Raspberry Pi to power using the power supply. An LED on the Raspberry Pi should light up or blink. It’s best to wait a few minutes so it can boot up.
-
Open the console (glossary)Text-based interface for sending commands directly to the operating system — also called command line or terminal. .
- Connect to the Pi with the following command. Use the credentials you entered earlier.
ssh birder@birdnetpi.localPS C:\Users\Name> ssh birder@birdnetpi.local
The authenticity of host 'birdnetpi.local (2a02:4454:c122:2000:15gc:24b7:f06a:f322)' can't be established.
ED25519 key fingerprint is SHA256:kfRttaVIh+Z/FbSq9g6adalVfIsgvUtk4o.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? If the following message appears:
PS C:\Users\Name> ssh birder@birdnetpi.local
ssh: Could not resolve hostname birdnetpi.local: The specified host is unknown. it means that no connection to your Raspberry Pi could be established.
Check the following points:
- Power: Make sure the Raspberry Pi is switched on, the SD card is inserted correctly, and the status LEDs are blinking or lit.
- Network: Make sure the PC and Raspberry Pi are on the same network - that is, connected to the same Wi-Fi or hotspot. (Make sure the Wi-Fi credentials in Raspberry Pi OS match your current Wi-Fi.)
- Reinstall: If the connection still fails, reinstall Raspberry Pi OS on the SD card and carefully re-enter the Wi-Fi credentials.
- Direct connection: Experienced users can connect a keyboard and screen directly to the Raspberry Pi to check the connection and network settings manually.
Don’t worry, this is normal if you have connected via SSH to a Raspberry Pi with the same name before. Here’s how to fix it:
- Open the file C:\Users\Username.ssh\known_hosts (the exact path is also in the warning) with a text editor.
- Find all lines that begin with birdnetpi.local and delete them. There can be several entries spanning multiple lines.
- If you have never used SSH for other connections, you can also delete the entire contents of the file.
- Save the file, close the editor, and then try the connection again.
- Confirm the connection.
yesAre you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'birdnetpi.local' (ED25529) to the list of known hosts.
Connection closed by 2a02:4454:c122:2000:15gc:24b7:f06a:f322 port 23
birder@birdnetpi.local's password: - A password prompt should then appear. Enter the password stored in the operating system. Note that the input stays invisible while you type. If you are no longer prompted for a password, start over by entering the command from step 4.
birder@birdnetpi.local's password:
Linux birdnetpi 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-01) aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/\*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct 01 00:00:00 2025 from 2a02:4454:c122:2000:15gc:24b7:f06a:f322 -
This step is only for the Raspberry Pi Zero 2 W:
The Raspberry Pi Zero 2 W has too little RAM to install BirdNET-Pi without adjustments. Therefore the so-called swap size has to be increased. It makes sure that, in addition to the physical hardware, part of the SD card is also used as memory. Without this adjustment, BirdNET-Pi cannot be installed on the Zero 2 W. In addition, the Wi-Fi power options have to be adjusted.
sudo sed -i 's/CONF_SWAPSIZE=512/CONF_SWAPSIZE=2048/g' /etc/dphys-swapfile &&
sudo sed -i 's/#CONF_MAXSWAP=2048/CONF_MAXSWAP=4096/g' /etc/dphys-swapfile &&
sudo sed -i '/^exit 0/i sudo iw wlan0 set power_save off' /etc/rc.localIf the installation of BirdNET-Pi on your Raspberry Pi Zero 2 W fails, it could be because the settings were not applied correctly. In that case, check the following points to make sure the adjustments were made correctly.
To make sure the changes were actually applied, you can open the relevant file with the following command.
sudo nano /etc/dphys-swapfileWhat matters is that the lines CONF_SWAPSIZE=2048 and CONF_MAXSWAP=4096 are correct. If not, adjust the numbers.
GNU nano 7.2 /etc/dphys-swapfile # /etc/dphys-swapfile - user settings for dphys-swapfile package
# author Neil Franklin, last modification 2010.05.05
# copyright ETH Zuerich Physics Departement
# use under either modified/non-advertising BSD or GPL license
# this file is sourced with . so full normal sh syntax applies
# the default settings are added as commented out CONF\__=_ lines
# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap
# set size to absolute value, leaving empty (default) then uses computed value# you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=2048
# set size to computed value, this times RAM size, dynamically adapts,
# guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2
# restrict size (computed and absolute!) to maximally this limit
# can be set to empty for no limit, but beware of filled partitions!
# this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun ># but is also sensible on 64bit to prevent filling /var or even / partition
CONF_MAXSWAP=4096
[ Read 26 lines ]
^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify Press Ctrl+X, then y, and finally Enter to save the file.
- To make sure the changes were actually applied, you can open the relevant file with the following command.
sudo nano /etc/rc.local GNU nano 7.2 /etc/rc.local
[ New File ]
^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify If the file is empty, carry out the further steps. If, on the other hand, it looks like step two below, you can close the file again.
- Add the following content:
#!/bin/bash
sudo iw wlan0 set power_save off
exit 0 GNU nano 7.2 /etc/rc.local
#!/bin/bash
sudo iw wlan0 set power_save off
exit 0
[ New File ]
^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify - Press Ctrl+X, then y, and finally Enter to save the file.
Now restart the Raspberry Pi.
sudo rebootThen wait a few minutes until the system has fully started and connected to the Wi-Fi. After that, connect to the Pi via SSH again (see steps 4 and 6).
- With this command you start the installation of BirdNET-Pi. The process can take several minutes - depending on your internet connection and system performance. Leave the terminal open until the installation is completely finished.
curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash