π•pistrelle FIRMWARE : flashing and features
Firmware is typically called pipistrelle.uf2 or a variant thereof.
First, TAKE AT LEAST ONE BATTERY OUT OF YOUR π•pistrelle - I don't know if permanent damage to your computer or to the π•pistrelle might result if the battteries and USB are simultaneously trying to power the device, so don't try it.
Hold the BOOTSEL button on your π•pistrelle, connect it via USB to your computer, and when the USB drive called RPI-RP2 appears in your Finder (or the Microsoft / Linux equivalent of the Finder), just drag pipistrelle.uf2 onto the drive. This will copy the firmware, and once the copy is finished, the Pico may or may not reboot (this seems to depend on whether you have a USB hub between the computer and the Pico). If it doesn't reboot, just pull out the USB cable and plug it back in.
Firmware : the standard firmware absolutely SPEWS out trace information over the USB serial. On a Mac inside Terminal use screen /dev/cu.usbmodem* to see what's going on. If you are not on a Mac I can't help, but I'm sure the official Raspberry Pi Pico documentation will be helpful.
Detailed instructions to follow, but for right now, if you build one, flash it as described above. If the LEDs flash on power-up, followed by a 'bouncing ball' on the LEDs that fades away if you make a sound near it, you are in business. Check that the device is responding to environmental audio by rubbing dry fingers near the microphone port, which is the hole under the bat's belly on the Bat Signal module. The LEDs are not a VU meter measuring just signal volume, they are a spectrum display. The top LED corresponds to about 100kHz, the bottom one about 15kHz, but the bands are big so it's somewhat imprecise at best. But in the field, a pipistrelle echolocating will light up the 3rd, 4th or 5th LED from the bottom, a Noctule or Serotine will light up the lowest, but since all UK bat calls contain a swept FM component, any bat will typically light up more than one adjacent LED. To give you more precision on the selected or detected frequency, Jarvis gives you frequency information with 1/2kHz precision. In a very calming voice.
Current feature set :
Firmware is typically called pipistrelle.uf2 or a variant thereof.
First, TAKE AT LEAST ONE BATTERY OUT OF YOUR π•pistrelle - I don't know if permanent damage to your computer or to the π•pistrelle might result if the battteries and USB are simultaneously trying to power the device, so don't try it.
Hold the BOOTSEL button on your π•pistrelle, connect it via USB to your computer, and when the USB drive called RPI-RP2 appears in your Finder (or the Microsoft / Linux equivalent of the Finder), just drag pipistrelle.uf2 onto the drive. This will copy the firmware, and once the copy is finished, the Pico may or may not reboot (this seems to depend on whether you have a USB hub between the computer and the Pico). If it doesn't reboot, just pull out the USB cable and plug it back in.
Firmware : the standard firmware absolutely SPEWS out trace information over the USB serial. On a Mac inside Terminal use screen /dev/cu.usbmodem* to see what's going on. If you are not on a Mac I can't help, but I'm sure the official Raspberry Pi Pico documentation will be helpful.
Detailed instructions to follow, but for right now, if you build one, flash it as described above. If the LEDs flash on power-up, followed by a 'bouncing ball' on the LEDs that fades away if you make a sound near it, you are in business. Check that the device is responding to environmental audio by rubbing dry fingers near the microphone port, which is the hole under the bat's belly on the Bat Signal module. The LEDs are not a VU meter measuring just signal volume, they are a spectrum display. The top LED corresponds to about 100kHz, the bottom one about 15kHz, but the bands are big so it's somewhat imprecise at best. But in the field, a pipistrelle echolocating will light up the 3rd, 4th or 5th LED from the bottom, a Noctule or Serotine will light up the lowest, but since all UK bat calls contain a swept FM component, any bat will typically light up more than one adjacent LED. To give you more precision on the selected or detected frequency, Jarvis gives you frequency information with 1/2kHz precision. In a very calming voice.
Current feature set :
- 100% duty cycle FFTs (128-point, 16-bit integer) - when detecting, every single sample is FFTd at 384kHz, and peak energy is tracked and recorded to form 'bat call' fingerprints to aid in species ID, and to allow auto-tracking of ultrasonic signals.
- 'Jarvis' speech synthesis feedback
- AudioMoth app support to set Pico Real-Time Clock. This allows for timestamped SD recording of bat activity. To record, the Real-Time Clock must be set, so if you intend making an overnight field recording bring a smartphone with you with the AudioMoth app installed.
- Detector mode : left button and rotary
- Automatic heterodyne frequency tracking : single click, left button
- Confirm currently tracked frequency : double click, left button
- Attempt to identify most recently detected bat : triple click, left button (not implemented yet)
- Manual override of heterodyne frequency : manipulate rotary knob to apply manual override
- Toggle between heterodyning and real-time time expansion : long click, left button
- Recording : right button
- Record next 5s to wav file : single click, right button
- This may may take 8s or so to complete as the firmware pre-allocates the next file
- Heterodyning continues while recording a single file
- Record a batch of 6 wav files, each 5s : double click, right button :
- Each file may take 8s or so to complete as the firmware pre-allocates the next file
- Heterodyning continues when recording a batch of six files
- Enter overnight mode : triple-click, right button
- In overnight mode the device alternates between 'overnight sleeping' and 'overnight detecting'
- When 'overnight sleeping' - daytime, between 6.30 am and 8.00 pm - the device goes as dark as possible to conserve battery power
- When 'overnight detecting' the device shows a different flash pattern, and when it is recording to SD or preparing storage for the next recording, the green Pico LED is solidly on.
- Overnight mode persists until power is removed from the device, by the batteries running low or by a battery being removed
- Record next 5s to wav file : single click, right button
Future feature set :
- Bat ID of the easier species
- Ideally, bat ID of the harder species :)
- Mac tool (with published source code) to patch binary
- e.g 'Enter overnight mode on AudioMoth' which allows recorder units to be assembled without rotary, without buttons and without LED array
- If I ever get round to learning Python I will rewrite this tool in Python - meanwhile, it's C++
Disclaimers :
- No automated bat ID yet, that's a work in progress, but the infrastructure is in place to prepare for call analysis
- The SD card interface code works on 3 SD cards I have tried of 4, 8, and 64GB capacity, but it remains the least tested piece of the hardware puzzle. Do let me know how you get on with various manufacturers' SD cards.
Expect a flurry of updates over July / August 2022

CURRENT STABLE
NEW! Bat synthesizer option : boot device with both buttons pressed, rotary selects bat
To come :
cross-platform π•pistrelle firmware patch tool

EXPERIMENTAL version 2.21
Supports continuous recording with heterodyning (long press right button)
Will only enter overnight mode if
a) in manual frequency mode, and
b) if frequency is bottomed out at 15kHz
This makes it harder to accidentally engage overnight mode (triple click) rather than 'record 6 files' (double click)
Supports continuous recording with heterodyning (long press right button)
Will only enter overnight mode if
a) in manual frequency mode, and
b) if frequency is bottomed out at 15kHz
This makes it harder to accidentally engage overnight mode (triple click) rather than 'record 6 files' (double click)
![]()
|
384kHz USB microphone v 1.0
After reflashing with this image, your pipistrelle (or PIPPYG) is now a USB microphone, 384kHz / 16-bit / mono. Connect it to a computer or device and start recording. |