I recently bought the WaveShare WM8960 Audio HAT said compatible with Raspberry Pi Zero W.

The install complete without trouble, I can see that the soundcard is installed by typing

sudo dkms status

and getting that response

wm8960-soundcard, 1.0, 4.19.75+, armv6l: installed

but when I type

aplay -l

the card is not listed, and playing sound does not work.

Is it really compatible with Raspberry Pi Zero W?

Which version of Raspbian should I use? I've tested it with Buster, Stretch and Jessie, none worked.


  • Hi @Kevin Castejon,Your card might not be compatible with buster. See my answer for more details. – tlfong01 Nov 7 '19 at 2:47

I just installed the same HAT on my Pi. Incidentally I had the same "issue".

Is your user part of the audio group? Try: sudo aplay -l

If that works, add your user to the audio group: sudo adduser username audio



WaveShare WM8960 Audio HAT driver installed OK ("sudo dkms status" responses OK), but device not listed ("aplay -l" shows nothing). How to fix it?


The spec says the HAT is compatible to RpiZ/ZW/2/3B/3B+, but does NOT mention Rpi4B or buster.

This means buster might NOT be supported.

So the installed driver should work with stretch, but might NOT work with buster. You can verify it by testing it with stretch.


(1) Waveshare Rpi WM8960 HiFi stereo CODEC Play/Record Sound Card HAT - $17

(2) WaveShare WM8960 Audio HAT User Manual

(a) Compatible with RpiZ/ZW/WH/2B/3B/3B+

(b) Check sound card status of Raspberry Pi with command aplay -l and arecord -l

pi@raspberrypi:~ $ aplay -l

List of PLAYBACK Hardware Devices

card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]

 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6

card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]

 Subdevices: 1/1
 Subdevice #0: subdevice #0

card 1: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-
hifi wm8960-hifi-0 []

 Subdevices: 1/1
 Subdevice #0: subdevice #0

End of Answer

  • I've tested with Jessie, Stretch, and Buster, I've edited my question to reflect that. – Kevin Castejon Nov 8 '19 at 3:18
  • Hi @Kevin Castejon, Thank you for your clarification. I do have a couple of WaveShare modules. My impression is that they are like AdaFruit, SparkFun shops: products are expensive, but worth your money. I always think that they have connection with R&D universities, so their standard is higher than average AliExpress shops. Now let me brainstorming some ideas: (1) I did use RpiZ and RpiZW. I found they are not that compatible to "universal" drivers, perhaps theijr "firmware" is different from Rpi3B+. – tlfong01 Nov 8 '19 at 3:59
  • For example, I found all my 4 RpiZs, RpiZEs works with only one of my 5 or 6 kinds of USB hub, while my RpiB+ accepts ALL of them. I am scribbling the above, just to suggest you to try Rpi3B stretch, because you have higher chances of luck. – tlfong01 Nov 8 '19 at 4:02
  • BTW, another related post you might like helpful compare and contrast your installation: raspberrypi.stackexchange.com/questions/105280/…. One problem with your HAT is that, as soon as you boot up, raspbian immediately notices that (via the HAT GPIO pins #0, 1) and extract the driver from the HAT (yes, firmware), and do things similar to device tree overlay. The problem is that the driver hardware preloaded into your HAT may be compatible to Rpi3, but not RpiZ/W (even my new versions, still have teething problems). – tlfong01 Nov 8 '19 at 4:11
  • So the mention that say it IS compatible with RPIZ is wrong? RPIZ often has compatibility issues, but I expect from a vendor to not claim compatibilties when there is not... Thanks for your help. I returned the product and will try the Adafruit Speaker Bonnet instead – Kevin Castejon Nov 8 '19 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.