FS: (DIY) Complete DAC+Amplifier network HI-FI music player based on Raspberry Pi 3
The purpose of this post is to share my own DIY work on a complete HiFi music player system built around Raspberry Pi 3 and gather feedback on the design so that I can improve it in the future.
A quick summary:
DAC:
CLK:
Performance:
The results are following:
The design goal is:
The final product is shown below.
Thanks to the TPA3128D2, it can deliver 2x30W power into an 8 ohms BTL load at 24V supply. The entire system is covered with an acrylic case and only need a power cable, Ethernet cable as the input and two pairs of the speaker cable as the output. To ensure reliable operation and truly plug-and-forget experience, an ultra-quiet 120mm fan (NF-S12B redux-700) is included. The fan only generates 6.8 dBA of noise.
The internal design is shown below.
1 is the AC power entry module, it has built-in filter and switch so that you can power down the system if you like.
2 is the AC-DC converter from mean well. I have seen a lot of bias toward switching power supply but it is needed to keep the cost and size down. This one can deliver 100W without ventilation and 150W with 20CFM ventilation with 90VAC to 264VAC input. It also featured active PFC and certified as medical grade. The output is 24V DC with 100mV peak to peak ripple.
3 is the power processing board. The 24V power from the power supply will be filtered with 2 1mF FR cap from Panasonic (EEU-FR1V102B), then feed into the next stage. An LM1084 is used to generate 22V voltage from the 24V supply for the amplifier. In addition to the 2mF input cap, a 47uF/35V ceramic cap sits right next to the input pin of the LDO to improve the transient response. Any high-frequency noise generated by the switching power supply should be filtered enough by the input capacitor stage while the LDO’s bandwidth should be wide enough to track and compensate the residual low-frequency noise. The output of the LDO is further filtered by a 1mF cap before feeding to the amplifier, ensure maximum noise reduction. In addition to the 22V rail, a DC-DC converter from TI is used to generate 5V power rail to power the digital circuit. The 5V rail shares the input filter stage with the 22V rail, its output is filtered by 300uF ceramic capacitors as the digital circuits are more likely to generate large load current steps.
4 is the DAC-amplifier board. The DAC and amplifier IC is located at the bottom of the PCB so that I can ask the PCB house to do the QFN chip assembly without cost too much money.
4a is the amplifier portion of the board. The 22V power rail is again filtered by 4 ELNA 220uF capacitor (RFS-35V221MI6#5), I hope their so called ‘silk fiber’ can give the final sound a unique touch. Two additional 1mF FR caps are added because I am paranoid about the low lifespan of these ENLA caps (1000 hours @ 85-degree C vs FR’s 5000 to 10000 hours @ 105-degree C). A few ceramic caps are also added right next to the power pin to further improve the transient response.
4b is the DAC portion. The DAC power delivery contains three dedicated 3.3V rails, CLK power, Analog power and Digital power. Each rail is generated by an ultra-low noise from ADI (ADM7154, 1.6uV RMS noise integrated from 10Hz to 100KHz). The LDO is feed by the 5V power rail is supplied through the Raspberry Pi’s GPIO power. Since it is noisy, each LDO has a 470uF Panasonic FK-V cap (EEE-FK1A471GP) for input cap and output cap (CLK LDO does not have FK-V output cap). In addition to the electrolytic caps, each LDO also has 47uF ceramic caps right next to input and output pins for further filtering. The power input pins of DAC also have 47uF ceramic caps sits close by.
The PCM5242 is set to master mode and dual crystal is used for 44K and 48K Hz sampling rate families. The crystals are OX-U series from Taitien. They are specially made for HI-FI audio and can achieve phase noise of -127 dBc/Hz @ 100Hz offset.
Only the high precision thin film resistors (0.1%, 0.5% precision with < 50 ppm temperature dependence) and film capacitors are used in the signal path. The DC block caps between DAC and amp and the LC filter caps are PPS film capacitors.
I have chosen Moode Audio as the OS (thank you to @TimCurtis, the author of Moode Audio). It works perfectly with Allo Boss driver.
I have also made some tests. The test is made by a Tektronix RSA 5126A real time signal analyzer. All the tests are made with an 8 ohms dummy load@1W. The entire system is under test just like how it should be used in the normal case, shown in figure below.
The results are following:
THD:
Frequency response (power at 20Hz as the 0-dB reference):
4. Out of band noise. I am very curious about the out of band noise performance of the class-D system as it is inherently a switching system. This measurement is taken when the amplifier was delivering 1W power to the 8-ohm load using a 1KHz tone. The power at 1KHz was used as the 0-dB reference. From the result the switching noising is suppressed heavily.
I decided to sell the rest 3 unit for 299 dollars each to recover some of the development cost. Each system also comes with a new Raspberry Pi 3, an AC power cord (US plug), a 16GB SD card load with Moode Audio 4.0. For these who are interested, please use the following eBay link to order.
(DIY) Complete network HI-FI music player based on Raspberry Pi 3 | eBay
Free shipping within US. For overseas users the actual shipping cost will be collected. Any suggestions or comments are also welcomed.
The purpose of this post is to share my own DIY work on a complete HiFi music player system built around Raspberry Pi 3 and gather feedback on the design so that I can improve it in the future.
A quick summary:
DAC:
- TI PCM5242 with fully differential mode
- TI TPA3128D2 in BTL mode
- 220/110V AC to 24V DC: MEANWEL EPP-150-24
- 24V DC to 22V DC LDO: TI LM1084, 100uV ripple at output
- 24V DC to 5V DC: DC-DC converter TI LMZ23603, this also powers the RPi
- 5V DC to 3.3V DC: 3X Analog device ADM7154ARDZ-3.3-R7, ultra-low noise: 1.6uV (10Hz to 100KHz), ultra high PSRR: 90dB (200Hz to 200KHz), one dedicated LDO for DAC analog rail, digital rail and clock.
- Panasonic FK-V series capacitor for DAC segments
- Panasonic FK series and ELNA silk fiber capacitor for amplifier segment
CLK:
- Taitien OX Series 1x 49.1520MHZ + 1x 45.1584MHZ, ultra-low phase noise: -128dBc/Hz @ 100Hz offset
Performance:
The results are following:
- THD: 0.027% (20Hz to 96KHz, 1KHz signal)
- Channel separation (1KHz): 80.49dB
- 1-dB bandwidth: 39KHz
The design goal is:
- The system should be self-contained and should look like a modern home electrical applicant.
- High fidelity
- Easy to use
The final product is shown below.
Thanks to the TPA3128D2, it can deliver 2x30W power into an 8 ohms BTL load at 24V supply. The entire system is covered with an acrylic case and only need a power cable, Ethernet cable as the input and two pairs of the speaker cable as the output. To ensure reliable operation and truly plug-and-forget experience, an ultra-quiet 120mm fan (NF-S12B redux-700) is included. The fan only generates 6.8 dBA of noise.
The internal design is shown below.
1 is the AC power entry module, it has built-in filter and switch so that you can power down the system if you like.
2 is the AC-DC converter from mean well. I have seen a lot of bias toward switching power supply but it is needed to keep the cost and size down. This one can deliver 100W without ventilation and 150W with 20CFM ventilation with 90VAC to 264VAC input. It also featured active PFC and certified as medical grade. The output is 24V DC with 100mV peak to peak ripple.
3 is the power processing board. The 24V power from the power supply will be filtered with 2 1mF FR cap from Panasonic (EEU-FR1V102B), then feed into the next stage. An LM1084 is used to generate 22V voltage from the 24V supply for the amplifier. In addition to the 2mF input cap, a 47uF/35V ceramic cap sits right next to the input pin of the LDO to improve the transient response. Any high-frequency noise generated by the switching power supply should be filtered enough by the input capacitor stage while the LDO’s bandwidth should be wide enough to track and compensate the residual low-frequency noise. The output of the LDO is further filtered by a 1mF cap before feeding to the amplifier, ensure maximum noise reduction. In addition to the 22V rail, a DC-DC converter from TI is used to generate 5V power rail to power the digital circuit. The 5V rail shares the input filter stage with the 22V rail, its output is filtered by 300uF ceramic capacitors as the digital circuits are more likely to generate large load current steps.
4 is the DAC-amplifier board. The DAC and amplifier IC is located at the bottom of the PCB so that I can ask the PCB house to do the QFN chip assembly without cost too much money.
4a is the amplifier portion of the board. The 22V power rail is again filtered by 4 ELNA 220uF capacitor (RFS-35V221MI6#5), I hope their so called ‘silk fiber’ can give the final sound a unique touch. Two additional 1mF FR caps are added because I am paranoid about the low lifespan of these ENLA caps (1000 hours @ 85-degree C vs FR’s 5000 to 10000 hours @ 105-degree C). A few ceramic caps are also added right next to the power pin to further improve the transient response.
4b is the DAC portion. The DAC power delivery contains three dedicated 3.3V rails, CLK power, Analog power and Digital power. Each rail is generated by an ultra-low noise from ADI (ADM7154, 1.6uV RMS noise integrated from 10Hz to 100KHz). The LDO is feed by the 5V power rail is supplied through the Raspberry Pi’s GPIO power. Since it is noisy, each LDO has a 470uF Panasonic FK-V cap (EEE-FK1A471GP) for input cap and output cap (CLK LDO does not have FK-V output cap). In addition to the electrolytic caps, each LDO also has 47uF ceramic caps right next to input and output pins for further filtering. The power input pins of DAC also have 47uF ceramic caps sits close by.
The PCM5242 is set to master mode and dual crystal is used for 44K and 48K Hz sampling rate families. The crystals are OX-U series from Taitien. They are specially made for HI-FI audio and can achieve phase noise of -127 dBc/Hz @ 100Hz offset.
Only the high precision thin film resistors (0.1%, 0.5% precision with < 50 ppm temperature dependence) and film capacitors are used in the signal path. The DC block caps between DAC and amp and the LC filter caps are PPS film capacitors.
I have chosen Moode Audio as the OS (thank you to @TimCurtis, the author of Moode Audio). It works perfectly with Allo Boss driver.
I have also made some tests. The test is made by a Tektronix RSA 5126A real time signal analyzer. All the tests are made with an 8 ohms dummy load@1W. The entire system is under test just like how it should be used in the normal case, shown in figure below.
The results are following:
- THD: 0.027% (20Hz to 96KHz, 1KHz signal)
- Channel separation (1KHz): 80.49dB
- 1-dB bandwidth: 39KHz
THD:
Frequency response (power at 20Hz as the 0-dB reference):
4. Out of band noise. I am very curious about the out of band noise performance of the class-D system as it is inherently a switching system. This measurement is taken when the amplifier was delivering 1W power to the 8-ohm load using a 1KHz tone. The power at 1KHz was used as the 0-dB reference. From the result the switching noising is suppressed heavily.
I decided to sell the rest 3 unit for 299 dollars each to recover some of the development cost. Each system also comes with a new Raspberry Pi 3, an AC power cord (US plug), a 16GB SD card load with Moode Audio 4.0. For these who are interested, please use the following eBay link to order.
(DIY) Complete network HI-FI music player based on Raspberry Pi 3 | eBay
Free shipping within US. For overseas users the actual shipping cost will be collected. Any suggestions or comments are also welcomed.
Last edited:
- Status
- Not open for further replies.