Power Management


Getting a BirdNet-Pi up and running is a pretty good accomplishment in itself. However, depending upon what your interests are, there may still be some limitations to overcome. Really good bird habitat tends not to be associated with good WiFi, or electricity for that matter.

How do you deploy a Birdnet-Pi off down in the creek bottom where all the cool birds are - or the pasture to see how grazing practices are influencing bird populations?

There’s only so many extension cords you can stretch out. To begin with you’ll need to have a battery of some sort. Car batteries or those that are built for wildlife feeders that are available at sporting goods stores or farm and ranch stores will work. The first problem you’ll run into though, is that the batteries are 12V and a RPI needs 5V.

This calls for a component known as a buck converter or a step-down converter that will convert a higher voltage to a lower voltage. There are a lot of different ones available that might work. I chose one that was a little more expensive ($5 more) but that is capable of handling a range of input voltages and that has an adjustable output voltage. Previous experience working with RPIs impressed upon me how particular they are about their power source. If the voltage drops to 4.8 or 4.9 V they may crash for no obvious reason. Using a buck converter with adjustable output allows me to fine tune the voltage to eliminate that issue. I set the output voltage to 5.15V so there was a little bit of a cushion as the sound card and mic would both be using some power as well. Another advantage of the converter I selected is that it already had a USB output so I could simply plug the RPI into it.

New problems arise

Now that we’ve solved the voltage issue, how do we deal with heat and how long the batteries last? My first deployment using one of the feeder batteries was pretty disappointing as it only lasted 7 hours before the battery ran down. The log file from a python script I’d written to measure processor temperatures indicated that the RPI was reaching over 150F and it was only May - it wasn’t even hot yet. RPIs start throttling the processor at around 175F. The BirdNET app probably wouldn’t respond well to that sort of thing so any data collection would probably stop, even if the RPI didn’t. Rigging up a fan seemed like it would help with the heat issue but that would just create more drain on the battery.

Thinking things through

I didn’t really need 7 hrs of continuous recording - I needed a couple of hours first thing in the morning when birds are most actively calling. Heat shouldn’t be as much of an issue during that time either.

How do you get an RPI to turn itself on and off automagically?

Your computer or phone has a component called a Real Time Clock (RTC). They left that component off of the RPI to reduce cost and complexity, Most RPIs get to connect to the interwebs and can update their time from there. When you take an RPI to the pasture or woods, that doesn’t happen.

There are a ton of devices called “Hats” that can be added to a RPI to expand the capability - cellular modems, gps, etc.

After installing a Hat with a RTC, the system still wouldn’t last more than one day. Adding an extra feeder battery wired in parallel didn’t help either. The system just consumed too much power even when the RPI wasn’t operating.

Time to break out the solar panel.

I had access to some solar panels (~20W) and charge controllers so I thought I’d give them a try. The system maintained a full charge during the day but wouldn’t last through the night so yet another failure. This is where a reasonable, mentally stable person quits and gets on with their life. Instead, I turned to Google. It turns out that there were some things I could do to reduce power consumption. I’d left the dongles for the wireless mouse and keyboard plugged in - they were using quite a lot of power I’m sure. I could turn off the leds for the Ethernet port as well, that would help. Finally, I considered the buck converter. (Where I should have started.) Step-down voltage converters work by dissipating excess voltage as heat. This could be a problem. While considering the issue it occurred to me that the solar controller had a USB port. USB is always 5.0V so the controller had a built-in converter. Maybe one that was a bit more efficient than the one I was using. Plugging the RPI directly into the solar controller fixed this issue. Removing the inefficient buck converter reduced the power consumption enough to get through the night. At the time of writing the unit has been in operation for 14 days without a hitch. I solved my power issues by removing the inefficient buck converter and using the one built into the solar controller. While the buck converter worked great for testing, it wouldn’t work for the task at hand. Using a larger battery may have solved the issue as well, but I was trying to minimize cost, weight and complexity of the system.

Still to sort out.

The system works great as long as it is located in the open where there is plenty of sunlight. How will it work when I deploy it in the creek bottom in heavy shade most/or all of the day? A bigger battery will certainly help. Can I set the unit some distance away, where sunlight is available, and use a directional mic instead? I don’t know quite how the directional mics behave so there’s some research to be done here.

Will the unit run all day?

When I first set the unit up to record, just to see how it worked and whether it would detect anything, I just ran a long extension out behind the shop. plugged it in to AC, and let it run all day. When looking at the data, it was apparent that different species were active at different times of the day. I hadn’t anticipated seeing that so easily. Now, when I look at the data from the 2 hour recordings, I keep wondering what didn’t get recorded. So, the question becomes, will the unit run all day under the current setup. Along with that comes the issue of heat that I thought I solved by not having the unit active during the middle of the day.