KY-037 microphone sensitivity

Im using a KY-037 microphone, and want to try to get it to be more sensitive, enough to read talking in a room. Is this possible with a sensor like this? It seems like I have to make very loud noises for it to change values. I have also tried to adjust the pot that is built in, but not exactly sure how it works since I can continue to turn it, but it does seem to affect the threshold. I am using a basic sketch:

int sensorPin = A0;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  Serial.begin(9600);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);    
  // turn the ledPin on
  Serial.println(sensorValue);
  delay(100);  
}

Did you ever get an answer on this? I'm having the same issue. I have both the KY-037 and KY-038, and I can't get ether to respond to sound by more than +/-1.

As a side note, these 2 sensors were part of a set of 37 sensors kit I got for Christmas. Every sensor I try is a new journey in frustration because there was 0 documentation that came with them. Ok... to be far, there was a single sheet of paper that had pictures of each sensor and a name. The name doesn't always seem to match up to what these sensors are normally called though! If anyone has a good resource on pin outs, wiring diagrams, and sketches for the "Sunfounder Lab Starter Kit - 37 in 1 Sensors kit for Arduino" I'd be forever grateful! So far I have the Joystick (2 potentiometers and a button) and most of the "Avoid" (obstacle detector) sensor figured out. The avoid has 2 potentiometers and an enable pin that I have yet to get completely figured out.

Never made it to work too.
If anyone understood a way to make it work... pelase share it!

thanks

The chip on that KY-37 board is a threshold detector for the digital output.
The pot sets the threshold, not the gain.
The microphone itself is not amplified, so analogue out only works for loud sounds.

There are boards available with onboard microphone preamp.
Like this one.
Leo..

Unfortunately the sensor cannot get low sounds, but i had better results setting up the A0 to 128/129/130, now i can clap from a distance of 2 meters and it responds with a increse of 2 levels. I guess that's the best result it can get.
I hope it can help you.

what do you mean by: setting up the A0 to 128/129/130. ?

The key to the analog output is to make the sensor value a FLOAT then scale that value to get the sensitivity you want. I found looking at the Serial Plotter helped the most. You will notice that the analog signal will oscillate when it detects noise, that is because the solenoid it moving in and out with the sound vibrations giving you a high and low value. Changing the potentiometer simply changed the baseline reading thus allowing you to tune the digital output. By the way, when tuning the digital output, turn the potentiometer until LED2 oscillates between on and off. *In my opinion this is a terrible microphone and should not be used for anything important.

**** Analog & Digital Outputs ****

int AnalogOutput = A0; // Connect to sensors analog output (sensor AO pin > Arduino pin A0)
int DigitalOutput = 3; // Connect to sensors Digital output (sensor DO pin > Arduino pin 3)
int ledPin = 13; // Connect to LED (Arduino pin 13)
float AnalogValue = 0; // Store analog value
int DigitalValue = 0; // Store digital value

void setup(){
Serial.begin(9600);
pinMode(ledPin,OUTPUT); // set led pin as OUTPUT
pinMode (DigitalOutput, INPUT) ; // Sets pin 3 to INPUT
}

void loop(){
//Analog data
AnalogValue = analogRead(AnalogOutput)/22.0; //<--22.0 is my scaler, change this to scale the analog signal.
Serial.println(AnalogValue);

//Digial data
DigitalValue=digitalRead(DigitalOutput);
digitalWrite(ledPin,DigitalValue);
}

wannaBrobot:
The key to the analog output is to make the sensor value a FLOAT...

BS.
The analogue input returns an int.
What difference is a float going to make.
Leo..