WM8960 SKU BOB-21250 ADC connect to RPI

I am interested in the ADC with the WM8960. Its sku is BOB-21250.

Other boards with the WM8960 are connected to microphones as part of a 4 and 6 microphone array and are easily connected to the RPi.

BUT these boards don’t have a direct electrical connection to the WM8960: the other pins 3 and 7 which are analog inputs don’t have a connection.

I don’t want to buy those mic array boards and physically cut out the microphones to replace with analog inputs.

HOWEVER the Sparkfun board with the WM8960 and sku of BOB-21250 lets you connect directly ANY analog input signal.

Furthermore, the WM8960 allows sampling rates up to 48kHz.

Other boards with direct analog inputs have lower sampling rates.

Questions please:
Is there a way to electrically connect the Sparkfun board to the RPi.

How to set up the software for the Sparkfun to the RPi.

Thank you
Anthony, Sydney

1 Like

Hi Anthony,

That’s a great question though it gets into the weeds a bit between the differences between each manufacturer’s preferred I2C implementation.

You could physically connect the WM8960 board to the Raspberry Pi using the Qwiic interface. The pinout is the same and the Qwiic interface is 3.3V logic level combatable however SparkFun typically only provide an Arduino example and libraries for each of their products. So you’ll need to find a 3rd party Python library to drive the WM8960 software side of things.

The guide I’ve linked below covers some of the differences you’ll need to account for when mixing our PiicoDev with Adafruit’s STEMMA QT and SparkFun’s Qwiic devices. All use I2C but there are slight differences in implementation that can sometimes catch you out.

Hi Anthony,

SparkFun’s guide assumes Arduino use from what I can see, but Waveshare do/did make a HAT based on the same chip, so there is a guide available:

I’d pore over the two guides and maybe the chip datasheet to work out if there are any address settings that might be different between the two boards.

Thank you
I acknowledge that there are ADCs with higher bit resolutions than the WM8960 IC. These are in the range from 128 samples per second up to 38k samples per seconds.

It is true that if one is taking measurements such as humidity and temperature, it would be “too much” to record these measurements at 48kHz.

At the same time, if you want to process audio signals from an audio source electrically such as an external microphone or a vinyl record, the former could be dealt with a microphone 2ch, 4ch or 6ch array.

The latter could apply to devices electrically connected such as a record player pre amp or more precise microphones.

Then considering the various microphone arrays, if “hifi” quality recordings are needed, be mindful that some microphone arrays have a sampling frequency of up to 16kHz.

It pays to look at the datasheet of the ADC of the particular hat/shield.

I want to be able to use the WM8960 board by Sparkfun through the RPi rather than the Pico Dev controller

Having said that, the WaveShare device utilises the pyalsaaudio interface for Linux. The interface works with all PCM-based soundcards.

The I2C address is 0x1A

WM8960 – Driver for the WM8960 codec — MicroPython latest documentation.

I wrote to the Sparkfun people. I do not know if they can or will answer my questions as to: (1) drivers to install, (2) any additional wiring to the GND, 3.3V and the I2C Quiik connector and (3) any hardware settings on the RPi.

Anthony of Sydney

1 Like

I received an answer at the forum.

The reply from the Sparkfun forum was that the board can be interfaced with the RPi and that the drivers for the WM8960 can be used.

Further question.
In addition to 3.3V and GND, what additional connections to the RPi and board are needed?


The site for the WM8960 is at