Interfacing mic and speaker with TX2 module

Hi there,

I am looking into designing a custom carrier board the ability to hook up an analog or digital (have not decided yet but would like the option of both) speaker and mic with the TX2 module without using USB. What is the easiest method to doing this? I noticed TX2 has a few I2S ports which I could use for the speaker and mic. I am guessing if I use an analog speaker I would need a chip with a DAC and amplifier such as the MAX98357B and for analog mic use an ADC.

But I also noticed the pins H4, G4 and D16 and E16 for DSPK and DMIC pins. How do I use these pins to hook up a digital speaker and a digital MIC. In the TX2 module datasheet, it says that DSPK will use I2S interface. Which I2S port will it be using? There are only two pins CLK and Data for each controller. Just would like some more information on these pins and how to integrate them with a mic and speaker. Thank you for your help.


Yes you can use an I2S based audio codec that would provide both a Microphone input and Speaker outputs. There are many I2S codecs out there with various different features in terms of number of channels, sample rates and sample sizes supported. So you need to decide what audio requirements your carrier board needs to support.

Although we don’t recommend any specific 3rd party codecs over any other, some codecs are more complex to use and configure than others. For testing I2S audio on the Jetson TX2 devkit we have tested the following audio hat which features the sgtl5000 audio codec and this is very straight forward to use.

With regard to DMIC, there has been some discussion on the forum about this in the past and so take a look at the following thread …

The DSPK interface is completely separate to the I2S interface, and can be used to interface to speakers that support a PDM input or a PDM DAC. Again there are no particular PDM speakers or DACs we recommend.


Thank you for the detailed answer Jon! What is the advantage to using PDM speakers rather than through I2S format? I am not very familiar with audio, I only know the basic I2S format. I looked up PDM vs I2S format and it looks like the decimation filter is on the receiver for PDM and source side for I2S.


Sorry for the delay. There are probably a couple things to consider here …

  1. Features
  • If you don’t care at all about capture, then this is a mute point, but the I2S interface can capture and play at the same time where as the DSPK interface is for playback only.
  • I2S can support upto 32-bit samples where as the DSPK can only support upto 24-bit.
  • I2S can support upto 192kHz sampling rate where as the DSPK can only support upto 48kHz.
  • I2S can support upto 16 channels in TDM mode where as DSPK can only support upto 2 channels.
  • I2S is 4 wires (if using playback and capture) where as DSPK is 2 wires and so is simpler from a h/w standpoint.
  1. Audio quality
  • For I2S this is purely dependent on the audio codec that you use because the digital output, in the case of playback, is identical to the source PCM. However, for DSPK this is not the case due to the nature of PDM encoding. The TRM document provides some data on THD and Dyanamic Range for the DSPK but this is not an area I am that familiar with.

So what you can probably see is that I2S offers a lot more flexibility but DSPK can be a good option for simpler stereo audio playback.

Hope this helps.


I am working audio part in TX2 module. In that I am trying to capture sound using arecord command,
Command: arecord -D hw:1,0 -f dat -d 70 /tmp/cap.wav

Actually the file was creating but in that file sound not at all coming, Like its playing silent.

How can I solve this problem?


It is probably best to start a new thread and provide more details on what you are trying to interface the TX2 with.