DonDrews / audio_interface_cse145

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

USB Audio Interface

This repo contains firmware, schematics, and instructions for creating a functional audio interface usable cross-platform over USB. The current design supports one balanced XLR input with 80dB gain, and a 1/4 inch input with 40dB gain.

This design was created for the course CSE 145: Embedded Systems Design Project at UCSD in Spring 2022.

See here for a writeup describing the final product.

Systems Diagram

Electrical

Inside the audio_interface subfolder, there is a KiCAD project with both the schematic and layout for the custom PCB. For easier viewing, the schematic and layout are exported as pdfs as well. Note that many of the component choices were made due to the specific availability during the silicon shortage in Spring 2022. Other substitutes may be cheaper or easier to obtain in the future. To see the total list of necessary components, as well as what is currently in stock, check out the Octopart BOM.

There is a test log which documents all the of the properties of the design, comparing the measured vs expected values. In addition, a listing at the bottom functions as a notebook to record which rework was performed on which day, and other observations.

Audio Quality

There is a short recording demonstrating both inputs in the docs directory. In addition, below is a frequency plot showing the results from recording a generated 1kHz sine wave on the instrument input. Currently the noise floor is low, but there is some distortion which can hopefully be resolved with further board modifications. 1kHz Sine Wave

Contributors

Many colleagues contributed to this project, and it could not have worked without their help with these sections:

  • Ravi Johnson - electrical design reviews, assembly
  • Devanshi Jain - electrical testing
  • Seeraj Somla - systems engineering
  • Nathan Hui, Christopher Crutchfield - advising

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 93.3%Language:Makefile 6.5%Language:Assembly 0.2%Language:C++ 0.0%