Skip to content

sonocotta/raspberry-media-center

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi Media Center

Open Source Hardware Open Source Software

DSC_0015

Raspberry Pi Media Center is a series of Raspberry Pi Zero-based media center devices. They share a similar look, and compared to my earlier designs, they have a great-looking aluminum case.

Table of Contents

Motivation

I did few audio projects in the past, some using ESP32, some using larger Orange Pi and Raspberry Pi devices. Each has its pros and cons, and with each iteration I'm trying to focus on the details that were working best for me, while actually using them.

What is special about the Raspberry eco-system is of course its community support. Being a not-so-strong software developer, I often have to rely on the work that other people did and baked into the base Raspbian image. Attaching a DAC, Ethernet, and IR reader is as simple as adding 3 lines into the config.txt file

dtoverlay=gpio-ir,gpio_pin=23
dtoverlay=w5500
dtoverlay=hifiberry-dac

All the device tree definitions, kernel drivers, and dependency packages are already in place, believe it or not.

Sure, compared to the ESP32 platform it is not as lightweight. It requires more power, it takes some time to boot. But when it comes to rapid development, there is nothing like the Raspberry Pi.

Raspberry Pi HiFi

Raspberry Pi HiFi is a first-in-line product that uses the legendary PCM5100 series DAC with supreme audio quality. It exposes line-level output that you can plug into a stereo amplifier. Spend as much as you need on the external amp to deliver the sound you like (personally I prefer late 80's audio gear).

DSC_0727

Loud Raspberry Pi

Work in progress. Spoiler alert, it uses dual MAX98357 DACs with a built-in amp. It is not too loud, but also very simple to use and fun to play with.

Louder Raspberry Pi

Louder Raspberry Pi is a top-of-the-range model that uses a modern highly capable TAS5805M DAC and is aimed to be paired with medium-to-large speaker systems. With 25W per channel stereo output, it packs a punch and can easily enliven living quarters or dorm rooms. It is highly efficient, but much more demanding for power when cranked, therefore it uses USB-C Power Delivery to pull up to 65W from the wall power adapter. It can be used both with Wi-Fi and Ethernet (to make sure bad Wi-Fi would not interrupt the stream)

DSC_0008

Features

HiFi Raspberry Loud Raspberry Louder Raspberry
Image DSC_0733 (copy 1) WIP DSC_0011-copy
DAC PCM5100A 32bit Stereo DAC Dual I2S DAC MAX98357 with built in D-Class amp Stereo I2S DAC TAS5805M with built in D-Class amp
Output 2.1 VRMS Line level output
-100 dB typical noise level
2x 3W 2x 22W at 20V over USB-PD
IR reader yes yes yes
RGB LED yes yes yes
External relay driver yes no yes
Ethernet Wiznet W5500 SPI Ethernet Wiznet W5500 SPI Ethernet Wiznet W5500 SPI Ethernet
Powers from 5V USB-C power adapter
Triple LP5907 3.3 V Ultra-Low-Noise LDO
5V USB-C power adapter 65W USB-C PD power adapter
Mechanical dimensions (WxHxD) 88mm x 38mm x 100mm 88mm x 38mm x 100mm 88mm x 38mm x 100mm

Board Pinout

Audio

I2S CLK I2S DATA I2S WS
Raspberry Pi Zero (BCM) 18 21 19

Peripheral

SPI CLK SPI MOSI SPI MISO LAN RES LAN CS LAN INT WS2812 RGB LED RELAY EN IR INPUT
Raspberry Pi Zero (BCM) 11 10 9 24 8 25 12 7 23

Peripheral (Louder)

I2C CLK I2C DATA DAC PWDN DAC FAULT PD POWER GOOD
Raspberry Pi Zero (BCM) 3 2 4 26 16

Software

Being a Raspberry Pi software selection is a vast space for experimentation. First things first, for any OS you need to configure DAC. Then we talk about different OS options.

DAC Configuration - HiFi and Loud Raspberry Pi

You can use any distribution you like. The only change you need to make to enable hardware is to add 3 lines to the /boot/config.txt

dtoverlay=gpio-ir,gpio_pin=23
dtoverlay=w5500
dtoverlay=hifiberry-dac

DAC Configuration - Louder Raspberry Pi

TAS5805M DAC is not supported by default Raspbian distribution, therefore some work needs to be done to enable it. Linked repo contains code and instruction on how to configure it. It will take you 5 minutes and one reboot.

Bare OS Options

With the bare OS you're in full control of what to install and configure. IT is totally up to your use case.

Raspbian DietPi PostmarketOS
Link link link link
Code link link link
Based on Debian Debian Alpine
Type Bare OS Base OS Bare OS

Bare OS + Standard client services

This is a work in progress and the idea is to have a bare minimum OS (be it Raspbian, DietPi, or Armbian) and install the most used client services via the Ansible playbook. I will add more details, as soon as I have working samples, but planned things to add are

  • Spotify Connect
  • Apple Airplay
  • Mpd
  • Network Pulsesink
  • UPNP sink
  • Snapcast client
  • Slimproto client
  • Basic UI with configuration

This will allow to integrate into existing media sources with Home Assistant, LMS, or Mopidy instance, including multi-room sync.

Third-party Media Software

HifiBerry OS PiCorePlayer MupiBox Mopidy Volumio Moode Balena Audio
Link link link link link link link link
Code link link link link link link link
Based on Debian Tiny Core Linux DietPi Debian Debian Debian Balena
Type OS + Services OS + Services OS + Services Services only OS + Services OS + Services OS + Services
Remote management No No No No No No Yes
SW support
UI/UX features
Web UI Yes Yes Yes Yes Yes Yes
Mobile App/UI Yes Yes Yes Yes Yes
IR Remote ? Yes ? ? ? ? Custom
Server features
LMS server Yes ? No ? ? ?
Local library Yes Yes Yes Yes Yes
Radio providers Yes Yes Yes Yes Yes
Snapcast server ? ? ? ? ? ? Yes
Client features
LMS Client/Squeezelite Yes Yes ? No Yes Yes ?
Airplay Yes Yes ? No Yes Yes Yes
Spotify Yes Yes Yes No Yes Yes Yes
Snapcast client (HA) Yes ? ? ? ? ? Yes
Pulseaudio sink ? ? ? ? ? ? Yes
UPNP/DLNA client Yes Yes Yes
MPD Yes

Hardware

Please visit the hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs as well as Gerber archives.

HiFi Raspberry Pi

Front Back PCB
DSC_0730 (copy 1) JPG-mh (1) DSC_0733 (copy 1) JPG-mh DSC_0739 (copy 1) JPG-mh

Louder Raspberry Pi

Front Back PCB
DSC_0730 (copy 1) JPG-mh (1) DSC_0011-copy JPG-mh DSC_0004-copy JPG-mh

Where to buy

You may support our work by ordering this product at Tindie

Press mentions

About

Raspberry Pi Zero based media center (Hardware project)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published