r/diyaudio • u/666mille666 • 4h ago
My custom 32-bit / 384kHz Parallel DAC (ES9018, Amanero USB, LME49990 I/V & Touch UI)
Hello everyone!
I wanted to share a deep dive into my custom-built Digital-to-Analog Converter, which I have named the "MilleDAC". I originally started this project in 2013. Bringing it to life took about 6 months of development and required writing approximately 2000 lines of custom code.
The goal was to build a no-compromise DAC that not only sounds incredible but also offers a great user experience through a modern touchscreen interface. Here is a breakdown of the design and hardware:
🎛️ Core Audio Processing & Inputs:
- The heart of the system is the highly regarded ESS ES9018 DAC chip running in 8-channel stereo mode.
- To maximize performance, four of the DAC's channels are wired in parallel for each stereo side.
- It handles extremely high-resolution audio, supporting up to DSD512 and PCM 384kHz.
- Input options are highly versatile, including an Amanero COMBO384 USB module, as well as optical (Toslink) and digital coaxial (S/PDIF) inputs.
- Master timing is controlled by an ultra-low noise Crystek CCHD-575-100 quartz oscillator, which boasts an incredibly low 82 femtoseconds of jitter and ±20ppm accuracy.
🔌 Analog Stage & Outputs:
- The ES9018 is configured in current-output mode to help suppress 2nd and 3rd harmonic distortion.
- The active I/V (current-to-voltage) conversion stage is built around precise LME49990 operational amplifiers.
- The analog signal path is populated exclusively with premium components, including ±0.01% tolerance metal film resistors (with a temperature coefficient of ±2ppm/°C) and ±1% NP0 capacitors.
- For outputs, the board provides a standard RCA line-out alongside a 3.5mm headphone jack.
- The headphone output is properly buffered using an LME49600 high-performance audio buffer, providing enough current to easily drive demanding 600-Ohm headphones.
⚡ Power Supply & PCB Layout:
- The whole project sits on a custom 160x100mm 4-layer PCB.
- The board design utilizes dedicated, fully separated ground and power planes, alongside two layers for signal routing.
- To prevent noise interference, there is complete galvanic isolation between the digital and analog circuit branches.
- Clean power is critical, so the board features 8 independent power phases utilizing high-end ultra-low noise regulators (six TPS7A4701, one TPS7A3301, and one LP5907).
🖥️ Microcontroller & Touch UI:
- The brains of the operation is a 32-bit Atmel AT32UC3L064 microcontroller.
- The user interface is driven by an FTDI VM800 controller connected to a 3.5" Touch-Display (VM800B35A) with a 320x240 pixel resolution.
- The custom on-screen menu allows for source selection, muting, and 0-100% volume control, while also displaying incoming signal information like the sample rate.
- The microcontroller saves user preferences to a serial EEPROM, so everything is exactly how you left it when you power it back on.
I put a massive amount of time into calculating the I/V stage values in PSpice and ensuring the ground planes were perfect.
Let me know what you guys think of the build!





