DIY USB audio interface! - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level
Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 4th September 2013, 02:48 PM   #1
diyAudio Member
Join Date: May 2013
Default DIY USB audio interface!

Hello guys, this is my second post for me;
I want you to check out the project I'm currently working on, it is an USB Audio interface based on the Teensy 3.0 ,which has an I2S bus, and a pair of Wolfson's ADC/DAC, the WM8786 and the WM8740. Both are stereo converters, so the interface will have 2 ins and 2 outs; in addition, it will have two PGA4311 for digital volume control, and an input selector with a guitar balanced driver, that will let the user switch the inputs to match a line input or a guitar input. The input selector is done with 2 ADG333A analog SPDT switches, while the guitar to balanced conversion is done with a pair of LME49724.

I forgot to mention that both the ADC and DAC have differential ins/outs, that's why one PGA4311 is not enough for the whole interface, and that's why I need a fully differential opamp like the LME49724.

The whole interface will have some different power levels; there will be a dual supply of +/- 5 V to power all the analog circuitry (switches,PGAs,LMEs,analog part of the converters), and there will be a 5 V digital supply, to power the digital part of the PGA4311s, and a 3.3 V digital supply to power the digital part of the converters. The dual supply is derived from the USB 5 V using a Murata DC-DC converter, the MEJ1D0505SC, while the 3.3 V is derived from the Teensy's onboard LDO.

I have a module design in mind, actually I'm already designing the whole thing in small modules; this way it's way easier to lay down a correct PCB for every small module, it will help debugging the whole thing a lot, since I could easily check the functionality of every single module by itself, and of course if there's something faulty, I don't have to redo a full board, but rather just change a module

There's also a software side of the board, obviously, which is the firmware that will run on the Teensy 3.0; my goal is to achieve a fully functioning 2 in/ 2 out USB 1.0 compliant device with at least 44.1 and 48 KHz selectable sampling frequency. I'll fix to 16 bits just for the sake of simplicity, altough I would really like to also be able to switch between 16 and 24 bits; but that will depend on the limits imposed by the RAM on the Teensy. The input switching and the volume control will not have a distinct USB function for it, I'd rather put a few pots and switches directly on the hardware to be easily accessible by the user.

Right now, I've managed to lay down the input selector, the guitar balanced driver, and the volume control modules. I made the guitar balanced driver as a slave board, that means it will plug onto the input selector using Arduino-like stackable headers (actually Molex does such things too). For the software part, I've managed to get the Teensy enumerate as a mono microphone, just to test the basic functionality of isochronous endpoints. Unfortunately, the Teensyduino add-on library for Arduino doesn't provide any support for such endpoints, and I still have to understand how to implement such data transfers on the Kinetis K20 mcu that's on the Teensy. Unfortunately, USB stuff is painful to understand and to implement correctly. But I'm hopeful and optimist with this project

I'm creating a git repository to store all the stuff relevant to this project, but I have to organize it precisely and I don't have the time right now; so I'll post a few .PNGs of the three boards I've currently made. The software will come soon you can also check the topic I opened on the Teensy forum, here's the link: Problems defining an USB Audio Class Device core for Teensy 3.0

Any help, critic, suggestion, improvement, bug fix, or whatever is really appreciated
Attached Images
File Type: png volume control.png (55.4 KB, 607 views)
File Type: png input selector.png (65.4 KB, 585 views)
File Type: png guitar balanced driver x2.png (31.3 KB, 581 views)
  Reply With Quote
Old 4th September 2013, 03:25 PM   #2
diyAudio Member
Join Date: May 2013
I forgot the schematics for the three boards, silly me
Attached Images
File Type: jpg volume control - schematic.jpg (470.8 KB, 574 views)
File Type: jpg input selector - schematic.jpg (419.0 KB, 545 views)
File Type: jpg guitar balanced driver x2 - schematic.jpg (572.2 KB, 179 views)
  Reply With Quote
Old 18th September 2013, 12:02 PM   #3
diyAudio Member
Join Date: May 2013
I just updated my GitHub account with a repository to hold all the software AND the hardware designs.
  Reply With Quote
Old 25th January 2017, 02:59 PM   #4
diyAudio Member
Join Date: Jan 2017
Hello Mick,

I have some questions.
I want to create something similar to this post, but i dont exactly know how everything works.
I would really appreciate it if you would want to explain things to me.
  Reply With Quote


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
CM6631 usb audio interface .... any good ? i2k92 Digital Line Level 612 13th March 2017 12:58 PM
USBStreamer multichannel USB audio interface minidsp miniDSP 53 3rd November 2016 01:13 PM
USB Audio Interface oodi Digital Source 6 30th December 2011 07:59 PM
usb audio interface david12 Equipment & Tools 14 10th October 2010 02:58 AM
USB Interface Perfect?- Computer Audio fmak Digital Source 3 4th December 2004 10:24 PM

New To Site? Need Help?

All times are GMT. The time now is 04:23 PM.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright 1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2