SparkFun Audio Codec Breakout - WM8960 (Qwiic)

The SparkFun WM8960 Audio Codec Breakout is a low-power, high-quality stereo codec with 1W Stereo Class D speaker drivers and headphone drivers. The WM8960 acts as a stereo audio ADC and DAC and communicates using I2S, a standard audio data protocol (not to be confused with I2C). This audio codec is chock full of features some of which include advanced on-chip digital signal processing for automatic level control (ALC) for the line or microphone input, programmable gain amplifier (PGA), pop and click suppression, and its ability to configure I2S settings and analog audio path through software via I2C.

The 6x flexible analog input pins allow for a variety of sound source signal types to be routed internally to the ADC inputs. These signal types include line level and microphone level (balanced, and un-balanced) sources. This allows you to accept audio from the sound card on your computer, headphone output of your smartphone, electret microphones, MEMs microphone, etc. The flexible analog signal routing includes PGAs and multiple boost stages so that it can accept a wide range of audio signal levels.

Its efficient class-D driver also means low heat and long battery life when driving 8Ω speakers at up to 1W per channel for portable audio applications. As an alternative output, users can also use the audio codec to drive 16Ω headphones at up to 40mW for portable audio applications.

Audio feeling a bit... empty? Turn on the 3D enhancement to artificially increase the separation between the left and right channels. In other words, you will feel as if the room is full of sound coming from all directions during playback. We've written an extensive Arduino Library that allows you to easily control all of the audio codec's features from simple volume control to 3D-enhanced audio playback.

The board breaks out the WM8960 pins along the edge of the PCB with 0.1"-spaced pins to connect to a breadboard. Utilizing our handy Qwiic system saves you from manually wiring the I2C port when configuring the audio codec's settings. A power LED (PWR) is included on the board to indicate when power is applied to the audio CODEC through 3.3V. It can be disabled by cutting the LED jumper on the bottom side. To power the analog (AVDD) and speaker driver (SPKVDD), you will need to include power on the VIN pin. The built-in XC6222 3.3V/700mA voltage regulator regulates the voltage down for the analog circuit. Jumpers for the analog circuit (i..e. AVDD-ISO) and speaker drivers (VIN/SPKVDD) are included for users that want to power each with a separate power supply.

This board is great for projects that require you to encode or decode audio signals. Add the SparkFun Audio Codec Breakout WM8960 to your next portable digital player or immersive VR game.


The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.


  • DAC SNR 98dB (‘A’ weighted), THD -84dB at 48kHz, 3.3V
  • ADC SNR 94dB (‘A’ weighted), THD -82dB at 48kHz, 3.3V
  • Pop and click suppression
  • 3D Enhancement
  • Stereo Class D Speaker Driver
    • <0.1% THD with 1W per channel into 8Ω BTL speakers
    • 70dB PSRR @217Hz
    • 87% efficiency (1W output)
    • Flexible internal switching clock
  • On-chip Headphone Driver
    • 40mW output power into 16Ω at 3.3V
    • Capless mode support
    • THD -75dB at 20mW, SNR 90dB with 16Ω load
  • Microphone Interface
    • Pseudo differential for high noise immunity
    • Integrated low noise MICBIAS
    • Programmable ALC / Limiter and Noise Gate
  • Low Power Consumption
  • Low Supply Voltages
    • Analogue
      • 2.7V to 3.6V (Speaker supply up to 5.5V)
      • Typically 3.3V (via 3.3V Voltage Regulator)
    • Digital core and I/O
      • 1.71V to 3.6V
      • Typically 3.3V (via Qwiic or 3.3V PTH)
  • On-chip PLL provides flexible clocking scheme
  • Sample rates (kHz): 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
  • Built-In XC6222 3.3V/700mA Voltage Regulator for AVDD
  • 1x 4-pin Qwiic Connector
  • I2C Address: 0x1A (unshifted)
  • I2C Pull-Up Resistors (2.2kΩ)
  • LED
    • PWR
  • Jumpers
    • LED
    • I2C
    • 3.3V/SPKVDD/VIN
    • AVDD-ISO
  • Weight: 4.1g
  • Board Dimensions: 1.00in. x 1.60in. (25.4mm x 40.6mm)

SparkFun Audio Codec Breakout - WM8960 (Qwiic) Product Help and Resources

Audio Codec Breakout - WM8960 Hookup Guide

January 26, 2023

The SparkFun Audio Codec Breakout - WM8960 is a low power, high quality stereo codec chock full of features. In this tutorial, some of these features by using an Arduino microcontroller to configure the audio codec and pass audio to the headphone or speaker channels.

Analog MEMS Microphone (VM2020) Hookup Guide

February 9, 2023

Get started with the SparkFun analog MEMS microphone breakout board! In this tutorial, we will be connecting the differential MEMS microphone to an Arduino using the WM8960 audio codec.

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels


Core Skill: DIY

Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.

1 DIY

Skill Level: Noob - Basic assembly is required. You may need to provide your own basic tools like a screwdriver, hammer or scissors. Power tools or custom parts are not required. Instructions will be included and easy to follow. Sewing may be required, but only with included patterns.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

1 Electrical Prototyping

Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

Customer Reviews

5 out of 5

Based on 1 ratings:

Currently viewing all customer reviews.

Solid little board!

I bought two of these to connect directly to ESP32 DevKitC4's, and they work very well. It only took a tiny bit of tweaking of their provided software to get it working. I took their "example 11" as a starting point and have it streaming 1024 16-bit samples for both left and right channels 30 times per second. The data received seems rock solid.