• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Development of DIY Pi5 multi-channel soundcard

gordoste

Member
Joined
Nov 19, 2023
Messages
32
Likes
25
Hi all, I am working to develop a soundcard for the Pi5 that utilises the new multi-channel I2S capability. The design parameters are:
  • Decent performance for reasonable price (<-90dB THD+N for ~$100 parts)
  • 8 channels out, 6+ channels in
  • At least 96kHz sampling rate
  • Full isolation from the Pi - so it will not use the Pi's power supply either.
  • Single-ended inputs/outputs
This is not supposed to be an audiophile device - it is just supposed to work (especially the first version). My particular use case is to allow a Pi to act as the brains of my DIY DSP-capable AVR, without needing to send the sound out over HDMI (this has some issues and takes up much more space).

I selected TI's PCM3168 because the datasheet is more detailed than the one for the other main candidate, the AD1934, and it looked like the Linux driver support was much more complete. However, it has differential inputs and outputs which makes the surrounding circuitry more complicated. I am attaching the prototype design which I am pretty close to sending for fabrication. I would appreciate comments and suggestions from anyone who is interested. A few notes about the design:
  • Yes, those are electrolytic AC coupling caps. I know film caps are better, but for the prototype these will have to do. If anyone can suggest a good, not-too-expensive film cap, I'm all ears.
  • Power input is +/-6V. There is a separate board (still under design) to supply this using two SMPS.
  • I selected the OPA1679 as the op-amp, as the one in the datasheet (OPA4134) is too expensive. It has lower noise but higher distortion (although still very low). The slew rate is less than half of the 4134 and it is unity-gain stable. Importantly, it's about a quarter of the price! It seems like it should be OK, but TBH I have little knowledge in this area.
  • Descriptions of the various schematics:
    • rpi_soundcard.pdf - The top-level schematic with the PCM3168
    • rpi_soundcard-Input.pdf - Input side, with 6 input filters into buffers into SE-to-Diff converters
    • rpi_soundcard-Input-inFilt1.pdf - Input filter. RF filter, HPF, under/over-voltage protection
    • rpi_soundcard-Input-LPF12.pdf - SE-to-Diff converter and LPF (straight from datasheet)
    • rpi_soundcard-Output.pdf - Output side with 8 channels of diff-to-SE conversion and AC coupling
    • rpi_soundcard-Output-out1234.pdf - 4 channels of diff-to-SE conversion
    • rpi_soundcard-Output-out1234-of1.pdf - Single channel diff-to-SE converter
    • rpi_soundcard-Output-outCap4.pdf - Output AC coupling
    • rpi_soundcard-Pi_and_Isolation.pdf - Pi GPIO connector and isolation
    • rpi_soundcard-power.pdf - Generates +5VA, VDD for PCM3168 and VCC+/VCC- for op-amps
Well, that's all I can think of for now! I'm sure it can be improved... have at it!
 

Attachments

  • rpi_soundcard.pdf
    341.3 KB · Views: 64
  • rpi_soundcard_pcb.zip
    216.9 KB · Views: 37
  • rpi_soundcard-Input.pdf
    162.9 KB · Views: 37
  • rpi_soundcard-Input-inFilt1.pdf
    32.8 KB · Views: 28
  • rpi_soundcard-Input-LPF12.pdf
    117.8 KB · Views: 45
  • rpi_soundcard-Output.pdf
    116.8 KB · Views: 27
  • rpi_soundcard-Output-out1234.pdf
    97.2 KB · Views: 28
  • rpi_soundcard-Output-out1234-of1.pdf
    51.3 KB · Views: 28
  • rpi_soundcard-Output-outCap4.pdf
    19.3 KB · Views: 37
  • rpi_soundcard-Pi_and_Isolation.pdf
    255.3 KB · Views: 33
  • rpi_soundcard-power.pdf
    155.5 KB · Views: 41
OP
G

gordoste

Member
Joined
Nov 19, 2023
Messages
32
Likes
25
OK, well over the last month I have made substantial improvements to the design, including:
  • Corrected a major schematic error where +/- inputs of some op-amps were swapped.
  • Complete redo of layout, with much better routing and less wasted space.
  • Change of grounding scheme away from split grounds for the codec. After a lot of reading, it seems to me that the split ground approach has fallen out of favour. The codec side of the isolators have a separate ground with star point at the power supply, but the codec and input/output circuitry have one big ground plane. (The Pi side of the isolators is obviously totally separate). Input and output ground are joined, but there is no path from those to the internal ground (these will be connected via power ground externally).
  • Added more decoupling caps for op-amps and codec chip.
  • Moved the caps between +/- of the differential inputs close to those inputs.
I am happy with my op-amp choice as I found another thread on here (I think the RTZ DAC) where someone had good results with OPA1679 as a drop in for NE5532, which is the other candidate in the datasheet.

I've now ordered the prototype boards, as well as the power board which generates +/-6V@1A using two LMR54410 switchers (one in inverted configuration).
 
Top Bottom