1
\$\begingroup\$

On my PCB (connected to a Raspberry Pi, an Arduino, a C.H.I.P. or anything), I want to provide audio output for:

  • a small speaker
  • or, when a 3.5 mm minijack is inserted, to stereo headphones (that would disconnect the speaker)

Instead of using

board ==(I2S)==> DAC => amp => speaker or headphones

I was thinking about :

board ==(I2S)==> amplifier such as MAX98357A => speaker or headphones

Problem : this MAX98357A seems to be mono only. The datasheet suggests using two of them to make a stereo output, but I find it not very elegant solution.

Are there "all-in-one" (DAC+amp) solutions to provide stereo output? (I'm not looking for shopping advice, I just want to know if, as a general question, this exists or not).

Would using two such mono chips be considered as a normal practice?

The datasheet carries this example:

MAX98357A datasheet: dual-IC stereo

Moreover, this MAX chip looks hard to solder manually (SMD). Do you think this kind of SMD soldering is achievable manually?

\$\endgroup\$
  • \$\begingroup\$ @MarcusMüller : Read [...]. At least the title of figure 19.: it seems that you haven't totally read my question: The datasheet suggests using two of them to make a stereo output, but I find it not very elegant solution.. Of course I read figure 19, that's why I'm asking this question here, because I don't find it very elegant to make a stereo output with 2 chips (won't the microcontroller see 2 totally different devices, etc.?). Please don't misunderstand me, and don't blame me about that: I did read the datasheet, and I mentioned their suggestion (fig 19) to use 2 chips, etc. \$\endgroup\$ – Basj Mar 31 '17 at 13:46
  • 2
    \$\begingroup\$ In what way is that not an elegant solution? It's literally two times the same chip with no additional components? So, maybe you'd want to elaborate on that in your question! \$\endgroup\$ – Marcus Müller Mar 31 '17 at 14:00
  • \$\begingroup\$ @TonyM hey, thanks, I kind of needed that kind of nudge. So yes, I might have been a bit overly agressive on this. So, I'm still actually pretty happy that OP helped me see the core of the question, which is finding a more elegant elegant approach than the one from aforementioned figure 19 (I'm about to submit an edit that incorporates that figure in the question, just to make the question clearer, but thought it might be a better idea to react to your comment first). I really don't mean to lash out! I'm sorry if that's the impression I leave! \$\endgroup\$ – Marcus Müller Mar 31 '17 at 14:11
  • \$\begingroup\$ @TonyM So, edit done. So, while I apologize for your point (1), I don't really see (2), but that might be simply due to a very very very different threshold for that, I fully recon, so I can genuinely apologize for that without thinking I've actually done any harm in that respect, and (3) yeah, see my last comment. By the way, I do recognize I'm in the wrong here and might need to be a little careful to not appear counter-accusing, but: Seriously, I'm not here to lash out at folks. That's kinda a mean thing to say to someone with 376 answers :/ but I also kinda deserved that one. \$\endgroup\$ – Marcus Müller Mar 31 '17 at 14:17
  • \$\begingroup\$ @Basj So, following your comment, so I'd really like to know in which way you'd specifically you don't like the 2x MAX98357A approach; in which way is it not elegant? Too many ICs? The employment of the GPIO to switch the channels? \$\endgroup\$ – Marcus Müller Mar 31 '17 at 14:21
1
\$\begingroup\$

Such chips exist:

http://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1373.pdf

There's one in every cellphone... however the real problem will be finding them in a package that isn't some microscopic variant of BGA.

Please note that I2S sends both channels on the data line, and the WCLK line distinguishes left and right channel. If you use 2 chips, like in your schematic, your chips need to be aware of this and be able to extract the proper channel from the I2S stream. The ones you quoted are able.

The ShutDown/Mode pin can be used to put the chip in shutdown or set up which I2S audio channel is piped to the speaker. By default, the amp will output (L+R)/2 stereo mix into mono out. By adding a resistor, you can change it to be just left or just right output

I suggest using DigiKey search tool, search for codecs/dacs, with headphone amp in the features, and filter by package maybe.

\$\endgroup\$
0
\$\begingroup\$

Is there all in one stereo ones? Sure. I won't look for you but I'm sure Maxim catalog has them.

Why is using two inelegant? Two means you can route them separately if needed. The combined power output per IC size is better imho.

As for your i2s output seeing two chips, that's by design. It doesn't really see two things, because it's not bidirectional, it just pushed data out. It doesn't care what's connected. The standard seems to use the resistor on the lower IC as a channel select, so the ICs respond as true stereo instead of duplicated mono.

For SMD I can't see what the form factor is, but anything with leads can be done with a fine tip and some desoldering wick. Most things without leads can be done with a hot air gun. I've done lead less and BGA/WLP with a butane mini torch with a hot air attachment. Just get a prototype PCB made (10 dollars ITEAD or SEEED service).

\$\endgroup\$
  • \$\begingroup\$ Thanks @Passerby. Do you think MAX98090 would work? It looks like a stereo DAC + stereo amp, all-in-one, but I'm not really sure... \$\endgroup\$ – Basj Apr 9 '17 at 22:06
  • \$\begingroup\$ Seems like it should, but also seems like overkill. \$\endgroup\$ – Passerby Apr 9 '17 at 23:00
  • \$\begingroup\$ Why an overkill @Passerby? (This is what I was looking for: Are there "all-in-one" (DAC+amp) solutions to provide stereo output?) \$\endgroup\$ – Basj Apr 10 '17 at 8:43
  • \$\begingroup\$ It has multiple analog to adc options, when all you want is dac to amp. \$\endgroup\$ – Passerby Apr 10 '17 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.