Modular Open-Source AV Receiver

A specification and reference design for a modular audio/visual receiver

Similar projects worth following
I'm building a modular open-source AV receiver platform, with the following features
- Receive digital audio from TV via HDMI ARC
- Share control signals via HDMI CEC
- Multi-channel audio decoding and amplification
- Multiple outputs
- Apply DSP effects

- Allow your TV remote to seamlessly control an existing analog amplifier/receiver
- Send a mono mixdown from your home cinema to the bathroom
- Room/speaker compensation
- Start with a 2.0 system, later upgrade to 5.1

My work will be available on github as soon as I’ve firmed up the implementation details and done some proof of concept. The module specification (electrical, mechanical, and control protocol) will be free for anyone to use, and my module designs will be published as open source hardware (license TBA, likely either GPLv3 or CC-BY-SA, but I’m open to advice).

Background & Inspiration

Audio reproduction technology (by which I mean "speakers") hasn't fundamentally changed for many years. Yet the obsolescence timeframe of an Audio-Visual Receiver is becoming shorter due to changes in digital technology: SPDIF, HDMI, more channels, etc. Newer technologies are increasingly closed-source. My old analogue amplifier still drives my speakers perfectly, why should I throw it out?

Desired Outcomes

The idea is to prevent the wasteful discarding of obsolete equipment by allowing incremental upgrades. The modular system will be entirely open-source so that any interested person can make their own module to serve their unique needs (or for fun). Eventually I would like to see compatible modules available from multiple vendors (much like Raspberry Pi & Arduino add-ons).

Backplane Interface 20170321.ods

Status: Request for Comments initial draft of backplane interface spec, based on PCIe x1 connector

spreadsheet - 16.10 kB - 03/21/2017 at 08:03


View file

  • Starting on a test PCB

    Andrew Bolin2 days ago 0 comments

    Today I worked on a PCB for proof-of-concept, essentially it will be an adapter to a Raspberry Pi header.

    One module will have a Raspberry Pi, one module will have a Pi DAC module.

    Once this is working, I will be able to use it to check other custom modules.

    So far I have discovered one problem, that using a PCIe x1 connector probably isn't going to allow me to use more than one signal source. Pretty much all the pins are used up with 8 channels of audio, all using the same clocks. I suspect it will be impractical to sync multiple sources with the same clock (although I will look into it), so I will probably have to go to a bigger connector to allow multiple sets of 8 audio channels. Maybe I'll go for a few sets of stereo and a couple of 8 channel sets (or is stereo falling out of favour?)

    Schematics are on github, unfinished, not laid-out yet.

    Next: Finish schematic, layout, send for manufacture.

  • Design thus far

    Andrew Bolin03/21/2017 at 00:56 0 comments

    A summary of my design thus far (work very much in progress)

    - 8 channels of digital audio (considering upgrade to 16 or more)

    - Backplane with PCI-express connectors (cheap connector with many pins, saves cost on module)

    - Daisy-chain modules to allow DSP of any input (or no DSP module at all)

    - Module capability discovery via I2C/SPI EEPROM

    - Minimal work required of CPU (e.g. choice of Arduino, Raspberry Pi, maybe 6502 if you can bit-bang the bus)

    Vague block diagram:

    (signal flow is from left to right, my drawing tool was too tedious to add arrows)

    Control module may or may not also act as an input module (signal source).

View all 2 project logs

Enjoy this project?



Does this project spark your interest?

Become a member to follow this project and never miss any updates