Bumped by Community user
    Bumped by Community user
3 Edit -2 Added SCHEMATIC pics
source | link

BREAKOUT BOARD SCHEMATICenter image description hereCIRCUIT SCHEMATIC enter image description hereGreen probe is for dso and red probe is for dmm

Green probe is for DSO and red probe is for DMM

The whole Circuit I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

Green probe is for dso and red probe is for dmm

Green probe is for DSO and red probe is for DMM

The whole Circuit I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

BREAKOUT BOARD SCHEMATICenter image description hereCIRCUIT SCHEMATIC enter image description hereGreen probe is for dso and red probe is for dmm

Green probe is for DSO and red probe is for DMM

The whole Circuit I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

2 Edit -1 Added pics
source | link

IGreen probe is for dso and red probe is for dmm

Green probe is for DSO and red probe is for DMM

The whole Circuit I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

Green probe is for dso and red probe is for dmm

Green probe is for DSO and red probe is for DMM

The whole Circuit I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV

1
source | link

SPW2430 MEMS MIC Taking time in returning to base Voltage

I am trying to create project using ESP 32 with arduino IDE which turns on when a snap is detected. I will be using using spw2430 mems mic datasheet here :Mems MIC Datasheet Right now I using the Adafruit SPW2430 mems mic breakout board for testing purpose product site here :https://www.adafruit.com/product/2716

100 to 10kHz frequency resp VPP= 200mV Dc bias= 700mV Zout=450 Ohm

The problem I am facing is whenever i snap my fingers or clap my hand the output voltage goes up (as expected) BUT it takes a 4-5 seconds to come back to normal reading . Ideally it should not take that much amount of time to come back to normal reading. It should take 10 ms to come back to normal readings.

I am polling every 500 microseconds and the attenuation of the ESP32 has been set to 0 db so that the REF voltage scale is in 0 - 1V. this similar problem is happening with arduino uno (with same set of test conditions) . The input of adc is connected to the DC pin of the Breakout Board. (Which does NOT have any capacitor in between the o/p of mic and I/p of adc.)

Here is the code I am using

#include<esp32-hal-adc.h>
#define ANALOG_PIN 4

void setup()
{

  pinMode(ANALOG_PIN,INPUT);
  Serial.begin(115200); 
  /*
   * typedef enum 
   {
    ADC_0db,      // 0 to 1 v 
    ADC_2_5db,  // 0 to 1.27 v
    ADC_6db,     // 0 to 1.75 v
    ADC_11db     // 0 to 3.3 v
   } adc_attenuation_t; // changes Ref Voltage Scale
   */

  analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
 // Set the attenuation for particular pin currently 0-1 v

}

void loop() 
{
  int raw_value = 0; // to store raw value of mic

  raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic

  Serial.print("Raw value is : ");
  Serial.println(raw_value);

  delayMicroseconds(500); // Sampling every 500 uSec
}

I also have a voltmeter. i connected one probe to GND and OTher one to DC pin output of MEMS Mic. The voltage reading is 700mV. When I snap my finger it reaches 800mV immediately But It takes 4-5 seconds to come back to 700mV