Field Testing – Birdsong Recorder

I started work on building an off-grid bird recorder back in mid-2018. In the last nine months a number of practical issues have been resolved and a series of field tests have been completed with the prototype unit.

We now have a good understanding of the unit’s abilities and constraints. There were failures along the way, some were predictable (disk space) but it’s the ones that surprise you that bring the most benefit downstream. Real-world testing is hard to beat when it comes to building reliable tech solutions for use in the field.


Our bird recorder is built around a Raspberry Pi A+, piJuice Power Control Board, a PS3 Webcam and a big-enough battery.

Artboard 1-0.5x-100

The Pi runs a standard Raspian (Debian-based version of GNU Linux) OS. A mixture of Python scripts, shell scripts and systemd configuration instruct the box to perform a set of tasks on a never-ending cycle. After each cycle, the Pi is completely powered down to extend battery life.

birdrecorder-cycleWhile asleep, a minuscule draw on the battery  maintains the Real-Time Clock Chip on the power-management board. When the wakeup time is reached, the board instructs the Pi to Wake Up (ie. reboot) and the cycle repeats.

In my field tests I put the box out and let it run until it fails. Over all runs only two conditions caused the box to fail:

  1. Disk Full – no more room to store audio data
  2. Flat Battery – not enough power to run the Pi

To stress-test the unit it was programmed on an aggressive 20/20-minute cycle. Record 20m of audio, sleep for 20m, wake up and record again. Repeat until failure.

During these field trials the unit has collected in excess of 30GB of raw audio data. Thats over 40 hours of sound recorded in the forest under all weather conditions.

My design goal for the box is to record 20-minutes of audio 4 times a day at dawn, noon, dusk and midnight for 6 weeks unattended.

Test Results

Test Date # Recordings Data Size Notes
2018-09-28 30 7GB 4-channel 44.1kHz WAV audio files.
10-minute recording every 20 mins
Failed: Out of Disk Space
2019-02-07 170 1.8GB 2-channel 44.1kHz MP3 compressed audio files
10-minute recording every 20 mins
Failed: Battery Power exhausted after 4 days
2019-02-18 31 6.8GB 2-channel 48kHz WAV audio files
20-minute recording every 20 mins
Failed: Out of Disk Space
2019-03-07 30 6.8GB 2-channel 48kHz WAV audio files
20-minute recording every 20 mins
Failed: Out of Disk Space
2019-03-17 115 26.3GB 2-channel 48kHz WAV audio files
20-minute recording every 20 mins
32GB SD-Card
Failed: Battery Power exhausted after 4 days

Initial tests were run with a 8GB SD-Card. Uncompressed WAV audio files consume the disk space fairly quickly. This was a good test of how the box handles a Disk-Full situation.

I experimented with using compressed MP3 and OGG file formats to reduce disk usage, however these have a pronounced effect on the recorded audio with a detectible loss of fidelity around high-frequency peaks in the audio. Another observation was that encoding on the device (via lame, flac, oggenc etc) caused a noticeable reduction in battery life. I decided that while saving disk space, these formats are unsuitable for my use-case.

The final test is where I want to be. With a larger SD-Card I can finally run the box until the battery gives out. The resulting 115 recordings equates to a 28-Day recording capability (at 4 x 20-minute recordings per day). This can be extended using a bigger battery to reach the 6-week design goal.

Next Steps

Having gained confidence in the abilities of the prototype hardware and a good understanding of it’s behaviour under field conditions the next steps are:

  • Enhance the recording scheduler.
    During development the box has run on a fixed schedule – 20 mins recording every 20 mins. The highest concentration of birdsong occurs around Dawn and Dusk each day. These times change each day dependent on Location and Time of Year.
    Enhance the scheduler so it calculates a new Dawn/Dusk time for each day and  adjust the wakeup alarm accordingly
  •  Investigate alternative hardware.
    • The Raspberry Pi is great for my prototyping as it provides a fully functional Linux environment in a small form-factor. It is not however a low-power device and is overkill for the (somewhat) simple task of recording audio. It has no RealTime Clock so requires a daughterboard to provide clock and power management functionality. Alternatives exist (eg. Beaglebone Black) that have these capabilites built-in.
    • Microphones – we used the PS3 Eye Webcam because it is cheap, readily available 2nd hand and has decent recording capabilities via it’s 4-channel microphone array. It is however a USB powered device with some onboard signal processing and the linux drivers for this device do not allow full control over the chipset controlling the microphones.
    • Embedded – stepping down a level and custom building a recorder around embedded components (microprocessor + custom microphone array) should result in tighter control over the device behaviour (recording levels etc) and lower power consumption. A solution built around Arduino could be a good option here.
  • Begin offline processing/analysis of the 30GB of audio data collected to date.
    Refer to this post on how we are Exploring NZ Native Birdsong using Open-source tools.
About the Author

I’m Dave Pugh, founder of The OurTrees Project
My work is based around our 30-acre Native Beech Forest in the West Coast region of New Zealand. Having worked in Software Development for 35+ years my passion is in applying technology solutions to improve measurement, monitoring and management of our native forests.