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.
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.
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
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.
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
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.
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
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.
Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 1 ratings:
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.