Add a Topping E30 USB DAC

pCP Team 25 June 2024 pCP 7.0.0 Projects  •
This project is to add a Topping E30 USB DAC to piCorePlayer.

Topping E30

What was used

Hardware

Warning

The Topping E30 USB DAC is no longer available. The Topping E30 II is the later equivalent.

Software

Network Diagram

graph TD Router[Wifi router] Router --> |Wifi| RPi[RPi4B - pCP] RPi --- |USB 2| DAC[Topping E30] RPi --- |USB 2| DAC[Topping E30] DAC --> AMP[Amplifier] DAC --> AMP[Amplifier]

Steps

Step 1 - Download pCP
Step 2 - Create SD card
Step 3 - Setup Wifi
Step 4 - Connect Topping E30 USB DAC
  • Connect the 2 USB cables (supplied) from the Raspberry Pi USB2 ports to Topping E30.
  • Topping E30 was used with default settings.
Step 5 - Boot pCP
  • Insert the SD card into the Raspberry Pi.
  • Connect power cable.
  • Turn the power on.
Step 6 - Determine the IP address
Step 7 - Access pCP GUI
  • Type http://<IP address> into web browser, or
  • Type http://pcp.local into web browser.
Step 8 - Select USB audio
  • Select [Squeezelite Settings] > “Audio output device settings” > “USB audio”.
  • Click [Save].
  • This will set “Audio output device settings” to “USB audio” and set “Change Squeezelite settings” to default values.
Danger

“Output setting” will be blanked and will need to be set manually.

Step 9 - Set Output setting
  • Click [Squeezelite Settings] > “Change Squeezelite settings” > “Output setting” > “more>”.
  • Note the list of available CARD=E30 devices.
Available output devices (click to use):

hw: devices are normally the best choice, but try and decide for yourself:

- null
- sysdefault
- default
- plugequal
- equal
- hw:CARD=E30,DEV=0
- plughw:CARD=E30,DEV=0
- sysdefault:CARD=E30
- front:CARD=E30,DEV=0
- surround21:CARD=E30,DEV=0
- surround40:CARD=E30,DEV=0
- surround41:CARD=E30,DEV=0
- surround50:CARD=E30,DEV=0
- surround51:CARD=E30,DEV=0
- surround71:CARD=E30,DEV=0
- iec958:CARD=E30,DEV=0
- hw:CARD=Headphones,DEV=0
- plughw:CARD=Headphones,DEV=0
- sysdefault:CARD=Headphones
  • Click on hw:CARD=E30,DEV=0.
  • This will set “Output setting” to hw:CARD=E30,DEV=0.
  • Click [Save].
Step 10 - Reboot
  • Click Reboot when requested.
Step 11 - Play music
  • Select track/playlist.
  • Play music.

Optional

If you have more than one piCorePlayer, it is recommended that you continue to the following steps.

Step 12 - Set player name
  • Access pCP using IP address in a browser (ie. http://192.168.1.xxx or http://pcp.local).
  • Select [Squeezelite Settings] > “Change Squeezelite settings” > “Name of your player”.
  • Type player name pCP Topping E30.
  • Click [Save].
Step 13 - Set hostname
  • Select [Tweaks] > “pCP System Tweaks” > “Host name”.
  • Type host name pCPToppingE30.
  • Click [Save].
  • Click [Yes] when requested to “Reboot piCorePlayer”.
Step 14 - Reboot
  • Click Reboot when requested.

Notes

  • I noticed a couple of “power up” clicks. Not a problem.

Diagnostics

  • Check that the Topping E30 USB DAC has been recognised in dmesg.
  • Select [Main Page] > [Diagnostics] > [Logs] > “dmesg”.
  • Click [Show].
  • Search for Topping.
[    1.661609] usb 1-1.3: new high-speed USB device number 3 using xhci_hcd
[    1.792056] usb 1-1.3: New USB device found, idVendor=152a, idProduct=8750, bcdDevice= 1.08
[    1.792063] usb 1-1.3: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[    1.792070] usb 1-1.3: Product: E30
[    1.792076] usb 1-1.3: Manufacturer: Topping
  • Check that the “CARD=E30” devices are available.
  • Click [Squeezelite Settings] > “Change Squeezelite settings” > “Output setting” > “more>”.
  • Search for CARD=E30.
Available output devices (click to use):

hw: devices are normally the best choice, but try and decide for yourself:

- null
- sysdefault
- default
- plugequal
- equal
- hw:CARD=E30,DEV=0
- plughw:CARD=E30,DEV=0
- sysdefault:CARD=E30
- front:CARD=E30,DEV=0
- surround21:CARD=E30,DEV=0
- surround40:CARD=E30,DEV=0
- surround41:CARD=E30,DEV=0
- surround50:CARD=E30,DEV=0
- surround51:CARD=E30,DEV=0
- surround71:CARD=E30,DEV=0
- iec958:CARD=E30,DEV=0
- hw:CARD=Headphones,DEV=0
- plughw:CARD=Headphones,DEV=0
- sysdefault:CARD=Headphones

More information

The Software and Information is provided "as is" without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement.
Raspberry Pi is a trademark of the Raspberry Pi Foundation.