Solar powered noise measuring business card
 
 
 
 
Go to file
Clyne c482241359
add energy harvester and supercaps
cfg wip: prep code for brief execution
hardware add energy harvester and supercaps
qfplib-m0-full-20240105 use qfplib; fix I2S clock
.gitignore schematic cleanup
LICENSE license source code
Makefile go os-less; filter in sram; consider dynamic freq
README.md add readme
STM32G031x6.ld go os-less; filter in sram; consider dynamic freq
board.c move io config to board.c
board.h move io config to board.c
main.cpp make led show a little longer
osalconf.h sleeponexit; give up on fast clock
qfplib-port.h go os-less; filter in sram; consider dynamic freq
sos-iir-filter.h go os-less; filter in sram; consider dynamic freq

README.md

NoiseCard

NoiseCard is an attempt to build a dead easy tool for monitoring ambient noise levels. The ultra-low-power microcontroller takes periodic decibel measurements while powered on, using blinking LEDs for indication. The circuit requires only a few milliwatts to run, enabling it to run off of direct solar power without a battery (though some large capacitors provide a small reserve).

Ambient noise levels in populated areas, especially North America, can often exceed what is considered safe for our ears, with prolonged exposure leading to lasting impacts on our health. Through a tool like the NoiseCard, people can become more aware of the noisy environments they're living in (and potentially take action to reduce excess noise exposure).

Building the source

You need:

Extract ChibiOS to a folder, edit the Makefile so CHIBIOS points to that folder, then run make.

Credits

  • ESP32-I2S-SLM for a starting point with accurate decibel-measuring code.
  • Qfplib for providing optimized floating-point code for the Cortex-M0+ microcontroller.
  • ChibiOS for providing an awesome RTOS and HAL that made firmware porting and device configuration a breeze.