
Running BirdNET-Pi Off the Power Grid
This document reviews how I set set up a BirdNET-Pi running remotely in the field via a 60,000 mAh USB Power Bank, and communicating sound ID's using email via a Cellular USB Dongle.
Edit to original post: I have now shifted away from running crontab. Both Raspberry-Pi and BirdNET-Pi consumed too much power "at idle". Instead I am using an inexpensive USB timer switch set to "six hours". Unfortunately that requires I "hook everything up" at midnight which starts the "six hour run", but this shuts everything down completely at 6 am each day ... Raspberry-Pi, BirdNET-Pi and my Cellular USB dongle (hooked up to my Pi box). Better yet the USB dongle hooked up directly to my Pi box is perceived at a wired Ethernet connection. Thus, I am able to now turn off my Raspberry-Pi wifi connection and limit this power drain.
Original post continues ...
- Raspberry PI 4b Running Bookworm Graphical 64 bit Interface
- Bluetooth turned off
- Cooling Fan disconnected and off
- Raspberry-Pi Connect installed and activated
- RTC (Real Time Clock) chip installed and activated
You will find instructions on how to install and code a Real Time Clock on this page of my website:
https://www.365daysofbirds.com/2025/10/22/running-birdnet-pi-off-grid-very-remote/
- Program the Raspberry Pi to only run only a certain number of hours per day. The key is to code two crontab statements from the Raspberry Pi Linux prompt which tell the start and stop times for BirdNET-Pi operations (key for limiting power consumption ... I normally run for 4 to 6 hours starting well before sunrise to capture and ID owls, and then right up till sunrise to ID songbirds)
- Whenever I place this system in the field, upon arriving home I remotely login to the Raspberry-Pi computer and turn off BirdNET-Pi. The system will then start up automatically based upon my saved crontab code. Here is the code I use to stop BirdNET-Pi from trying to ID sounds:
cd ~/BirdNET-Pi/scripts/ && ./stop_core_services.sh
- Here is my crontab code: (starts system at 1 am, and stops system at 7 am)
0 01 * * * cd ~/BirdNET-Pi/scripts/ && ./restart_services.sh
0 07 * * * cd ~/BirdNET-Pi/scripts/ && ./stop_core_services.sh
DO NOT trust my code! It works for me, but your Raspberry Pi & BirdNET-Pi system may be configured differently. However my code will ensure you are in the "right ballpark".
- Via Bird-NET Pi settings have the BirdNET-Pi notify via Apprise eMail for only a few selected birds. I tend to select and notify for about 5 species of owls and 6 species of songbirds. I use my GMail account which is easy to use with Apprise notifications
- I do NOT notify for other species of birds, or upload ID's to BridWeather.Com. This would eat up to much power and data communications.
- For communications I use an EIOTClub USB Dongle and EIOT's minimum monthly data level (5gb for $15)
- My Raspberry Pi is connected to the EIOTClub USB's WiFi network
- Both my Raspberry-Pi and EIOTClub Dongle are powered by a 60,000 USB mAh power bank
Most mornings I connect remotely to my BirdNET-Pi and review all the birds which have been ID'd recently ... most species do NOT having notifications sent to me via email. My system is still "new in the field" and I am still tweaking runtime, but it appears the Pi will run about 7 days. My system is protected against the weather by a small plastic electrical box.
I also am running a more robust off the grid BirdNET-Pi via solar array, but that system is much, much more expensive. It is installed at the Hawk Ridge Field Research Station (Duluth, Minnesota) which is a major spring and fall migration spot at the western end of Lake Superior.