back to rasceiver

requirements & initial design

July 15, 2026

I started by brainstorming the core features it needs to satisfy. This is the list I came up with:

  1. Basic audio control features
    • Input Selection: I want to be able to easily switch between TV audio and streaming music.
    • Volume Control: Fully configurable audio control via hardware and software.
    • Network streaming: The default way to play music nowadays, especially for Gen Z, is to stream it from your phone. If I want it to be useful for our apartment, this is a must.
  2. Look good
    I don’t want this to be an eyesore for my roommates. I’m going to take heavy inspiration from the Onkyo Muse Y-50, with a 5 inch display and knobs to control the device.
  3. Sound good
    This is the most challenging part. The Heresy’s are highly sensitive, so if I have distortion on the audio signal then it will be heard.

Because of the sensitivity of the Heresy III’s, I decided to make it a pre-amplifier. That means it will control input and volume, but I’ll buy an external amplifier to simplify the design.

With those core features laid out, I made this high-level diagram of the whole system:

high-level system outline diagram
high-level system outline diagram

I found a Raspberry Pi 4 Model B for $15 on Facebook as I was making this diagram, so it became the main controller of the project.

The inputs include a volume knob, an input select knob, and a web server that will run as a process on the Pi. They will tell the Pi how to configure the input selection circuit and volume control chip.

The Pi will also be running a couple different network streaming services that will allow the user to stream from Spotify, Apple AirPlay, etc. The output of the Pi will be sent to a digital-to-analog converter (DAC) to be turned into an AC signal that will be processed by the input selection circuit.

The Pi will configure the input selection circuit to choose from the Pi output, or 1 of the 2 inputs exposed as RCA jacks on the enclosure of the pre-amp. The output of this circuit, the correct audio signal, will be sent to a volume control chip.

The volume control chip will most likely be a PGA2311 based on preliminary research (but TBD). The Pi will set the volume with SPI, and the chip will transform the signal to match the selected volume. The transformed audio signal will be output from this chip and sent to the external amplifier and speakers to be listened to!

Finally, all configurations and track info will be displayed on the 5” display driven by a process running on the Pi.

That’s the design as of now. I’ve ordered EC11 rotary encoders to write my first drivers for. I’ve also started an electronics course on vocademy.net to help with designing the input select and volume control circuits.