Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

USB Audio

Microchip's PIC32 MCUs offer high-resolution audio interfacing for USB applications, enabling higher-quality sound for today's audio designs in an affordable package. Offering scalable performance—from low-cost PIC32MX devices supporting up to 96 kHz audio, to high-performance devices capable of handling up to 192 kHz—these devices are capable of running additional functions including graphics and user interfaces. The following diagram is a high level overview of the USB audio functionallity supported.

pic32 usb audio

The following are some examples of applications supported in both USB Host Mode and USB Device Mode:

USB Host Mode:

Mass Storage Device: Interface to a USB Thumb Drive for Audio Playback using the FAT File System and Universal Audio Decoders within the MPLAB® Harmony.

Android Open Accessory (AoA): Using AOA enables to transmit the data between Android-powered device and external USB hardware. Moreover, it enables intercommunication control, that is, not just from Android-powered device to a product, but also from a product to Android-powered device.

Headphone: Interface to a headphone that has both speaker and Microphone Functionallity.

USB Device Mode:

High Resolution Audio: Up to 192Khz/24-Bit Audio streamed from the a Laptop for example. The audio is decoded on the Laptop and streamed via PCM.

Audio Device Class (USB 1.0): Examples of Audio USB Devices include USB Speakers, microphones, and voice telephony.

Samsung Audio: Samsung Audio is specific to Samsung devices.

Within MPLAB Harmony, there are several demo applications which include:

mac_audio_hi_res: This demonstration application uses the USB Audio 2.0 Device class to implement a speaker. This application is natively supported on Apple, but Microsoft Windows®  will require a special driver(1). This is only required for 192Khz Audio. 96Khz/24-Bit is natively supported by Windows.

sdcard_usb_audio: The demonstration application creates an audio player that reads audio files (.WAV format only) from an SD card.

usb_headset: This demonstration application configures the a USB headset system configurable to 48/32/16 kHz sampling rate at 16 bit per sample. 

usb_microphone: This demonstration application configures a USB microphone system operating at a 16 kHz sampling rate with 16-bit data. 

usb_microphone_multirate: This demonstration application configures a USB microphone system operating at a 16 kHz sampling rate with 16-bit data. 

usb_speaker: This demonstration application configures a USB Speaker device to run at a 48 kHz sampling rate at 16-bits per sample. 

The above demo applications are available for both 96 kHz through 192 kHz audio (mac_audio_hi_res.) Note that an additional Windows driver is also required for 192 kHz and above – download is available at the bottom of the page.)

(1)PIC32 High-Resolution Audio Windows Demo Driver – Provided by Thesycon Software Solutions