Introduction.
Developing “Mia,” a talking cat-shaped robot that speaks in various dialects.
So far, we have only provided one-way audio output, but now we would like to start developing a two-way system finally.
In my last article here, I tried to create my own board for two-way voice communication with ESP32 and INMP441 (I2S microphone), and I mentioned that INMP441 was EOL 7 years ago and is not available in stock.
I am going to make my own board using the SPH0644LM4H-1 as an alternative I2S microphone for the INMP441.
I contacted ELECROW.
Knowles I2S microphone proposed as an alternative to INMP441
Ask Elecrow the following questions
I now understand that INMP441 is globally out of stock and may not be available in China. I appreciate your clarification.
That said, my goal is to use an **I2S output MEMS microphone that is compatible with the ESP32**. It does not necessarily have to be INMP441 — any I2S microphone will do, as long as it is suitable for ESP32-based audio applications.
Could you please let me know if you have any I2S microphone parts currently in stock (either chips or modules) that can be used in PCBA orders?
If possible, please share available part numbers or links so I can design my circuit accordingly.
Thank you again for your assistance!
I then received the following reply.
If you are looking for alternatives to the INMP441 MEMS microphone with similar performance characteristics, here are some suggestions from reputable suppliers:
Infineon
・IM69D130: High SNR and sensitivity, suitable for high-fidelity audio applications.
・IM67D130A: Low power consumption and high SNR, ideal for mobile devices and IoT applications.
STMicroelectronics
・MP34DT01: Sensitivity of -26dBFS and SNR of 65dB, suitable for voice recognition and audio capture applications.
・MP23ABS1: Compact size, with performance similar to INMP441, ideal for space-constrained devices.
Knowles
・SPH0645LM4H-B: Sensitivity of -26dBFS and SNR of 65dB, suitable for applications requiring high sensitivity and SNR.
・SPH0644LM4H-B: Similar to SPH0645LM4H-B but with potentially more competitive pricing.
These alternatives offer a range of performance and cost options, and I recommend reviewing their detailed specifications to determine the best fit for your application.
Of the microphones listed, the Infineon and STMicroelectronics microphones were eliminated as candidates because they were PDM microphones; the two Knowles I2S microphones were examined on Digikey.
SPH0645LM4H-B: $2.73 per piece
https://www.digikey.jp/ja/products/detail/syntiant/SPH0645LM4H-B/5332440
SPH0644LM4H-1: $1.35 per piece
https://www.digikey.jp/ja/products/detail/knowles/SPH0644LM4H-1/8573344
As Elecrow replied, SPH0644 is cheaper.
In the case of Elecrow, as with JLCPCB, a Gerber file, BOM, and CPL file are all that is needed to place an order, so LCSC will create the schematic.
But SPH0644 was a PDM microphone, so only SPH0645 can be used as an I2S microphone.
Schematic drawing with SPH0645LM4H-B
The footprint of SPH0645LM4H-B is as follows
https://jlcpcb.com/partdetail/JlcpcbAssembly-SPH0644LM4H1/C9900010827
JLCPCB offers pre-orders as low as 458 units. Estimated unit price: $0.0188, almost the same price as INMP441.
The datasheet is below
https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/908/SPH0645LM4H-B.pdf
It was described regarding sample wiring in the case of a stereo.
Put 51Ω in BCLK and WS and place them right next to the ESP32 pin (to prevent ringing and to shape the signal (basically, place them on the transmit side))
DATA_OUT direction is one-way “Mic → MCU”, so if the line is less than 20 mm, no resistor is acceptable. If the line is long, consider 51Ω immediately after the microphone side (because it is a high-impedance output, place it immediately after the microphone output, not on the receiving side (ESP32)). In this case, the wiring length between the I2S microphone and ESP32 exceeds 2 cm, so connect 51Ω.

The circuit diagram was created as follows for reference.

Create PCB layout
As shown below, move each resistor and condenser closer to the microphone side if it should be closer to the microphone side and closer to the module side if it should be closer to the ESP32 module side.
AutoRoute completed the wiring in one shot! Thank goodness.


This is what it looks like from the back in a 3D viewer.

We really wanted to put the I2S microphone close to the ESP32 to keep the signal line between the I2S microphone and the ESP32 GPIO as short as possible, but the middle of the back of the board has a speaker coming in, which forces us to place the microphone in the cavity behind the speaker.

This would cause problems such as speaker output sound entering the microphone, air vibration from the back of the speaker affecting the microphone membrane, and the microphone being far away from the “sound path,” and confined to a closed space, etc. Therefore, we decided to place the I2S microphone away from the speaker, although the signal lines are a little longer. I² S signal line is slightly longer, about 30 mm, but since a 51 Ω series resistor is placed on each signal line and measures are taken against reflections and ringing, well, I think this will work.
Export Gerber, BOM, CPL and place order with Elecrow
Select Export BOM, Gerber, or CPL from EasyEDA’s File to download the file, respectively.

This time, I’m going to order from Elecrow instead of JLCPCB, so open the Elecrow site and select the PCB Assembly tab
https://www.elecrow.com/pcb-assembly.html?r=cGNicGFnZQ==
Firs,t enter the PCBA Quantity and then upload the BOM. In this case, enter “2” since only two are needed.

Assembling the parameter field
- Number of unique parameters: Number of unique parts in the BOM file = Number of lines in the BOM file
- Number of components: Total number of components listed in the BOM file
The PCBA Cost is dynamically changed according to the number of components entered.

As for the Gerber file, in the case of JLCPCB, when the Gerber file is uploaded, the dimensions are automatically included, but in the case of Elecrow, it is necessary to manually enter the height and width.

The final total price came to $102.6, including shipping.

In the case of Elecrow, the order is not immediately placed as in the case of JLCPCB, but when the Get A quotation button is pressed, the order request is placed, and then the order is processed by communication with the person in charge.
In this area, JLCPCB seems to be smoother to place an order with less communication.

By the way, I just placed an order for the same at JLCPCB and proceeded to ignore the lack of SPH0645LM4H-B stock (in pre-order),

The PCBA fee was shown as $138.54, so it looks like Elecrow is cheaper since it is $92.
So this time I will proceed with the order with Elecrow.
