ESP32 Sound - Working with I2S

preview_player
Показать описание
Build an Internet Radio, an MP3 Player, and display microphone waveforms with an ESP32 and some I2S peripherals. Learn to use the I2S sound protocol with the ESP32.

You might have seen the term “I2S” on the spec sheet for the ESP32 and may have just assumed that it was a form of I2C. Well, you would be mistaken - I2S is a protocol for manipulation of digital audio, and today we will be using it with the ESP32.

After a short primer on I2S and digital audio fundamentals, we will use an I2S microphone module with an ESP32. We’ll display the microphone output as a waveform on the Arduino IDE Serial Plotter.

After that, we will grab a library from GitHub, and we’ll use it to build an MP3 player with an I2S amplifier module. We’ll then use the same library and the ESP32 WiFi to create an Internet Radio.

Finally, we will convert our simple Internet Radio into a stereo device, with a volume control.

Here is what is in today's video:

00:00 - Introduction
01:27 - I2S & Digital Audio Intro
08:25 - I2S Peripherals
10:18 - Using an I2S Microphone
18:37 - I2S MP3 Player
28:31 - Simple I2S Internet Radio
33:41 - Stereo Internet Radio
43:56 - Conclusion

Hope you enjoy the video!

Bill
Рекомендации по теме
Комментарии
Автор

WARNING - This video contains a very bright shirt and may be harmful to your eyes! I'll have to remember not to film wearing that one again, sorry, I didn't realize how intense the color was until YouTube rendered the video.

Otherwise, I hope you enjoy the video!


Bill

Dronebotworkshop
Автор

I always wanted to learn about I2S and here is all in one theoretical / practical tutorial !!. Thank you for your awesome work.

usefulelectronics
Автор

You are setting the standard for excellence in tutorial videos; on YouTube and elsewhere! Well done! The content is very interesting and useful. Thank you so much!

yuchoy
Автор

This is an amazing channel. One of the few with thorough explanations for people like me with no background in electronics but eager to learn and hopefully complete some projects.

D_isco_D_ancer
Автор

Your videos are so excellent! I tought stuff like this for 20years and was losing interest, but after seen the qualty and content of your videos and teaching methods I am back at experimenting. Love it! thanks!

waltermartinez
Автор

Your videos are incredible. I've found them on multiple occasions by different search means. I don't know how to explain it but even beyond the usefulness of these incredibly high-quality tutorials your videos make me happy. I'm glad you're out there teaching people. Sending love

PS, shouts out to the esp32. what an awesome piece of kit.

_marlene
Автор

There is a small mistake at 2:08, I2S works with PCM (pulse code modulation), not pulse width modulation.

Love your videos! Thx for this great tutorial.

qzgfbnu
Автор

Just a note: The wiring diagram for the INMP441 at 13:04 doesn't immediately match the code download on your page: Specifically, GPIO pins 32 and 33 are switched. Easy fix, thanks for the clear explanation.

DataJanitor
Автор

You are awesome sir, i am truely honored to find you. Thank u for all of your perfect tutorials. Love from Iran

fathicoltd
Автор

Cool tutorial. Great to hear someone knowledgeable on this weird protocol.

marcdraco
Автор

Thanks! This is perfect! Your videos are so helpful!

thomasseverino
Автор

WOW! Sir, with this one you simply have over excelled yourself. I have been craving this tutorial. And it covers everything. Thank you and be blessed.

sinjhguddu
Автор

Excellent explanation and demonstration on the I2S protocol with the esp32. I'm planning to make an Internet radio and this is exactly the detailed information I needed, thank you.

ivovass
Автор

what I like about this channel is the very good explaination from theory to actual. Lot to learn from this channel

rhandynastor
Автор

It is absolutely maddening how little you discussed choosing the correct speaker.

TheAstronomyDude
Автор

You are very pedagogical and yet concise. Very good!

Algardraug
Автор

To get sound from microphone you need to correctly provide i2s_config and then correctly work with i2s_read. You described _EVERYTHING_ excluding probably quantum field theory but completely skipped the MAIN part of the tutorial. HOW TO WORK with sound by i2s :) I hoped for details in playing part but you got even further and replaced description completely by using ready-made library working ONLY with particular module :))) Great source of knowledge :) Probably I misread the header and idea was to work with i2s by itself. Not with sound and microphone ! Now we know how to work with I2s until we need meaningful results. Goal achieved :) God bless i2s, it's working :)

SugarTouch
Автор

I really like how you present your projects, I know it's alot of passionate work.

TheUnofficialMaker
Автор

Thanks for a nice compact tutorial on i2s and internet radio.

tpobrienjr
Автор

Wonderful tutorial. Exactly what I needed. Thank you so much. The only thing I don't understand is the fact that you only seem to own one Micro SD card. 🙂

applepiede