AudioMoth

From RevSpace
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Project AudioMoth
Audiomoth.png
Status In progress
Contact bertrik
Last Update 2020-04-08

What

I have an AudioMoth board, and plan to improve its software:

Ideas:

  • general clean-up
    • fix white space, remove many of the empty lines (earlier CR/LF mistake?)
    • fix sprintf statements
    • fix complicated and non-portable casts (sensitive to endianness)
  • update tool-chain to newer version
    • update gcc
    • attempt to make it possible to compile with platformio
    • document it and upstream it when it works
  • extend functions
    • add trigger functionality, maybe a specific bat trigger (high pass filter)?
    • crest (instantaneous vs average) trigger?
    • save files in sub-directories (per day) instead of a flat filesystem?

Hardware

Frequency response

See https://circuithub.com/projects/OpenAcoustics/AudioMoth

The microphone is a SPM0408LE5H. Can't find much about it's ultrasonic performance. The official graph shows a hint of resonance above 10k so it does have ultrasonic sensitivity. For frequencies higher than the resonance peak the response of a typical microphone drops of with 6 dB/octave. I have been able to record some pipistrelle bats with it (40 - 50 kHz).

The processor is EFM32WG380F256, link

Software

My fork on github: https://github.com/bertrik/AudioMoth-Project

Running the tools

Running the tools (configuration tool, flash tool, etc) requires the --no-sandbox option (at least on my system), for example

 ./AudioMothConfigurationAppSetup1.2.5.AppImage --no-sandbox

IDE for development

A brave attempt for all the steps to get the firmware compiled was written here: https://github.com/OpenAcousticDevices/AudioMoth-Project/wiki/AudioMoth

Compiling

platformio

It compiles and produces a firmware.bin file, but it's not recognized by the flashing tool as a valid file.

Use this platformio.ini file:

 [platformio]
 src_dir = src,fatfs_src
 include_dir = inc,fatfs_inc
 [env:default]
 framework = zephyr
 platform = siliconlabsefm32
 board = efm32wg_stk3800

Install platformio:

 sudo apt install python3-pip
 sudo pip3 install platformio
 sudo pip3 install -U PyYAML

Compile it:

 pio run