pHAT DAC install problems

First up, like quite a few people in reviews I’ve since found, I put the header on the side the silkscreen has the component outline, then looked for the installers and noticed it goes on the side opposite to the silkscreen and had to replace it. Fortunately I hadn’t plugged it in. You could update the silkscreen to the normal convention of it being on the same side of the board as the component goes and save some people some pain.

It’s plugged into a pi 3 running raspian ( Linux raspberrypi 4.4.11-v7+ #888 SMP Mon May 23 20:10:33 BST 2016 armv7l GNU/Linux )

After curl -sS get.pimoroni.com/phatdac | bash I rebooted and don’t get any devices
Running curl -sS get.pimoroni.com/phatdac | bash again with the test

Do you wish to test your system now? [y/N] y
Testing…

speaker-test 1.0.28

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Playback open error: -16,Device or resource busy

All done!

Enjoy your new pHAT DAC!

No sound, no device.

Any ideas?

Hum, the only convention I am aware of is that pin 1 is marked with a square outline.

Anyhow, can you post a picture (close up preferred) of the pHAT DAC at this stage.

I’ve been doing hobby electronics for more than thirty years and this is the first time I’ve put a component on the wrong side, and as a embedded systems engineer seen plenty of professional boards. I don’t recall ever seeing a board in that time which loads optional components on other side to their silkscreen outlines. Even on this board, the RCA and line out connectors and the IC follow the convention. It probably matters less if this is the only thing someone solders, but if you have be doing it as long as I have you get used to it being that way.

There are no shorts between pins except for between pins 2 and 4 which are both +5V.

Continuity (I only checked the pins highlighted in nic579’s post):
pin 35/orange 19 to top right of the 56R array.
pin 40/orange 21 to next pin of 56R array
pin 12/orange 18 to next pin of 56R array
pin 4/+5V to top pin of sot device (regulator?)
pin 6/0V to left pin of sot device

So I don’t think it’s an electrical problem, but here’s a photo anyway:

I think I see what you mean, though I’ve never thought about it that way.

There’s valid scenarios where you’d want to solder a header on the top though, but I can agree that if there is an outline at all it should be on both sides, or the underside instead… I’ll pass on the feedback.

Coming back to the problem, I can see a bit of copper exposed which can sometimes create malfunction. From the software side perspective it seems all set, but there’s a few things you can try:

  1. verify the module is loaded correctly:

    lsmod | grep hifiberry

  2. check the hifiberry-like DAC occupies the card0 slot:

    aplay -l

  3. confirm alsamixer is happy with the config:

    alsamixer

… post those outputs here and I should be able to confirm how likely a hardware fault is at play.

pi@raspberrypi:~ $ lsmod | grep hifiberry
snd_soc_hifiberry_dac     2511  2
snd_soc_core          125885  3 snd_soc_bcm2835_i2s,snd_soc_hifiberry_dac,snd_soc_pcm5102a
snd_pcm                75698  4 snd_soc_core,snd_soc_hifiberry_dac,snd_pcm_dmaengine

pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

pi@raspberrypi:~ $ alsamixer

alsamixer says ‘this sound device does not have any controls’.

F6 shows snd_rpi_hifiberry_dac selected

On the desktop, Audio device settings reports ‘No ALSA audio devices were detected…’ and the volume control won’t move from zero.

It’s for a squeezebox and I can tell it to play, and it appears to be playing from the web page, but get no output. Squeezelite is outputting to sysdefault:CARD=sndrpihifiberry

pi@raspberrypi:~ $ cat /boot/config.txt | grep -i -A 5 -B 1 hifi
# necessary with kernel 4.4 and above.
# Please note, this setting should be commented out if a Hifiberry
# device is used.
#dtparam=audio=on
# ****************************************************************
# * GPIO LIRC                                                    *
# *   Please note:                                               *
# *   GPIO input pin has to be remapped for working together     *
# *   with Hifiberry sound cards                                 *
# ****************************************************************
dtoverlay=lirc-rpi,debug
#dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=22,debug
# ****************************************************************
# * Hifiberry and compatible sound cards (I2S interface)         *
# * May conflict with LIRC. See note above                       *
# ****************************************************************
#dtoverlay=hifiberry-amp
#dtoverlay=hifiberry-dac
#dtoverlay=hifiberry-dacplus
#dtoverlay=hifiberry-digi
# ****************************************************************
# * Raspberry Pi 3 onboard Bluetooth                             *
# ****************************************************************
# This parameter enables usage of miniuart (ttyS0) for BT.
# Please note that BT may not work properly if CPUFREQ_GOVERNOR
--

dtoverlay=hifiberry-dac

I’m a bit confused, because your /boot/config.txt file seems to originate from another image than the official Raspian Jessie image?

I would strongly recommend testing the hardware using a totally vanilla Jessie image with just our phatdac script ran over the top. That is by far the best way to isolate the problems and confirm the hardware works fine, before modding your system for your particular purpose.

If I had to point the finger at something in your picture, besides the exposed copper speckle mentioned earlier (which I would not expect to be the problem, but who knows), it would be the audio connector on the side opposite the switch (next to line out label) which I am not 100% certain is making good enough contact with the PCB. It may help to touch it up carefully.

That’s odd - I had put kodi on top of raspbian as kodi+libreelec won’t support the display resolution I have but raspbian does, so the only change I made to config.txt was to add the display resolution (7" 800x480), but it appears installing kodi as an application in raspbian also changes config.txt for the xbian one.

Starting from a fresh install and it all works - now I just have to work out how to get something that will play youtube and iPlayer through it.

Thanks for your help.