Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 11 of 11

Thread: Why MEMS i2s microphone ICS-43432 with teensy audio library not working?

  1. #1
    Junior Member
    Join Date
    May 2016
    Posts
    14

    Why MEMS i2s microphone ICS-43432 with teensy audio library not working?

    Hello, I am trying to make the same set-up work but I get no values other than zeros from the mic ICS-43432.

    Let me show you my set-up, may be you can help me finding where is the problem.

    First of all this is a picture of how I did to take out some jumper-conections from the mic

    Click image for larger version. 

Name:	Sol.jpg 
Views:	41 
Size:	34.3 KB 
ID:	13402
    Click image for larger version. 

Name:	Cable.jpg 
Views:	43 
Size:	45.4 KB 
ID:	13403


    Micro -> Teensy 3.6
    SEL -> GND
    LRCL -> 23
    DOUT -> 13
    BCLK -> 9
    GND -> GND
    3V -> 3.3V

    I'm using a capacitor and a resistor which were recommended by the DataSheet of the mic. With or without these elements I get the same zero values.




    I implement the RMS analyzer for my code, I analyze both channels, here is my code:
    Code:
    #include <Audio.h>
    #include <Wire.h>
    #include <SPI.h>
    #include <SD.h>
    
    AudioInputI2S            i2s1;           
    AudioAnalyzeRMS          rms1;
    AudioAnalyzeRMS          rms2;
    AudioConnection          patchCord1(i2s1, 0, rms1, 0);
    AudioConnection          patchCord2(i2s1, 1, rms2, 0);
    
    void setup() {
      Serial.begin(9600);
      AudioMemory(4);
      delay(1000);
    }
    
    void loop() {
      if (rms1.available() && rms2.available())  {
        
            float volume_level_l = rms1.read() * 100.0;
            float volume_level_r = rms2.read() * 100.0;
    
            Serial.print("Volume level L: ");
            Serial.println(volume_level_l);
    
            Serial.print("Volume level R: ");
            Serial.println(volume_level_r);
            Serial.println();
      }
     
    }
    And this is the result



    I have tried with two mics and is the same result for both.

    Im using Teensy Loader 1.41 and Arduino 1.8.5

  2. #2
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    2,442
    There is only one reliable way to diagnose such problems: Not asking for blind guessing in the forums, but first of all connecting a logic analyzer or an oscilloscope and checking the signals between the microphone and the Teensy.

    ”Without eating hay, the best horse may not fart” (Albanian proverb)

  3. #3
    Senior Member
    Join Date
    Jul 2014
    Posts
    2,222
    Quote Originally Posted by ifelipeg View Post
    Hello, I am trying to make the same set-up work but I get no values other than zeros from the mic ICS-43432.

    Let me show you my set-up, may be you can help me finding where is the problem.

    First of all this is a picture of how I did to take out some jumper-conections from the mic

    Micro -> Teensy 3.6
    SEL -> GND
    LRCL -> 23
    DOUT -> 13
    BCLK -> 9
    GND -> GND
    3V -> 3.3V

    I'm using a capacitor and a resistor which were recommended by the DataSheet of the mic. With or without these elements I get the same zero values.
    The pin connections seem to be OK
    If the ground wire solder does not closing the micro hole, the system should work.

    If you tap on mic, does the LED light up?
    If there is I2S activity then the led should light.
    If led is not lighting then wiring is wrong on Mic. Note the manual says "Top View, Terminal Side Down"

  4. #4
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,171
    This really should work, if connected properly.

    I tried to follow the wires, but I can't quite match up the colors and see where things go in the blurry/small picture.

  5. #5
    Junior Member
    Join Date
    May 2016
    Posts
    14

    Exclamation

    Hello, thank you for your responses.

    WMXZ, there is no led activity.

    Paul, here you will find some much more detailed pictures of the set-up.

    Click image for larger version. 

Name:	Mems.PNG 
Views:	42 
Size:	605.2 KB 
ID:	13434

    Click image for larger version. 

Name:	Mems Teensy.PNG 
Views:	36 
Size:	542.1 KB 
ID:	13435

    I asked for some help with the measurements and here are the results.

    Without connecting the Mic into the Teensy I got;

    Click image for larger version. 

Name:	LR.PNG 
Views:	27 
Size:	246.7 KB 
ID:	13436

    Click image for larger version. 

Name:	BL.PNG 
Views:	24 
Size:	457.2 KB 
ID:	13437

    Then, I connected the Mic and the Clock signals changed dramatically

    This is the new FS.

    Click image for larger version. 

Name:	nLR.PNG 
Views:	26 
Size:	428.0 KB 
ID:	13438

    And this is the new SCK

    Click image for larger version. 

Name:	nB.PNG 
Views:	28 
Size:	529.3 KB 
ID:	13439

    I have no idea what could be wrong with the set-up or the Mics.

    I tried with TWO mics and I got the same results

    Thank you very much for the support.

  6. #6
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,171
    Ah yes, those pictures are much better. I believe I can see the problem.

    Looks like you've got pins flipped / backwards. Hopefully this picture will make it clear.

    Click image for larger version. 

Name:	mems.png 
Views:	80 
Size:	320.6 KB 
ID:	13440

  7. #7
    Junior Member
    Join Date
    May 2016
    Posts
    14
    Now working

  8. #8
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    2,442
    Need reading glasses, next time?

  9. #9
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,171
    Glad you got it working.

    I believe it's important to remember everyone starts out as a beginner. I know I made this same mistake several times many years ago. It happens! Like most of the solutions I post here every day... I know about them because I've personally made those same mistakes at some point.

  10. #10
    Hi

    I remember that the wires for IS should be short. Any guidelines for a mic?

    Alain

  11. #11
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,171
    Yes, the wires should be kept short. A few inches is probably fine.

    These mics don't use MCLK, which is a higher frequency, so the issue isn't as strong as with other I2S chips using MCLK. Still, good to avoid long wires since they are digital data at ~2.8 Mbit/sec.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •