NBS-DAC 192/24

Introduction

The NBS-DAC 192/24 is an open source 24-bit/192KHz USB digital-to-analog audio converter. After reading how much snake-oil is being sold when it comes to audio DACs, I decided to build a No BullShit audio DAC, hence the name "NBS-DAC", based simply on good parts and (hopefully) good practices. The 192KHz samplerate itself can probably be considered to be in snake-oil-territory, but the used DAC chip supports it; might as well make use of it. It might even come in handy for non-audio purposes. It supports both USB Audio Class 1 and 2. Other specs include a 127dB dynamic range DAC with 0.0004% distortion (PCM1792A) and a headphones amp with 128dB dynamic range and 112.5dB THD (TPA6120A2).

Firmware

The GPL-licensed firmware is based on the firmware for the 'SDR-Widget' project, and can be found on GitHub: https://github.com/tomwimmenhove/sdr-widget. (make sure to use the "audio-widget-pcm1792a" branch, anything else will not be compatible with the hardware for this project.)
In order to build the firware, you will need to install "avr-binutils" or "binutils-avr". When the tool-chain is installed you can simply make the target "audio-widget", after which the binary should be located in "Release/widget.elf". The microcontroller comes shipped with a USB bootloader, and can be programmed directly over USB. For this, we need a modified version of the DFU-programmer, which can be found here.
You can use the "program_widget" script to flash the chip.

Hardware

The entire hardware design is created using CircuitMaker. This is a horrendous piece of freeware made by Altium, that looks like Altium Designer, but with extra bugs. If I had known what a pain this was going to be, I would have opted for something different, but the design is too far along to switch now.
The hardware is released under a GPL license as well.
Current link to the project page: https://workspace.circuitmaker.com/Projects/Details/Tom-Wimmenhove/USB-DAC-AT32UC3A3-Copy-1
This link is lilkely to change the next time the project becomes corrupted for some reason, and has to be forked into a new 'repository'. I'll try to keep the link here up-to-date.
In case you don't have or don't want to install CircuitMaker, here is a link to a (possibly outdated) PDF version of the schematics.

Contact

If you have questions or suggestions, you can e-mail me: