ESP32 Audio Input Showdown: INMP441 vs SPH0645 MEMS I2S Microphones!
Summary
TLDRIn this video, the host explores MEMS microphone boards for the ESP32, focusing on the SPH0645 and INMP441. These boards integrate audio amplifiers, ADCs, and I2S interfaces, allowing direct connection without an ADC. The host addresses noise issues from previous setups by implementing advanced filtering techniques. After testing, the INMP441 outperforms the SPH0645 and MAX9814, offering a compliant, noise-free, and DC offset-free signal, despite lacking built-in AGC. The video concludes with a comparison of audio quality and power supply noise resilience, highlighting the INMP441 as the superior choice for audio capture on the ESP32.
Takeaways
- ποΈ The video discusses options for integrating audio data with the ESP32 using microphone boards.
- π Previously, MAX4466 and MAX9814 microphone boards with Electret Condenser Microphones were examined, which output an analog signal requiring an ADC for the ESP32.
- π MEMS microphones, like the SPH0645 and INMP441, are introduced, integrating audio amplifier, ADC, and I2S interface, allowing direct connection to the ESP32 without an ADC.
- π¨ The video creator experienced noise issues on the 3.3V power line from the ESP32 dev board, which were mitigated with an RC filter, an LC filter, and a Low Dropout Voltage regulator.
- π οΈ A custom PCB was fabricated to test different microphone boards, including headers for the MAX9814 and the two I2S boards.
- π The I2S interface requires at least three lines: serial clock, word select (LRCLK), and data line, with specific operations for left and right channel data transmission.
- π« An issue with the SPH0645's output not aligning with I2S standards was encountered, but a potential solution was found through forum posts.
- π‘ Interference between I2S signals and the MAX9814 output was noted, leading to separate ADC signal capture for comparison.
- π The INMP441 board outperformed others, being compliant with standards, producing a good signal without DC offset, and handling noisy power supply well.
- π The INMP441 board showed less noise compared to the MAX9814, and unlike the MAX9814, it lacks a built-in AGC, requiring software solutions for automatic gain control.
- π The video concludes with a recommendation to subscribe and a reference to the GitHub repository containing the code used, with a teaser for the next video on audio output from the ESP32.
Q & A
What type of microphones were discussed in the previous video?
-In the previous video, Electret Condenser Microphones were discussed, specifically using the MAX4466 and the MAX9814 microphone boards.
How do Electret Condenser Microphones work?
-Electret Condenser Microphones work by having a parallel plate capacitor with the distance between the plates varying due to sound waves hitting the diaphragm.
What is the difference between the microphones used in the previous video and the MEMS microphones?
-MEMS microphones are constructed using a Micro-Electro-Mechanical System component, whereas Electret microphones are based on a parallel plate capacitor design.
Which two boards with MEMS microphones were examined in the video?
-The two boards with MEMS microphones examined were the SPH0645 and the INMP441.
What components are integrated into the SPH0645 and INMP441 boards?
-The SPH0645 and INMP441 boards integrate the audio amplifier, ADC (Analog-to-Digital Converter), and the I2S interface.
How does the I2S interface differ from the analog signal output of the MAX4466 and MAX9814?
-The I2S interface on the SPH0645 and INMP441 boards allows for digital audio output that can be directly fed into the ESP32 without using an ADC, unlike the analog signal from the MAX4466 and MAX9814 which requires an ADC.
What was the issue encountered when trying to record audio from the SPH0645 board using the I2S interface?
-The issue encountered was that data was also coming out on the right channel when it should have only been on the left channel, indicating a timing issue not matching the I2S standards.
What was the solution found to fix the timing issue with the SPH0645 board?
-The solution found involved specific settings that were suggested in forum posts to address the timing issues with the SPH0645 board.
How did the video creator attempt to reduce noise from the 3v3 power line in the ESP32 dev board?
-The creator used an RC filter followed by a Low Dropout Voltage regulator, and for the follow-up, an LC filter followed by a capacitor multiplier and another LC filter after the LDO regulator.
Which board was determined to be the best performer in the comparison and why?
-The INMP441 board was determined to be the best performer because it is standards compliant, produces a good signal with no DC offset, and handles a noisy power supply without any issues.
What is the only downside mentioned for the INMP441 board compared to the others?
-The only downside mentioned for the INMP441 is the lack of a built-in AGC (Automatic Gain Control), which would require software implementation for that functionality.
Outlines
ποΈ Exploring MEMS Microphones for ESP32
This paragraph introduces the exploration of MEMS microphones for use with the ESP32, following a previous examination of Electret Condenser Microphones. The speaker discusses two new boards, the SPH0645 and the INMP441, which integrate the microphone, audio amplifier, ADC, and I2S interface, allowing direct connection to the ESP32 without an ADC. The microphones are described as small, surface-mounted devices with a port for sound entry. The speaker also addresses previous noise issues with the ESP32 dev board's 3v3 power line, detailing an enhanced filtering solution involving an LC filter and a capacitor multiplier. The video script mentions the fabrication of a PCB with headers for the microphone boards and the intention to record from all three simultaneously for comparison. The I2S interface wiring is explained, highlighting the serial clock, word select, and data line functions. An issue with the SPH0645's output not aligning with I2S standards is noted, along with a potential solution found through online research.
π Comparing Audio Quality and Power Supply Resilience
The second paragraph delves into a comparison of audio quality and the ability to handle noisy power supplies among the microphone boards. The speaker shares recordings captured via the built-in ADC, the INMP441, and the SPH0645, noting the improved noise reduction with the MAX9814 at minimum gain. A key point is the INMP441's superior performance in terms of standard compliance, signal quality without DC offset, and resilience to noisy power supplies, as demonstrated by a test without any filtering. The MAX9814 is found to be noisier in comparison. The paragraph concludes with the speaker's recommendation of the INMP441 board, highlighting its advantages and the only noted downside of lacking a built-in AGC, which would require software implementation. The video ends with a prompt to subscribe, a reference to the GitHub repo for the code, and a teaser for the next video about audio output from the ESP32.
Mindmap
Keywords
π‘ESP32
π‘Electret Condenser Microphones
π‘Microphone Boards
π‘MEMS Microphones
π‘I2S Interface
π‘Surface Mounted Device (SMD)
π‘RC Filter
π‘Low Dropout Voltage Regulator (LDO)
π‘Power Supply Filter
π‘Serial Clock, Word Select, and Data Line
π‘AGC (Automatic Gain Control)
Highlights
Exploring options for integrating audio data into the ESP32.
Review of MAX4466 and MAX9814 microphone boards that use Electret Condensor Microphones.
Introduction to MEMS microphones and their integration with audio amplifiers, ADC, and I2S interface.
Discussion on the SPH0645 and INMP441 boards that can output data directly to the ESP32.
Description of the microphone packaging and sound entry design in these boards.
Mention of previous issues with noise on the 3v3 power line from the ESP32 dev board.
Solution to noise issues using an RC filter, a Low Dropout Voltage regulator, and further enhancements.
Fabrication of a PCB with headers for plugging in MAX9814 and I2S boards.
Wiring setup for simultaneous recording from SPH0645 and INMP441.
Explanation of the I2S interface wiring and its function in audio data transmission.
Discovery of a problem with the SPH0645 output not matching I2S standards.
Potential solution found through forum posts to fix timing issues with the SPH0645.
Observation of interference from I2S signals with the MAX9814 output.
Comparison of audio captured via built-in ADC, INMP441, and SPH0645.
Assessment of the INMP441's ability to handle noisy power supply without additional filtering.
Conclusion that the INMP441 board outperforms others in terms of standards compliance and noise handling.
Note on the lack of a built-in AGC in the INMP441 and the need for software solutions.
Invitation to subscribe and check out previous videos on microphone boards.
Announcement of the next video focusing on getting audio out of the ESP32.
Transcripts
Hey Everyone, we're back looking at some more options for getting audio data into the ESP32.
In the previous video, we looked at a couple of microphone boards (the MAX4466 and the MAX9814)
Both these boards use Electret Condensor Microphones which are essentially a parallel plate capacitor
with the distance between the capacitor plates varying depending on the sounds waves hitting the diaphragm.
Both the MAX4466 and the MAX9814 integrate both the microphone and the audio amplifier.
They output an analogue signal which then needs to be fed into the ESP32's analogue to digital converter.
In this video, we're going to be looking at a couple of boards with MEMS microphones.
These microphones are constructed using a Micro-Electro-Mechanical System component.
The two boards I'm looking at are the SPH0645 and the INMP441.
What's interesting with these boards is that they integrate the audio amplifier, ADC and
the I2S interface.
So the output from the boards can be fed directly into the ESP32 without using the ADC.
The actual microphones on these boards are packaged up into a small surface mounted device
which will either have a hole in the top or the bottom for the sound to enter.
Both the boards I am looking at are bottom ported so there is a hole in the PCB to let
the sound enter.
The principle is similar to the Electret microphone with a capacitor that changes value due to
air pressure.
You may recall from the previous video that we had some problems with noise on the 3v3
power line from the ESP32 dev board.
I solved that using an RC filter followed by a Low Dropout Voltage regulator.
For this follow-up video, I've gone even further.
I have an LC filter followed by a capacitor multiplier.
This is followed by our LDO regulator, which then has another LC filter on its output.
I may have gone too far...
I've had this circuit made up into a PCB and had it fabricated by JLPCB.
The board includes headers for plugging in the MAX9814 and the two I2S boards I'm testing
in this video.
I've wired up the board so that the SPH0645 is on the left channel and the INMP441 is
on the right channel.
Ideally, I want to be able to record from all three microphone boards simultaneously
to compare the outputs.
Let's have a look at how the I2S interface is wired up.
There are at least three required lines:
We have a serial clock - this is used to clock data to or from the peripheral.
We have a word select (also called the left-right clock or LRCLK) - this selects the channel
that you want to send or receive data for.
And finally, we have the data line.
When the Word Select is low the right device will tri-state its output
and the left channel will send data.
when the word select is high the left device will tri-state its output
and the right device will send data.
I've plugged in the SPH0645 in and left the INMP441 unpopulated.
The I2S peripheral is set up to record audio from both left and right channels.
When we look at what has been recorded from this configuration
we can see there is a small problem.
All our data should be coming out in the left channel,
but we have some data also coming out on the right channel.
This matches with some of the comments I've seen in the forums about the SPH0645 and the ESP32.
The output from the board doesn't seem to match up with the I2S standards.
After a lot of googling, I came across some forum posts with a potential solution.
These settings should fix the timing issues.
After some testing, I don't think they interfere with the INMP441 so we can capture some audio.
As I said earlier, my initial plan was to capture from all three boards are once,
but I've noticed quite a lot of interference from the I2S signals with the MAX9814 output.
So I've captured the ADC signal separately from the two I2S signals.
Here's the audio captured via the built-in ADC.
I've set the gain on the MAX9814 to its minimum value and that does seem to have improved
the amount of noise coming through.
Here's the audio captured directly from the INMP441
And finally, the audio captured from the SPH0645
Another question I wanted to answer is how good these I2S boards are
at dealing with the noisy power supply.
Do we need my power supply filter?
Here's the audio with the INMP441 connected directly to the dev board without any filtering.
There's no sign of the noise that we saw with the two analogue boards.
in the previous video.
So, what have we learnt?
I think the INMP441 board wins this competition hands down.
It seems to be standards compliant
It produces a good signal with no DC offset
And it seems to handle the noisy power supply without any problems
It's much less noisy than the MAX9814
The only downside I can find at the moment is the lack of a built-in AGC
you will need to do something in software if you want that kind of functionality.
So, that's it for this video - please hit the subscribe button if you found it useful
and check out the previous video where we looked at the other two microphone boards.
The code I used is all in the GitHub repo linked in the description.
In the next video, we'll look at getting audio out of the ESP32,
another small step to finishing my next project.
Thanks for watching!
I'll see you in the next video!
Browse More Related Video
EarFun Air Pro 4 : These Earbuds Have It All!
Mastering Your Audio in Under 5 Minutes | Adobe Audition Tutorial - Get the best sound quality
Best Podcast Microphones Under $100
Don't buy these audio interfaces. Get these instead.
Battle Of The Earbuds: Airpods 4 Vs Galaxy Buds 3 - The Ultimate Showdown
Here's how to Connect and Record your Guitar on iPad (USB C)
5.0 / 5 (0 votes)