Set up BirdNET-Pi on a Raspberry Pi Zero 2 W
The goal of these instructions is to make it trivially easy to get a new BirdNET-Pi installation up and running on a Raspberry Pi Zero 2 W. The instructions are intentionally verbose, written for folks who use computers but donât necessarily consider themselves programmers, as well as for anyone who has never worked with a Raspberry Pi before. If you fit this description but find that the instructions fall short, please let me know! Also, I hope you have fun with it.
One-time setup
Here are the tasks weâll be stepping through:
- 0: Acquire components —
- 1: Initial Raspberry Pi Zero 2 W set up —
- 2: SSH timeâtalk to the Pi —
- 3: BirdNET-Pi application installation —
- 4: Configure the BirdNET-Pi application —
- Optional:
- 7: Physical installation —
- 8: Website exploration —
While it may look like thereâs a lot here, it is a straight-forward âa lot,â without implicit steps that require leaving this page. Donât be nervousâyouâve got this!
Also: I ran this setup from my personal computer, which happens to be a Mac. If youâre on a Windows machine the screenshots might not exactly match what you see, but the steps are the same.
Task 0: Acquire components
Here are the items youâll need, with prices at time of writing:
-
Raspberry Pi Zero 2 W [ Adafruit, $19 |
MicroCenter, $18]
- With or without headers, it doesnât matter; we wonât use them.
-
USB lavalier microphone [ Amazon, $19 plus
USB 2.0-to-micro adapter, $5]
- The microphone will plug into a micro USB port on the Pi; if you get a different mic than this one, double-check the plug or get an adapter for it.
-
Power adapter, 5V 2.5A or 3A, Micro USB [
MicroCenter, $12 |
Amazon, $12
]
- The power adapter will connect to a micro USB port on the Pi; if you buy a different adapter than this one, double-check the plug or get an adapter for it.
- You could alternatively use a rechargable power brick instead of a wall wart, although youâd have to remember to charge it (and wouldnât be detecting birds during rechargingâŠ).
-
SanDisk 64GB Extreme microSDXC (64GB) [
MicroCenter, $17 for two |
Amazon, $12 ]
- You could probably get away with less memory, but donât skimp and get an off-brand card; this is the component that actually matters.1
-
Access to an SD card writer [ MicroCenter, $18 ], if there
isnât one already built into your computer.
- The step that requires an SD card writer is relatively brief and first on the list, so you could easily get away with borrowing a friendâs rather than buying your ownâespecially if you set up a BirdNET-Pi for them while youâre at it!
Total cost: ~$65, not including the SD card writer.
Task 1: Initial Raspberry Pi Zero 2 W set up
In this task, weâll install an operating system (OS) on the Raspberry Pi Zero 2 W, by loading it onto the microSD card.
-
Plug the SD card writer into your computer, and put the microSD card into it.
-
Install the Raspberry Pi Imager application on your computer, by selecting the correct âDownload for Windows/macOSâ option on this page: Raspberry Pi Imager
-
Open the Raspberry Pi Imager application, and make the following selections:
- Raspberry Pi Device: Raspberry Pi Zero 2 W
-
Operating System: Raspberry Pi OS Lite (64-bit), âA port of Debian Bookworm with no desktop environmentâ.
- This option may be nested under the âRaspberry Pi OS (other)â folder and require a little bit of searching.
- Storage: Generic - SD/MicroSD Media, which is the microSD card thatâs currently in the writer
Your resultant selection screen should look like this:
âŠselect
NEXT
! -
Youâll be prompted to optionally âApply OS customization settings?â Select
EDIT SETTINGS
and then on the following page, set:
-
Hostname:
birdnet-<pi_identifier>
,-
This will be the name of the Raspberry Pi, e.g.,
birdnet-foo
,birdnet-backyard
,birdnet-007
, whatever! The identifier I chose in these screenshots ishannex
, such that my full hostname isbirdnet-hannex
. - Make it something unique enough that if you set up multiple birdnets, youâll be able to keep them separate. I typically use the initials of the recipient.
-
Note that the angle brackets (â<â, â>â) here and elsewhere in this tutorial should not be included in your chosen
<pi_identifier>
; they are simply convention used to indicate the user-specific parts of variables.
-
This will be the name of the Raspberry Pi, e.g.,
-
Username and password:
<pi_username>
/<pi_password>
-
This will be the username and password for the Raspberry Pi. I use
birbwatcher
as the username for all of mine, so thatâs what youâll see in my screenshots. Make sure to write these values down somewhere, as youâll need them whenever you want to log into your Pi!
-
This will be the username and password for the Raspberry Pi. I use
-
Configure wireless LAN:
<your_current_wifi_network_name>
/<your_current_wifi_network_password>
- Important note 1: This must be the Wi-Fi network name (âSSIDâ) and password for the Wi-Fi network your computer is currently using, and that youâll be using for the rest of the Pi setup. If youâre setting this device up for someone else, thereâll be a separate step to additionally add their Wi-Fi network info later; for now, this should be yours.
- Important note 2: If you have a 5 GHz option network (e.g.,
MyFunWifiNetwork
andMyFunWifiNetwork_5G
, do NOT use the 5G one! At time of writing, Raspberry Pi Zero 2 Wâs do not support it.)
- Make sure the time zone is correct for wherever your BirdNET-Pi will be installed.
-
Under the
SERVICES
tab, confirm thatenable SSH
anduse password authentication
are both selectedâthey likely already are, by default.
âŠselect
SAVE
! -
Hostname:
-
Youâll be reprompted to âApply OS customization settings?â This time select
YES
. You might get a scary-looking message asking you to confirm that any existing data on the card will be overwritten; selectYES
to continue. If prompted for a password, use the password for the computer youâre running the configuration fromânot any of the passwords weâve now set for the Pi.The Raspberry Pi Imager will now proceed to write the operating system and configuration settings to your microSD card! It may take a few minutes, but the progress bar will tell you when its done, and the microSD card will be automatically disconnected from your computer (âejectedâ) once the writing is complete. At that point it will be safe to remove the card from the writer.
Remove the microSD card from the writer and put it into the microSD card slot in the Raspberry Pi 2 Zero W.
-
Connect the power cable to one of the Piâs micro USB ports, and plug its other end into the wall. Once powered, the Pi will turn on automatically; youâll know the Pi is on because a green light will start flashing on the Pi. This may take a few moments.

Congratulations, youâve now installed the operating system on your Pi! When the Pi boots up, it will automatically use the Wi-Fi credentials you provided to connect to your wireless network. We canâand will!âdo the rest of the setup wirelessly.
Task 2: SSH timeâtalk to the Pi
In this task, weâll âSSH onto the Piâ, i.e., send commands to it from another computer. It is barely worthy of its own section in this tutorial, but giving it one should make it easier to find again when your future self inevitably forgets the single command. :D
Why do we do this? In the previous task we chose the âLiteâ operating system for our Pi, which means we configured the Pi to run in âheadlessâ modeâi.e., without a dedicated monitor, keyboard, or mouse. To interact with the Pi in the absence of those peripherals, we connect to it remotely over a wireless network, using a communication protocol called the Secure Shell Protocol (SSH).
Once your Pi is powered on, as long as your personal computer is on the same Wi-Fi network you configured the Pi to connect to, youâll be able to SSH onto it from your personal computer. (Iâve put that bit in bold because it is mission critical!)
When a step says ârunâ, that means to type or copy the given text into the terminal and then hit the
Enter
orReturn
key.
-
SSH onto the device: on your personal computer, open up a terminal application. If youâre on a Mac, this is literally called Terminal; on Windows itâs called Windows Terminal. Run
ssh <pi_username>@birdnet-<pi_identifier>.local
To SSH onto the device I configured in the earlier screenshots, I do
ssh birbwatcher@birdnet-hannex.local
: -
If prompted to continue connecting, type
yes
and hitenter
.- If you just hit
enter
without typingyes
, you will not be connected, and it might get confusing. Try step 1 again, and this time typeyes
at the prompt!
- If you just hit
-
When prompted for a password, type the
<pi_password>
from above (without the angle brackets!!) and hitenter
.
âŠthatâs it, youâre on! Any commands you type into this terminal window will now be running on your Raspberry Pi. đź If you want to close the SSH connection? Simply type exit
and hit enter
, or close
the terminalâs application window by clicking on the X in the corner of the window.
If your SSH connection drops at any timeâyour internet chokes, you decide itâs bedtime and want to finish another day, you accidentally close your terminal window, you intentionally close your terminal windowâsimply SSH back on again.
Click for more details on understanding to which machine youâre sending terminal commands
In the terminal window, how can you tell which machine youâre sending commands to? How can you tell if your SSH connection is running or has dropped?
-
Look at the start of each line: when youâre on the Pi, the âpromptââthe default text at the start of a line in your terminalâwill be
<pi_username>@birdnet-<pi_identifier>
. When youâre on your personal machine, it will be something elseâprobably the name of your computer unless youâve customized it to look different.In this screenshot, my local prompt is the path to my working directory (â~â) in a blue arrow, while the prompt on the Pi is the white
birdnet-hannex:~/BirdNET-Pi$
. The text styling will likely be different in your terminal, but the concept is the same.You can try out typing the same series of prompts as I did in this screenshotâanything on the blue or white linesâand you should see similar if not identical responses on your machines.
Task 3: BirdNET-Pi application installation
Okay. Youâve set up the Pi, youâve sshâd onto the Piâitâs time to add the âBirdNETâ part of BirdNET-Pi!
In this task, weâll download and run the installer for the BirdNET-Pi application and then change some of the Piâs configuration for storage limits, restart behavior, and logging. Some of the following is going to seem a little silly, but it works. ÂŻ\_(ă)_/ÂŻ Bear with me!
If youâre prompted for a password at any point in this task, use the
<pi_password>
you set previously.
-
In your remote terminalâthat is, a terminal window in which youâve SSHâd onto your Piârun
sudo nano /etc/rc.local
This will create a new file at path
/etc/rc.local
and open it in a program called nano, which is a text editor that runs in the terminal.Using your arrow keys and keyboard as with a regular text editor, Edit the file so its contents are exactly as follows:
#!/bin/sh -e iw wlan0 set power_save off exit 0
To do this you can either type these contents in manually, or copy and paste the contents using
ctrl+c
/ctrl+v
commands, as with any other text editor.To exit this file, press
ctrl
andx
at the same time; theny
to save the modifications, thenenter
to select the path you originally opened as the save path. You will then be returned back to your command prompt.-
Want to confirm that you wrote and saved the correct content to this file? Run
cat /etc/rc.local
to display the file contents in the terminal. If the displayed content matches the text above, youâre good to goâif it doesnât, simply do
sudo nano /etc/rc.local
to reopen the file in your editor and try again!
-
-
To make the file you just created executable, i.e., to enable the computer to run it, run
sudo chmod u+x /etc/rc.local
in the terminal.
-
To update the Piâs swap space limits, run
sudo nano /etc/dphys-swapfile
to open the file
/etc/dphys-swapfile
in nano.-
Use the down arrow to scroll through the file to the line that says
CONF_SWAPSIZE=512
and edit it to beCONF_SWAPSIZE=2048
-
Scroll down to the line that reads
#CONF_MAXSWAP=2048
and edit it to beCONF_MAXSWAP=4096
(Note the lack of#
at the beginning of the line!!).
Your resultant file should look like this:
A
#
at the start of the line means that the line is commented outâwhich means that the changes on that line will be ignored. We do not want them to be ignored, hence deleting the relevant#
!To save the changes, press
ctrl
andx
together, theny
, followed byenter
; once again youâll be returned to the terminal. -
-
In the terminal, run
sudo reboot
. This will cause the Pi toâyou guessed itâreboot, which will automatically close your SSH connection. -
Wait for a moment or two for the Pi to reboot, then SSH back onto it:
ssh <pi_username>@birdnet-<pi_identifier>.local
(Look familiar? :) )
-
Okay, this is the bit that is going to feel silly. Just go with it. In your remote terminal, start the BirdNET-Pi installation script by running
curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash
A bunch of text will print out to the screen, as various files and dependencies are copied onto the Pi. You donât have to pay attention to that textâyou just have to wait and wait, until the installation fails. This may take a long time, on the order of tens of minutes.
Thatâs right: eventually, the installation script you just ran will fail(!) with a âNo space left on deviceâ error. Thatâs expected! You want it to happen!2
-
Okay, letâs fix the out-of-space error. Run the following:
sudo mount -o remount,size=5G /tmp/
-
Now re-run the installation step, first deleting the failed installation directory:
rm -rf BirdNET-Pi/ curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash
This step is slow, as lots of things happen during installation. Be patient!
This time the installation script should succeed. Youâll know it has succeeded because the Pi will reboot, which will close your SSH connection.
If it does NOT succeed, i.e., you still get a failure message when you run that
curl
command, repeat the commands in this step. Try this a couple times before giving up and emailing me that my instructions did not work for you!3 -
SSH back on to your Pi again! I bet you remember the command this time.
You can also probably use the up-arrows in your terminal to page back through the previous terminal command history, which at this point definitely contains your SSH command! You can hit
enter
on any item in the command history to rerun it. -
Now edit the amount of storage space the system logs are allowed to use: run
sudo nano /etc/systemd/journald.conf
which will dump you into yet another file in your text editor!
Use the arrow keys to scroll down to the line that says
#SystemMaxUse=
and remove the#
to change the line to beSystemMaxUse=200M
and then save the file:
ctrl+x
,Y
,enter
. Youâre now a pro at this in-terminal text editor stuff! -
Restart the logging with those new settings by running
sudo systemctl restart systemd-journald
Congrats! Youâve now installed the BirdNET-Pi application! đŠâ⏠The finicky part is over.
Task 4: Configure the BirdNET-Pi application
The BirdNET-Pi application consists of two components: a classification pipeline that constantly analyzes recorded audio for bird sounds, and a small web server that hosts a website that visualizes those detections. The website also lets users (you!) configure the applicationâs various settings. Thatâs what weâll be doing in this task.
For the following steps, use whatever browser on your computer you preferâChrome, Firefox, whatever. Note that the BirdNET-Pi website will be slow to load and respond, which is to be expected: remember that it is being run on your Raspberry Pi! Have patience, and donât click around excessively in frustration if things are moving more slowly than youâd likeâthatâll just make things worse.
-
In your browser of choice, go to the website
http://birdnet-<pi_identifier>.local/
For my installation, thatâs
http://birdnet-hannex.local/
.This URL will only succeed (i.e. the page will load) if you are visiting it from a machine on the same Wi-Fi network that your Pi is currently connected to!
You should see something like this:
In the future, once youâve detected some birds, this same page will look more like this:
-
Select the
Tools
tab. (You may need to make your browser window wider or click the button with the horizontal black lines to make the toolbar visible.) When prompted for a username and password, usebirdnet
as the username and leave the password empty.- These are the default credentials of the BirdNET-Pi application, as defined in the installation script we just ran, rather than any of the credentials we configured previously for the Pi itself. If you want to change this default, you can do that on the Settings page. (I havenât bothered to change mine yet, because I trust the folks who have access to my Wi-Fi network to not mess with my BirdNET-Pi settings.)
-
In
Tools > Services
:-
Click
Disable
inLive Audio Stream
.This step optionalâyou could leave it enabled. I disable mine for two reasons:
- I donât want the ability to hear the recorded audio stream live, so it is a waste of compute power to leave it on and possibly slow everything else down; and
- This âfeatureâ makes it too easy to accidentally wander into a privacy violation.
-
Click
Disable
inStreamlit Statistics
.This service powers the Species Stats tab, which involves making some additionally summary and analysis plots, but is unusably slow on the Raspberry Pi Zero. Might as well turn it off, since we canât use it!
For both these services, be sure to select
Disable
instead ofStop
; the former will persist after reboot, the latter will only halt the service until reboot.It may take a few seconds to a minute for each setting to update after youâve clicked its button; thatâs to be expected! Your Pi is working very hard to analyze birds and handle website requests at the same time. Have patience! If youâre taken to a different screen with a black terminal on it, just go back to
Tools > Services
to confirm that those services are now disabled. It should look like this once complete: -
-
In
Tools > Settings
, update latitude and longitude to that of your planned installation location, then selectUpdate settings
.You can use this site or in Google Maps, right click on a location to see its latitude and longitude:
Make sure to choose relatively accurate settings here; I think the species detection is influenced by the geographic location from which the recordings are made.
-
In
Tools > Settings > Advanced Settings
âfound at the bottom of the basicTools > Settings
pageâset:-
Privacy threshold
to1%
; -
Recording Length
to30
then select
Update settings
. It might take awhile for the advanced settings page to open; again, have patience. -
Task 5 (Optional): Install Tailscale for remote monitoring
If youâre gifting this BirdNET-Pi to someone else who wants you to act as tech support for their installation, or you want to be able to check on your own installation while youâre not connected to your home Wi-Fi network, you can add your Pi to a Tailscale networkâbasically, it acts as a virtual private network for your various devices. This is an optional task!
Click to see instructions
-
Sign up for a Tailscale account, if you donât already have one.
You do not need to do anything other than choose (or make) an account to sign in with. You donât need to bother following their steps to âadd a first deviceâ unless you want to, you can do it later.
-
In your terminal, SSH onto the Pi and install Tailscale by running
sudo apt-get install apt-transport-https curl -fsSL https://pkgs.tailscale.com/stable/raspbian/bullseye.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg > /dev/null curl -fsSL https://pkgs.tailscale.com/stable/raspbian/bullseye.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list sudo apt-get update sudo apt-get install tailscale
(If prompted, type
Y
and enter to confirm installation.) -
To connect your Pi to your Tailscale network, run
sudo tailscale up
This will result in a prompt with a URL link to click. Follow that link by
command
-clicking it or pasting it into your browser! It will ask you to agree to connect this new device to your Tailscale network; follow through with whatever verification steps it asks you to do.Note that if you want to connect the device to someone elseâs Tailscale network, youâll need to send them the generated URL and have them authorize it with their own Tailscale account.
-
Your Pi should now show up on your Tailscale console.
-
If you wonât have easy access to the device in the future, consider setting
... > Disable key expiry
on that Pi in the Tailscale web console. -
Optional: If this is your first time using Tailscale, youâll need to additionally install it on whatever device you plan to use to access the BirdNET-Piâe.g., I have it installed on both my personal computer and my phone. Steps for these different devices are available in their documentation.
-
Now, from any device on your Tailscale network, you can SSH onto your Pi through that network, and no longer need to be on the same wireless network! Try this by opening a new Terminal window and running
ssh <pi_username>@birdnet-<pi_identifier>
Note the lack of
.local
at the end of the host name! E.g. over Tailscale I now dossh birbwatcher@birdnet-hannex
instead ofssh birbwatcher@birdnet-hannex.local
. -
Similarly, you can view the Piâs website via your Tailscale network, so that you no longer have to be on the same wireless network as the Pi! Youâll still need to do this from a machine that is part of your Tailscale networkâthis url wonât work from a machine that isnât, i.e., you canât just give the URL to a friend and expect it to work.
Find the Piâs URL in your Tailscale console. E.g., for my device, the console shows its address as
so I access mine at
http://birdnet-hannex.feist-matrix.ts.net/
. If you go to that address, you will not be able to see anythingâbecause you are not part of my Tailscale network.
Thatâs it!
While SSHâd onto the Pi, you can do sudo tailscale down
to disconnect it from the VPN, or sudo tailscale up
to reconnect. (tailscale status
will tell you whether you are currently connected
or not.)
If you are giving the Pi to someone else, and only want it to be available on your Tailscale network when they specifically enables itâand they are willing and able to interact with a terminal themselves!âyou can
sudo tailscale down
for now, and then give them instructions to SSH on and do a sudo tailscale up
when needed.
Task 6 (Optional): Support additional Wi-Fi networks
Want to configure your Pi to connect to additional Wi-Fi networks? When I set up a BirdNET-Pi for someone else, I want it to recognize my home network during setup, and for quality checking before I send it off(!), but I also want it to auto-connect to the network of its recipient. Similarly, you could configure your Pi to connect to your phoneâs hotspot, so that you can take it with you on various outdoor adventures.4 5 This is an optional task!
Click to see instructions
For each additional network you want to add, paste the following:
-
Type the following:
sudo nmcli connection add \ type wifi \ wifi.ssid "<NETWORK-NAME>" \ wifi-sec.key-mgmt wpa-psk \ wifi-sec.psk "<NETWORK-PASSWORD>" \ connection.id "wifi-<NETWORK-NAME>"
e.g., for a network named
SuperBoringNetwork381
with passwordreallysecurepassword
:sudo nmcli connection add \ type wifi \ wifi.ssid "SuperBoringNetwork381" \ wifi-sec.key-mgmt wpa-psk \ wifi-sec.psk "reallysecurepassword" \ connection.id "wifi-SuperBoringNetwork381"
-
Reload the configuration:
sudo nmcli connection reload
-
âŠthatâs it! You can check to see what networks are now set up with
nmcli connection show
which will show a list of all the networks youâve configured. To look at the specifics of a specific network youâve set up, do
nmcli connection show "wifi-<NETWORK-NAME>"
Task 7: Physical installation
Time to stick that microphone out a window!
While you could just unplug your Pi, itâs safer for the Pi to intentionally power it down firstâless chance of something going wrong!6 While
SSHâd onto the Pi, do sudo shutdown
.
Now go find a window, and stick your microphone out it! Youâll need to choose a window near a power outlet. Once the microphone is in the great outdoorsâideally, somewhere where youâve heard at least one bird recently!âplug it into the second micro-USB port on the Pi. Plug the Pi into the outlet, and wait! In your choice of microphone location, be mindful of whether anything will get wet if it rains (bad!), especially if that thing is the Pi (very very bad! do not do this).
Here are some photos of my own setup, for inspiration. Youâll note that it is sophisticated and bespoke, perfectly tailored to its environs.


Once powered, both the analysis service and web server will start right away, and the Pi will autoconnect to the Wi-Fi network for which you configured it. This means that you will be able to see the BirdNET-Pi website that your Pi
is serving by going to the address birdnet-<pi_identifier>.local
in a web browser on another deviceâphone, laptopâthat is connected to the same Wi-Fi network!
Optional niceties:
- Put up a sign in your home with a link to the site, to show visitors how to connect to your Wi-Fi and then view your birds
- If you have an old display of some sort, you can set up a semi-permanent viewing station. My parents mounted an old iPad near the window with their (first đ ) BirdNET installation, and set its default landing page to view their BirdNET-Pi detections.7

Task 8: Website exploration
Youâre basically done; this task is merely an âacquaint yourself with the web applicationâ stretch goal!
Click around your siteâbirdnet-<pi_identifier>.local
âto explore whatâs visible to you; note that the âLive Audioâ and âSpecies Statsâ links wonât show anything, since we disabled those services earlier. The page
may be a bit slow to loadâremember that this site is being served entirely from that little Raspberry Pi Zero you just set up, and in addition to making the website youâre trying to view, it is also constantly recording and
analyzing sound. Itâs doing the best it can.8
Until your Pi has detected a few birds, your website will seem pretty boring and sparse. But not for long! Leave the microphone plugged in for a bit and then recheck your site.
Also, remember that once your BirdNET-Pi is up and running, anyone connected to your home Wi-Fi network (and only folks connected to your home Wi-Fi network) can view your latest birds at that same
birdnet-<pi_identifier>.local
URL!
If you set up Tailscale, youâll be able to visit your site on any other device connected to your Tailscale network. To figure out the URL through which to do this, go to your Tailscale dashboard and copy the machineâs IP address
into your browser. If you feel that a string of numbers isnât quite pleasing enough for you, you can click the arrow next to the IP address to access a human-readable domain address, which will look something like
birdnet-<pi_identifier>.<random>-<words>.ts.net
.
Daily usage: System administration details
Your BirdNET-Pi is now running! Awesome! Congrats!
Here is a list of things worth knowing, in no particular order:
- When powered, your Pi will automatically record audio and analyze it for bird calls.
- When powered, your Pi will automatically attempt to connect to its configured Wi-Fi network.
-
If the BirdNET-Pi cannot connect to the Wi-Fi network (the network is not available for whatever reason), it will still record and analyze audio.
- While you wonât be able to connect to itâi.e., see the website for your installationâuntil your Pi has Wi-Fi connectivity again, you wonât have missed any detections in the meantime.
- The website run on BirdNET-Piâs does not need Internet connectivity. If your Wi-Fi router is running, youâll be able to see your Piâs website, regardless of whether your router is connected to the internet or not.
-
Once the Pi begins to run out of storage space, which wonât happen for a long time,9 the oldest recordings will be deleted to make space for newer
recordings.
- If you care about this, you can preempt this loss by periodically moving older recordings off the device to a different storage location.
- The database records of those recordings will not be deleted, just the recordingsâso you may not care about preserving them, as you will still have a record of the detections and their times and species, etc.
UhâŠbut what if something goes wrong?
If you are ever unable to load your Piâs website from another device, or SSH onto it, check the following (in roughly this order):
- Is the Pi plugged into power? If so, its green light will be flashing.
- Is the Pi able to access the wireless network it was configured to run on? i.e., is that network accessible and can you connect to it with another device (i.e., your phone, a laptop, etc)?
-
(If you arenât running Tailscale) Is the device youâre trying to view the website from connected to the same network as the BirdNET-Pi? In my experience, this is the most common failure mode!
- If you arenât on the same network, the website wonât be viewable. Double-check that the viewing device isnât inadvertently connected to the
_5G
variant of your Wi-Fi network. - Also think about whether you configured your Pi to connect to multiple networks. If you did, are they both accessible to the Pi? If so, make sure you try both networks from your viewing device.
- If you arenât on the same network, the website wonât be viewable. Double-check that the viewing device isnât inadvertently connected to the
-
(If you are running Tailscale) Does the device youâre trying to view the website from have Tailscale enabled, and is it part of the same network that the Pi was added to? Double-check that youâre
attempting to connect to the applicationâs
.ts.net
URL rather than the.local
URL. - Can you connect to the Pi via SSH? If the Pi is powered and connected to the Wi-Fi, this will be possible.
If you set up a BirdNET-Pi for someone else, and discover once in their space that you set up their Wi-Fi password incorrectly (or forgot to set it up at all!), never fear! Update the name of your phone and the password of its
hotspot to mirror that of the Wi-Fi network you first used to set up the Pi. Then, once youâve tricked the Pi into connecting to your phone connected to the Pi through your hotspot, update the Pi with the correct
configuration for the new Wi-Fi network.10
Finally
We have now left the happy harbor of this basic installation document. If youâre running into further issues, search around in some of the issues and discussion in the BirdNET-Pi GitHub repository, or message me, or both.
Oh, one last thing: itâs probably a good idea to copy your database off the Pi periodically! I donât do this yet, but I should, because if the SD card dies thereâs no way to recover your data. Thereâs a âbackupâ button somewhere in the website, perhaps buried in the settings page, which will save everything (database, recordings) onto your local machine. If I end up doing something different than that in the future, Iâll update here accordingly.
If you use these instructionsâor they otherwise inspire you to set up a BirdNET-Pi of your ownâplease let me know! If anything is unclear or broken, please tell me.11 If you know me in real life and want assistance or company while you run through a set up, or just want me to just set one up for you, let me know. Iâd love to help!
Thanks to AF for all the things: assistance in editing for clarity and comprehension, doing a run-through of the instructions to make sure they work (they did! she set up a BirdNET-Pi!), and kindly prodding me into finally posting this guide. It had only been sitting in draft form for six months, after all⊠And additional thanks to my mom for âthe final gooseâ (her words!) to get this published.
Footnotes
-
Fun fact, SD card choice really matters if youâre working with infrasound, e.g., if youâre detecting bat sounds rather than bird soundsâsome brands of SD card generate a hum at the same frequency as bats. The more you know!â©ïž
-
The installer was designed for the non-âPi Zeroâ Raspberry Pi computer, which has more space.â©ïž
-
:) In AFâs run-through of these instructions, it succeeded on the third try. On my several run-throughs, I didnât need those additional retries. ÂŻ\_(ă)_/ÂŻ What can I say, computer is mistaek.â©ïž
-
Simply replace the wall plug with a portable USB battery pack, and hey presto, off you go!â©ïž
-
Note that if your phoneâs name (and therefore your hotspot name) is anything other than alphanumeric, these instructions may not work. Ask me and my phone named
đđđ
how I figured this one out, and how long I struggled before giving up. đ â©ïž -
Do as I say, not as I doâI generally just unplug it. YMMV!â©ïž
-
With the visualization installation, the BirdNET went from being a background afterthought of being an active obsessionâwhen an issue with logging brought down their installation last year they seemingly went into bird-monitoring withdrawal while I worked to get it running again.â©ïž
-
Just like the rest of us.â©ïž
-
This wonât happen for a long time unless youâre somewhere where the birds yell constantly and you have a smaller SD card than the one recommended above.â©ïž
-
Ask me how I figured this one out. đâ©ïž
-
I am worried that if something goes wrong while someone is trying these instructions, and they are new to this type of computer work, that they will assume the fault is theirs and then be disinclined to try similar projects in the future. The fault is not yours! The fault is nobodyâs! But also, maybe there are ways I could clarify the instructions to help unstick you, or maybe something about one of these dependencies changed and the instructions legitimately do not work anymore. I want to know about it, in either case!! Please tell me, and please do not assume the problem is on your end.â©ïž
- Created: 2025-10-2
- Type: tutorial
- Tags: birb-creeping, ecoacoustics, hardware, community, houseplant-programming, passive-acoustic-monitoring