BBB Audio Input with I2S

Hi there!

I am currently working on a project involving some audio processing. An analog to digital stereo converter that can sample at 96k with 24-bit resolution is being used in conjunction with an external microphone to get digital audio data. This converter outputs data using the I2S bus specification (three pins: clock, word select, and data). My goal right now is to get the data outputted from this external ADC onto the BBB and stored in a file. My understanding is that the BBB supports I2S through the usage of HDMI. Is it possible to do what I want using the built in HDMI chip? If so, could you point me in the right direction to get this working? Or will it be easier to write my own code to interface with I2S using three GPIO pins?

Thanks for any insight and help.

N0 Loggers

Audio on HDMI is an output only.It cannot receive data.


A couple of years ago I designed and prototyped with the original BeagleBoard a single channel 24-bit, 192 kS/s high-quality audio DAC and an I2S driver for it. Works great.

The design is based in the TI PCM1792A chip

I am now planning to make it even better but have a few more urgent projects ahead of it.

I also designed a 24-bit, 192 kS/s single channel audio ADC board with a phantom microphone power connection.

Built a few boards but never had the time to test them. The design is based on the AKM AK5294A audio ADC.

Both boards use the expansion pins of the original BB and a few software tricks to get the necessary speed.

I am willing to join a project aiming to 20+ bit real life performance in digital audio.

If you talk about 32 bits, I am not interested…


Thanks for the responses.

I used two (2) McBSP ports and a few little tricks to achieve the required data rates

But it worked right and within the data sheet specification

I urge you to carefully compare McBSP and McASP and then decide which is the right way for you…

Good luck,


Hi, can you share some of the software drivers/hacks that you used to get the ADC to work properly?

Hi ezequiel esteban,

My drivers are for the mono DAC with 24-bit at 192 kS/s.

I also generate the x 256 system clock via I2S so the frequency is 49.152 MHz.

This requires the adjustment of the processor voltage to gain the required speed.

What is your sample size and sampling rate?

Botg ADC and DAC must be designed very carefully if your target is to work with

over 20 real bits (in)accuracy.


Thanks for answering!
My goal is use the TI pcm1803 (i have this board) to capture 24 bit audio @48/96 kHz (the source will be a mems microphone).
My doubt lies with the software, specifically I2S drivers.
So i would like to know if i can use the same modules that my BeagleBone Audio Cape uses to capture the digital audio
or i’ll have to write a driver just as you did.

Hope you can clarify me these matters.

Hi, I’m doing something very similar. Did you figure out how to use an I2S input with the BBB? Did you end up having to write drivers? Cheers!