ARUPi – A Low-Cost Automated Recording Unit for Soundscape Ecologists
This instructable was written by Anthony Turner. The project was developed with lots of help from the Shed in the School of Computing, University of Kent (Mr Daniel Knox was a great help!).
It will show you how to build an Automated Audio Recording Unit for less than £150. You can use this unit to conduct research in the field of Soundscape Ecology (which is why I built this). You could use it to monitor the birds in your garden or just to make nice recordings of the dawn chorus, without having to get up really early.
The ARUPi (Automated Recording Unit Pi) uses the Raspberry Pi computer and an Arduino-based power-control board called the Sleepy Pi. It is fully customisable and you will be able to add different environmental sensors to the units if you wish (not explained here). This instructable will give you a bare-bones unit. I will provide you with an Arch Linux operating system (OS) that is stripped down and has the recording program pre-installed on it.
You may need to do some (very simple) soldering so be prepared for this, but it is possible to build this unit without soldering if you do not own or cannot afford a soldering iron (ca. £10). I will split this instructable into several steps. The first ## steps will deal with getting the software onto your ARUPi and getting the computer side of things up and running (uploading software to Raspberry Pi and Sleepy Pi). Once you have done this, you will be able to go your own way and decide which microphones and casing you want to use. If you want to make what I have made, then continue with the instructable and it will show you how to build some cheap (but good) microphones and assemble some field-tested, fully waterproof, pretty robust ARUPi’s (pictured).
Step 1: Step 1 Items Needed
NB: for a more detailed list of parts, see note at end of Step 2
1. Raspberry Pi A+ (case optional) – get it from PiMoroni/Ebay/Amazon
2. Sleepy Pi – http://spellfoundry.com/products/sleepy-pi/
3. Sleepy Pi programmer – http://spellfoundry.com/products/sleepy-pi-program…
- This programmer saves a lot of hassle. However, you can build your own for less money if you buy an FTDI 3.3V USB to TTL Arduino Programmer cable/board (http://spellfoundry.com/sleepy-pi/programming-sleepy-pi-standalone-board/). If you are new to programming I recommend buying the Sleepy Pi Programmer.
4. 16GB Kingston Data Traveler Micro (pictured). You need to format the USB drive to NTFS before plugging it into your Raspberry Pi (format USB using Windows Explore – see image). If you decide to use a different make/model/capacity USB storage device, you may need to change some information in the /etc/fstab system files on the ARUPi OS I supply you with. The OS I provide you with mounts the 16GB Kingston Micro DT to sda1 (the kingston Micro DT 64gb usb drive mounts to sda5 – you need to alter these in the fstab folder, but that is included in the instructions a bit later on). Whichever USB drive you go with, make sure you use the same one each time you change it in your completed ARUPi when out in the field – the ARUPi will not automatically recognise a new USB drive.
5. USB soundcard. I chose the Creative Soundblaster Play! because it records 16bit Stereo up to 48KHz. It is also compatible with the Raspberry Pi and doesn’t need any extra drivers – plug and play. However, there are cheaper USB soundcards available so it might be worth investigating.
6. USB splitter. The one pictured works well and is available on Ebay from multiple sellers. It is slightly less bulky than others that are available (but it is still rather big – but it is more bendy so fits inside my waterproof enclosure well).
Step 2: Step 2 – Collect Software
1. Download and install Win32 Disk Imager® software from http://sourceforge.net/projects/win32diskimager/
2. Install Arduino IDE software onto your computer: https://www.arduino.cc/en/Main/Software
3. Collect the operating system and other relevant files from my GoogleDrive Account by following this link:
- The link should take you to a googledrive shared folder I created.
- It contains:
- the Operating System you need (ARUPi_240415). This file is 7.32GB so may take a while to download. GoogleDrive will also state that it cannot scan the file to check it is safe as it is too large. Don’t worry about that – the file is virus free (it is an image of an Arch-Linux Operating System).
- The Folder labelled “Sleepy_Pi” contains “_15min_Pi” (a program that tells the Sleepy Pi to wake the Raspberry Pi every 15 minutes) and a folder called Libraries. You need to save these files into the “Arduino” folder that should be found in the My Documents folder on your computer (assuming you have installed Arduino IDE.
- It also contains:
- A more detailed Parts List (ARUPI_PARTS_INFO.xls) with some links to where you can buy some of the parts. The first column (Step) states whether you need that item for the software side of things or not.
- PDF document that cover step 5. and Step 6 I suggest following the PDFs as they are colour-coded and easier to follow.
- A folder named “Example_ARUPI_Recs”, which contains a small handful of example recordings made with these units in UK coppiced woodland sites from summer 2015 (I have ca. 35gb to get through so these are plucked randomly from the mix). I tried to include examples that cover, rainy nights, colourful dawn chorus mornings, low-power related beeping sounds (advice and ideas welcome), airplanes and moments of quiet! I think the recording quality is pretty good for a mono microphone (my how-to-build this microphone is still pending but on its way in the next couple of weeks),and is more than adequate for my needs so far
. I think you could spend a bit extra and get very high quality audio if you desire – something I might also look into when time permits.
Step 3: Step 3. Create Disk Image
1. Write the OS disk image to your micro SD card using Win32 Disk Imager.
2. When selecting Arupi_240415, you need to change file type to *.* to make it visible (see top image)
3. Select the disk drive that corresponds to your micro SD card (bottom image)
- I always make sure I only have my SD card plugged in to avoid accidentally formatting an external HDD or other USB device.
4. Now click the “Write” button
- This will write the disk image to the device.
Step 4: Step 4. Upload Program to Sleepy Pi
The Sleepy Pi is one of the most
important pieces of kit for this unit. It turns the Raspberry Pi on and off to a schedule that you choose. Therefore, you need to tell the Sleepy Pi what you want it to tell the Raspberry Pi to do.
1. The Sleepy Pi has an onboard Arduino microcontroller, on which instructions can be installed. To do this you need to have installed the Arduino IDE software.
2. Download the entire Sleepy_Pi folder from the GoogleDrive link on the previous step. Place the “_15min_Pi” file and “libraries” folder in the “Arduino” folder created in your “My Documents” folder (i.e. C:\Users\Ant\Documents\Arduino)
3. Open the script “_15min_Pi.ino” in the Arduino IDE. This script is what you need to upload to the Sleepy Pi. It tells the Sleepy Pi to turn on your Raspberry Pi every 900 seconds (i.e. 15 minutes). You can change this schedule by modifying the following line (i.e. 1800 seconds would equal 30 minutes).
int SYSTEM_SLEEP_TIME_IN_SECONDS = 900;
NB: it is possible to create a schedule based on turning the ARUPi on at set times during the day if this is your aim. To find out, consult the information on the Spell Foundry website.
4. To verify that the script works click on the tick symbol just below the ‘file’ tab (see image for better instructions). If the script doesn’t run properly, check that you have put all the libraries from my GoogleDrive into your Arduino folder (see above).
5. Connect your Sleepy Pi to your computer and upload the _15min_Pi.ino script. If you have bought the programming unit from the Spell Foundry then follow the instructions given (install correct drivers etc etc). If you have your own FTDI programmer then use this webpage for guidance http://spellfoundry.com/sleepy-pi/programming-sle…
In a nutshell:
– connect the programmer to the GPIO pins of your Sleepy Pi and connect USB to your computer NB: Make sure you connect pins correctly (see webpage given above)!
– Plug in the power supply to your Sleepy Pi (micro USB OR via barrel jack)
– Open “_15Min_Pi” (or your modified script) in Arduino IDE.
– Select Arduino Fio as your board (see image)
– Upload your script to the Sleepy Pi by pressing the “upload” arrow next to the tick.
– If it doesn’t work then check the COM Port is correct (see image). You might have to reinstall the drivers for your FTDI serial programmer.