Need help with arduino microphone, got low sensitivity

I'm doing a project that requires that the microphone reads the volume of the sound, and the diode lights up according to the read volume,
The problem is that the microphone simply does not hear sounds(even if i scream) further than 1 meter (I tried turning the potentiometer both ways, didn't help).
Does anyone know how to fix it? Or maybe this is limit this mic?

The microphone I use: Microphone Sound Sensor KY-038 - Maker Advisor
Changed(sorry for confusion): Mic I actually use: Balance World @ Microphone Sensor AVR PIC High Sensitivity Sound Detection Module For Arduino : Amazon.co.uk: Computers & Accessories

Code:

#define LED 9

const int MicPin = A1;
const int MicPinDigital = 13;  // useless

void setup() {
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  analogWrite(LED, 0);
  pinMode(MicPinDigital, INPUT);
}

void loop() {
  int mn = 1024;
  int mx = 0;
  for (int i = 0; i < 100; ++i) {
    int val = analogRead(MicPin);
    mn = min(mn, val);
    mx = max(mx, val);
  }
  int delta = mx - mn;
  int derivative = delta - last_read_mic;

  analogWrite(LED, int(float(delta) / 400 * 100));
}

Schematic:

Please have a look at the "How to get the best out of this forum" post, which will explain what information you need to provide to get informed help.

1 Like

Please post your code in code tags, and a schematic of your entire circuit, including "unrelated" parts.

1 Like

You may want to consider the following steps to get an accurate answer:

  1. Post a Schematic: It would be helpful to post an annotated schematic showing exactly how you have wired the components. This can help others to visualize your setup and identify any potential issues.
  2. Share Your Code: Be sure to post your code following the forum guidelines, including the use of code formatting tags for clarity. This allows others to easily review and debug it.
  3. Consider Using a Different Microphone: Another option you could try is using a microphone with a built-in pre-amplifier. This might help if you're dealing with low signal issues.
1 Like

I find the INMP441 is the best microphone for an arduino. Super sensitive, and easy to use.

1 Like

Quiet sounds are difficult because there is electrical noise. When I used a different sound sensor I got better results with a separate power supply than with USB power. (USB power tends to be noisy).

Because of that noise, you'll probably never read analog-zero, and the readings won't change until the sound is loud-enough to overcome the noise.

i.e. Mic preamps used for quality recording are more expensive and they have a filtered power supply.

That microphone board doesn't seem to be well-documented...

You should be using the analog output from the microphone board into analog-in on the Arduino.

Of course that depends on the loudness of the sound. I'm sure a rock band at 1 meter is fine. :wink:

When it is picking up sounds, what kind of readings do you get? Does turning the pot make a difference?

BTW - That looks like a 10-turn pot. After 10-turns you'll hit the limits and it might feel different, or you might hear a clicking with every rotation but there is probably no mechanical stop.

1 Like

Whats the ouput of the sensor?
Does the trigger led turns on?

Dont expect much from that transductor. It will only pick up sounds when the source is in front of it.

1 Like

Yes, i tried turning it, but even in best case scenario it can only hear me shouting if I'm really close, and when it is hearing me, it gives a very weak singal

Led turns on, but not really bright, and the output is a really weak signal(only if i speak directly in it)

An LM393, the opamp/IC on that board, is a comparator - so its output will be HI/LO, not analog.
Depending how it's configured, when the input is greater than the threshold the output will be HI (otherwise it's LO).

1 Like

It is a sound detector. You set a threshold. You select the output pin. Sound is either strong enough to qualify as "present" (or proportional "present" if monitoring the analog pin) or not strong enough.

The KY-037 is slightly more sensitive than the KY-038.

Neither is an audio microphone.

KY-038 condenser microphone at -34dB:

You can find more sensitive microphones, for example -44dB:

1 Like

This module might work better.

Anyways, microphones will only capture sound if the source is close and in front if it.

they cant pickup sound as human ears do.

1 Like

So this means that i won't be able to pick up sounds far away with KY-037/038?

And if yes, will this sound sensor work?:

Sound is not measured in distance, rather, dBm (or dB).

1 Like

Didn't know, how do I convert solid singnal on distance 10 meters to dBm?

dB is not measured in distance. It is a pressure. A level.

Measure with a dB meter.

1 Like

I have the same problem....i just don't think these cheap microphones will do it....

1 Like

These "microphones" (sound sensor - might give you a clue) do their job just right. Why were you were expecting a $0.30 microphone to carry the fidelity of a $70 "cheap" lapel mic or a $500 "podcast" mic for separating violins from violas? The KY-038 does just fine. You did not read the large, bold, italicized print.