J_Sanders
Active member
Hi all,
Like many Teensy 4 users, I've been eager to funnel all of that computing power into some slick HD audio.
This past year, HiFiBerry released two next-gen audio cards for Raspberry Pi - DAC2 Pro and DAC2 HD.
DAC2 Pro builds on their PCM-5122 powered DAC+ Pro board. It can play 192kHz, 24-bit audio with claimed quality metrics of 112dB SNR and -93db THD+N. It sports an onboard headphone amp, and costs $45 USD.
DAC2 HD is a totally new card using an older DAC, PCM-1796. The DAC is far less integrated, so the board is packed with supporting components - for an improved 123db SNR and -108db THD +N. MSRP: $99 USD.
Both cards have precision clock sources and ultra low noise regulators to filter the DAC power supply.
How great would it be if Teensy 4.X could talk to the world via these monsters?
I developed a simple breakout board to do just that:
The board is available in two versions - one mounting above Teensy, and one below.
Design files and Arduino code are available on Github here, and the boards can be ordered from OSHPark (here and here). The only additional components are raspberry pi pin headers, with Adafruit part numbers given in the repository.
The Arduino example code is a simple sine wave sweep, using Paul's audio library.
By setting a macro, it can be configured to run in I2S master mode, where Teensy generates clock signals, or I2S slave mode using HiFiBerry's precision clocks.
The example code also configures the headphone amp on DAC2 Pro.
The example code runs on DAC+ Pro and DAC2 Pro, but not on DAC2 HD. The breakout board has the necessary connections for the HD, but I haven't been able to get the code working yet. The working examples have a few remaining quality issues, especially with Teensy in I2S slave mode - but I hope to iron these out in the next few weeks. Issues are noted in the repository, and I'll discuss them in depth in future posts.
Full disclosure - In parallel, I'm developing an audio board using these components for Bpod, a behavior measurement platform used in Neuroscience research. Using code heavily inspired by Paul's audio library, the board plays a library of 192kHz stereo waveforms from microSD on trigger with only 1 sample of latency (using preloaded psRAM buffers), and outputs an isolated TTL signal to precisely indicate playback start and end. This project will also be open source, once it meets the necessary specs to be useful in its application.
I'll be glad to share more technical info with anyone who's interested (HiFiBerry I2C sniff logs captured with PulseView, etc)!
-J
Like many Teensy 4 users, I've been eager to funnel all of that computing power into some slick HD audio.
This past year, HiFiBerry released two next-gen audio cards for Raspberry Pi - DAC2 Pro and DAC2 HD.
DAC2 Pro builds on their PCM-5122 powered DAC+ Pro board. It can play 192kHz, 24-bit audio with claimed quality metrics of 112dB SNR and -93db THD+N. It sports an onboard headphone amp, and costs $45 USD.
DAC2 HD is a totally new card using an older DAC, PCM-1796. The DAC is far less integrated, so the board is packed with supporting components - for an improved 123db SNR and -108db THD +N. MSRP: $99 USD.
Both cards have precision clock sources and ultra low noise regulators to filter the DAC power supply.
How great would it be if Teensy 4.X could talk to the world via these monsters?
I developed a simple breakout board to do just that:
The board is available in two versions - one mounting above Teensy, and one below.
Design files and Arduino code are available on Github here, and the boards can be ordered from OSHPark (here and here). The only additional components are raspberry pi pin headers, with Adafruit part numbers given in the repository.
The Arduino example code is a simple sine wave sweep, using Paul's audio library.
By setting a macro, it can be configured to run in I2S master mode, where Teensy generates clock signals, or I2S slave mode using HiFiBerry's precision clocks.
The example code also configures the headphone amp on DAC2 Pro.
The example code runs on DAC+ Pro and DAC2 Pro, but not on DAC2 HD. The breakout board has the necessary connections for the HD, but I haven't been able to get the code working yet. The working examples have a few remaining quality issues, especially with Teensy in I2S slave mode - but I hope to iron these out in the next few weeks. Issues are noted in the repository, and I'll discuss them in depth in future posts.
Full disclosure - In parallel, I'm developing an audio board using these components for Bpod, a behavior measurement platform used in Neuroscience research. Using code heavily inspired by Paul's audio library, the board plays a library of 192kHz stereo waveforms from microSD on trigger with only 1 sample of latency (using preloaded psRAM buffers), and outputs an isolated TTL signal to precisely indicate playback start and end. This project will also be open source, once it meets the necessary specs to be useful in its application.
I'll be glad to share more technical info with anyone who's interested (HiFiBerry I2C sniff logs captured with PulseView, etc)!
-J