DYI all in one Networkplayer with Amp, (SBC + DAC + D-Channel Amp + LCD)

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi,

hope this is the correct place for my first DYI Project.

for years I had several Squeezebox based networkplayer at home. But it seems they are passing away one after the other. Until now I did not find a competitive priced replacement.
So I decided I have to realize my first DIY Project.
What I am thinking of is a Network Player based on a SBC (probably Ordroid C2) with a selfmade I2S-DAC, a selfmade D-Channel amp, operated via a LCD ( built in a case with all the other stuff) or a remote control. If possible, the devices should be modular.
High End Audio is not a target but adequate quality for background listening
As I am not an experienced circuit designer, I could need help for implementing.
So if anybody out there is intereste, any help is appreciated.


Best regards
 
Greg,
yes I am aware that there are many good solutions out there and if I do not manage to create my own solution, I will go for one of these.
But at the moment my biggest wish is to make my own Project, just because I never did something in electronics which was for myself.

@abraxalito

thank you very much for your tip, but similar to what I answered to Greg, the biggest reason for trying to do the project is that the first time in my life i want to do something for myself.
I do PCB-design every day, because it is my job, but I nevr hade a chance to design a pcb fo my own Project. Since 8 years I am talking about my own networkplayer, but at that time it was way to complex because I had to develope the FLAC Player itself and that was out of my possibility. With the today existing SBCs it became reachable.
It is very important for me to try to do it.
So for me the important thing is not to have the best or easiest solution out there, but to make it (hopefully with some help from other DIY-People) by myself.
If there is somebody out there who also has interest in building anything similar to a part of this project, maybe we can share knowledge and potential. I am open to anything.

Best regards
Erwin
 
Hi Erwin,
I recently started similar project, although I'm not making my own PCB-s but using finished modules (Orange Pi PC SBC, PCM5102 I2S DAC, TPA3116 Amp and I2C 2x16 LCD).
I am more oriented towards software side of the project. Currently I'm using Armbian with mpd daemon and working on Python program to control and display information.
I may help, within my limited knowledge and experience, with software side of your project.

Regards
Dario
 
Hi,
No, I use MPD (Music Player Daemon https://www.musicpd.org/). It's server-side music player and you can connect to it via various clients (there are great clients for Android), or by Python library MPDclient (that's my approach). Driver for I2S DAC is in Armbian kernel, you just need to activate it and activate GPIO pins for connection. Driver is chip independent, it is just communication protocol.
 
In the last months I have been working on an internet radio + cd-audio player integrated with amplifier for my parents. I deliberately chose an x86 thin client due to its perfect support with latest SW (plus I had already one available). I have always had good experience with Tripath amps so my amp decision was simple - 50W x2 TK2050 Dual Channel Class T HIFI Stereo Audio Digital Amplifier Board New | eBay

It actually perfectly fits into the empty space of Fujitsu Futro S450-2 Thin Client AMD Sempron 200U 1GHz 1GB RAM 1GB CF Karte

A 1.8" 160x128 TFT with mini pro arduino fits behind the front panel next to the audio connector, a potentiometer with large knob to the left next to the power button, value read by arduino. Four touch buttons (small blacked bolts with round head) next to each corner of the LCD, read by arduino.

Arduino communicates with the PC using internal serial port.

A slim CD drive with sata-usb adapter is placed above the amp/motherboard, ejecting to the left of the case, hooked to internal USB port with extra 5V taken from the board.

The playback SW is MPV as it works nicely with CD-DA and can completely communicate via its JSON socket API.

The control SW is written in python since there are existing libraries for udev (cd medium detection), mpv communication/events, easy work with serial port and simple threading.

OS is voyage linux (embedded distribution based on debian) which has root filesystem mounted read-only by default - necessary for reliable maintenance-free long-term operation.

Lots of trial/error when finding a solution for the noise caused by the PC ground loops. I ended up with two power adapters (one for the PC, another for the amp, switched by a relay). The amp has to be mounted fully isolated from the case ground (plastic bolts are easily available). With this setup the internal soundcard (some Realtek ALC HDA codec) has turned out basically noise-free, at full volume only very silent noise can be heard with ears directly placed on the speaker grills. Honestly, I was surprised by the internal soundcard and really like the sound.

Due to mechanical construction limits the volume control is performed by the soundcard (alsa mixer), combined with MPV internal volume for the low volume where the first several steps in the soundcard driver showed too coarse.

Even though I used mostly finished components, the project has proven to be pretty time consuming. I have already put hundreds of hours to it. Lots of mechanical as well as software work. Apart of huge time, the costs are negligible, up to 50 dollars.

One major disadvantage is that this particular CPU has bad scaling support and the device does heat. It does not affect its performance as the thin client was designed properly, but the power consumption when on is not just a few watts.

I will put the construction pictures as well as the python and arduio sw on github once its finished.

Seen from now, next time I would use a low-power arm board instead with good USB support offering native SPI + GPIOs. The involvement of arduino makes the sw significantly more complicated. Also modifying the existing PC case to fit/accommodate the CD drive and the LCD took a LOT of fine mechanical work. Starting with an empty case not restricted by existing control components would have been way easier. Also the potentiometer could have been directly in the analog path (dual logarithmic), making things simpler.
 
What I am thinking of is a Network Player based on a SBC (probably Ordroid C2) with a selfmade I2S-DAC, a selfmade D-Channel amp, operated via a LCD ( built in a case with all the other stuff) or a remote control. If possible, the devices should be modular.

Hello,

I jump in with a suggestion for the "selfmade I2S-DAC, a selfmade D-Channel amp" in case it would ring some bells. This part could be built around "Full Digital Amps": Chips that directly convert I2S signal to audio outputs. They have integrated DSP features. They can be controlled by I2C.

I have in mind the ST STA326 included in amps I'm using: FX-Audio D802. Abraxalito is playing with amps based on the same family in the Taobao amp. Ti has similar chips that also seem to offer very good performance.

At the moment, those chips are olny included in Chinese amps that people are obliged to retroengineer and tweak. It would make sense from my perspective to develop modular boards with I2S input, reasonably good power suplies where needed, and room for correct output filter components.

Some state that those amps perform beautifully. Some say that they are very good but not state of the art. My experience is that they deliver very good performance, allow for a full digital, neat and compact design.

I currently use those amps with a Nucleo Stm32 board for the multiple I2S (SPDIF in fact in my case) outputs, the DSP management and the Asynchronous USB (code on Github). I will drive this from the SBC.

I would like from minimalist perspective to find a way to fit an equivalent of MPD in the Stm32 or other possibility to feed the stm32 from the network, but I haven't found how yet.

Best regards,

JMF
 
Hi,

hope this is the correct place for my first DYI Project.

for years I had several Squeezebox based networkplayer at home. But it seems they are passing away one after the other. Until now I did not find a competitive priced replacement.
So I decided I have to realize my first DIY Project.
What I am thinking of is a Network Player based on a SBC (probably Ordroid C2) with a selfmade I2S-DAC, a selfmade D-Channel amp, operated via a LCD ( built in a case with all the other stuff) or a remote control. If possible, the devices should be modular.
High End Audio is not a target but adequate quality for background listening
As I am not an experienced circuit designer, I could need help for implementing.
So if anybody out there is intereste, any help is appreciated.


Best regards
Hi Eeerni,

I am in exactly the same situation: I've been using Logitech Squeezebox Touch / LMS for years and would like something more "modern" as well. It's a pity squeezeboxes haven't been developed anymore.

Things to consider:

1. The single-board computer. There are a lot of devices available, of which Raberries are the most commom and used. I plan a Odroid C2 as well. The advantages of a C2 over a RPi are a dedicated NIC (not shared with USB) with GB speed, a faster 64-bit CPU. And passive cooling is still sufficient. The disadvantage is that only a limited amount of music player software support the Odroid C2. In fact: I am only aware of Volumio.

2. The DAC. The easiest way is to select a HAT device (a DAC which you can just put on top of the computer. From what I've read the IQAudio devices are the best available. The is also a version with an integrated Class D amplifier available. Better DAC's are on a seperate PCB. From what I've read the ESS9018 has more potential than the AK4490, with the PCM1794 in between. But it is all about the implementation (quality of power supply) of course. The Soukris DAC is a complete different way of converting signals and I read a lot of good feedback on it (there is a topic on the Soukris DAC).

3. The amplifier. Again: a lot to choose from, but if your goal is compact size, low heat etc, consider Class. amplifiers. I am especially fond of Hypex, but that might also be because they are based in the same city as where I went to university.

4. Power Supplies. The Odroid C2 seems not that critical, but DAC's are. Good power supplies are key. For the Hypex power amplifier I consider the complementary power supplies from Hypex.

5. Bit perfect volume control, otherwise you won't get optimal sound quality on below maximum volume.

6. Housing. I especially like the Hifi2000 cases, also because customizations are possible.

7. Display. For both RPi and Odroid a wide varity of displays are available. I already have a VU7+ at home.

8. Triggering the DAC and power amplifier. Ideally I would the C2 switch on/off the DAC and power amplifiers. I have not worked this out yet, unfortunately.

9. Connectors, cables etc.

My current shortlist:
Odroid C2 + Soekris DAC + Hypex NCore with a VU7+ in a Hifi2000 housing.

I am starting with the C2 with the VU7+ and Volumio. When I have this working as I would like it to be I plan to add the DAc and after that the power amplifiers.

Good luck with your project!
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.