AudioMoth

From RevSpace
Revision as of 13:32, 8 April 2020 by Bertrik Sikken (talk | contribs) (Hardware)
Jump to navigation Jump to search
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 SPM0408LE5H, datasheet. 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