Schematic questions

I would like to see a Bill of Materials (BOM) for each of the boards. Is this available?

Also, on the Preamp board after the buffer op-amps you have a diode, then resistor and cap. What is the diode for and are the resistor and cap an antialiasing filter ?

Specifically, I am referring to the preamp schematic, page 2, diode D1, C62 and R91.

It seems to me that the diode will eliminate the signal information below the diode turn on voltage (possible 0.6V). Signal then goes through R C network and then into the A/D (MCP3008).

What would 1/2 wave rectifying an audio signal do to the sound quality?

Still confused…

OK, sorry, I see where ALGx_R and ALGx_L are DC biased up to 2.5V, so diode does no harm, and may be protecting op amp?

The diode followed by a resistor and cap to ground acts as a “peak detect” circuit. The input of that sub-circuit is the biased RCA input, but buffered through an op-amp so as to not affect the actual audio. The output is effectively the max value of the input, with a slow decay back to 0V. That output is read by an ADC (U29) so the software can determine if there is audio playing on the RCA inputs.

As for the BOM, unfortunately we do not provide that. In general AmpliPi aims to be substantially open-source so that users are able to fully understand, maintain, and modify their units. To that end we provide software, firmware, and schematics. On the other hand, the reality is continued development is funded by sales of hardware. Due to this reality there are no plans at this time for us to offer the PCB layout and other manufacturing files, as this would be detrimental to the long-term health of the project.

1 Like

Thanks. Interesting way to see if there is a signal on any analog input.

Another question. The i2s DAC is driven by a GPIO from the Pi card. What kind of data does the Pi send? I could not find any code driving this…

I guess the USB DAC can be used for SPDIF input, and input from phone via audio jack. But can data comes from USB?

And finally, what format does data from an internet stream use and how is it input to the hardware?

Thanks

The PCM5102A DAC has an I2S input. Those GPIO pins on the Pi are configured to be I2S in the /boot/config.txt file. The same DAC was used on a HiFiBerry board and added to the Linux kernel hence the hifiberry-dac name for the device tree overlay.

The CM6206 USB ADC/DAC both sends and receives audio via USB. Both it and the I2S DAC show up as audio devices on the Pi, so from our applications’ viewpoints they are just like any other audio sink on Linux.

Internet streams can have various formats, we let VLC do the heavy lifting there. See our runvlc.py, but from a high-level perspective playing a radio stream, local file, or whatever else VLC can ingest all ends up being the same: open URL, send audio to selected audio device.

1 Like

Thanks for the info.

Since I noticed this, thought I would comment.
The Controller Board Schematic 4A has two sections of interest: “USB HUB/ETH MAC & PHY” and “USB Ports”. The USB Ports section indicates that USB 2, 4 and 5 are used for different purposes than specified in the other section (appears to be).

Thanks again

Good catch, it seems like everything is correct except for the “USB HUB/ETH MAC & PHY” section. Those labels for USB 2-5 are all mismatched. My guess would be things got swapped to make layout easier but the labels didn’t get updated.