I have vinyl player by Audio-Technica (model AT-LP60XUSB) which outputs audio streams via jack port or USB PCM. And I have now soundbar JBL500, which supports none of this carriers.
I decided to use one of my cheap Orange PI Zero2 PC to transfer audio data from USB PCM to soundbar via chromecast.
I used my fork
swyh-rs for audio streaming server and
pychromecast
to control soundbar.
The NIX build system is used to build ready-to-use firmware.
Install nix if you do not have one and run
nix build github:ein-shved/pcm-chromecast#firmware
This command will place the symlink result
to your current work directory and
firmware withing path result/sd-image/
.
Flash firmware to sd card with command
sudo dd if=result/sd-image/nixos-sd-image-*-aarch64-linux.img \
of=/dev/<your_sdcard_device>
Put sd card to your Orange PI Zero2 PC and power it on. It will search and use first available chromecast audio player in local ethernet network, to play audio from USB plugged-in pcm.
Here the scheme of connecting mini PC to vinyl player's board with powering it from its +12v input via mini560 dc-dc step-down.
I've 3d-printed (with FFF PetG) the holder to place PC inside player's case. The holder is glued to case and PC can screw to it with using of fused nuts.
Additionally, I needed to cut the opening in cast ethernet port. I 3d-printed the frame with SLA to cover the cat.
Here is the final look of assembled upgrade.