I want to rig up a decibel-level sensor to an automated script that will record the times and decibel levels of door slams when I am not present, for later evaluation.

I am a capable programmer and can learn the other skills required. What do I need to know/buy to do this?

  • \$\begingroup\$ Buy a Sound Phidget so you don't have to learn any other skills. \$\endgroup\$ – DKNguyen Oct 26 at 2:48
  • \$\begingroup\$ Thank you! I want to learn those skills though. I never turn down an opportunity to build skills like these. I'm interested in computer science and potentially robotics as a future career. \$\endgroup\$ – some_guy632 Oct 26 at 3:14
  • 1
    \$\begingroup\$ Then simplest method I can think of is to use a microphone + amp, use an ADC to sample the data, and then use a microcontroller to transmit the data out over a UART. Then use an FTDI UART to USB cable and virtual COM port on the PC for display. You may also need to add non-volatile memory to store the data if your PC isn't going to be running and storing the data in real time. I like MRAM. You can also write to an SD card I guess, but that seems more complicated to me. \$\endgroup\$ – DKNguyen Oct 26 at 3:18
  • 3
    \$\begingroup\$ Since you are a programmer, I'd do it on a PC first. That way, you only have to deal with the task at hand: capture sound, calculate SPL, record levels. Once you know how to do all of those things, you translate that knowledge to an embedded system. Probably easiest to use an existing microprocessor evaluation board. Arduino, ESP8266, or similar. Which you use will change the tradeoffs of how much hardware or software you have to develop. A Raspberry Pi would let you use the same program as on your PC - if you use Linux for everything. \$\endgroup\$ – JRE Oct 26 at 7:17
  • 1
    \$\begingroup\$ Not answer worthy. ADC is analog to digital converter. UART is the basis for RS-232 which you should be familiar with as a programmer. Virtual COM port is one that simulates RS-232 on your PC when it's actually physically USB. MRAM is a type of memory. You can just google it. \$\endgroup\$ – DKNguyen Oct 26 at 16:10

Browse other questions tagged or ask your own question.