Jump to content
  • The Computer Audiophile
    The Computer Audiophile

    Geek Speak: How To Build A UPnP / DLNA / OpenHome Renderer For Less Than $100

    thumb.jpg

    1-Pixel.png

    Warning: This article is technical in nature, but is far from rocket surgery. The step-by-step how-to instructions below make the process extremely easy. That said, this article isn't for everybody.

     

    This is the second article in the CA Geek Speak series (Link to first article ex.png). If you have a USB DAC and want to turn it into a network capable device or if you want to setup multiple zones for playback and control via iPad for less than $100 per zone, then this article is for you. The instructions below provide a step-by-step guide for creating a UPnP / DLNA / OpenHome renderer with Ethernet input and USB output for connection to a USB DAC. In a way, this device can be considered the poor man's Auralic Aries (Review Link ex.png) or SOtM sMS-100 Mini Server (Review Link ex.png). In the previous Geek Speak article readers were forced to log in to the device and make configuration changes via command line. This time I've taken care of all the configuration myself. Readers simply need to download the preconfigured image file and flash it to a Beaglebone Black (Rev. C) following the instructions. That's it.[PRBREAK][/PRBREAK]

     

    This device is a tiny 2.4" x 0.82" x 3.54" Beaglebone Black fanless computer running Linux and a couple pieces of preconfigured software. It connects to a home network via wired Ethernet and connects to an audio system via USB. With this device in an audio system the user can stream music from a NAS or any computer running JRiver Media Center and have full control over music selection and volume for a single or multiple zones with an iPad or similar device. I highly recommend using JRiver and JRemote. Whether using a single device connected to a USB DAC in a main audio system or using several of these devices connected to audio systems throughout a home, JRemote makes control of everything extremely simple. Currently this renderer supports both PCM and DSD via DoP playback. I've tested PCM up through 24 bit / 192 kHz and DSD 64 without any issues. Gapless playback at all sample rates is also supported. I am unsure exactly what USB DACs are supported, but I know that USB DACs capable of functioning without drivers on Mac OS X should work just fine with this renderer.

     

     

     

     

     

     

    1-Pixel.png

     

     

    [ATTACH=CONFIG]17349[/ATTACH][ATTACH=CONFIG]17350[/ATTACH][ATTACH=CONFIG]17348[/ATTACH]

     

     

     

    1-Pixel.png

     

     

     

     

     

     

    Details for Geeks

     

    MP version - Music Player Daemon 0.19.9

    upmpdcli version - upmpdcli-0.9.0

    Linux version - BeagleBoard.org Debian Wheezy Image 2015-03-01 (3.8.13-bone70)

    Username = root

    Password = (no password / blank)

     

     

     

    Requirements

     

    BeagleBone Black (Rev. C required) ex.png ($60)

    BeagleBone Black case ex.png ($10)

    Power Adapter (5 volts, 2 Amps, 10 Watts) ex.png ($9)

    MicroSD Card with Adapter ex.png (~$10)

    SD Card Reader ex.png (~$13) (Optional)

    Win32 Disk Image ex.png ($0) (Windows users)

    Ethernet cable

    NAS Drive or computer for music storage

    Tablet for control such as iOS or Android device

    UPnP Server software such as JRiver Media Center ex.png or MinimServer ex.png

    UPnP Control Point software such as JRemote ex.png (when used with JRMC) or BubbleUPnP ex.png

     

     

     

     

    Step-By-Step Mac OS X

     

     

    - Connect the MicroSD card to the computer

    - Open Disk Utility (Applications > Utilities > Disk Utility), select select all volumes under the MicroSD card, then select Unmount. In my example the volume is named 8GB. (Image Link ex.png)

    - Download the preconfigured image file (USB Output Version ex.png). (HDMI Output Version ex.png)

    - Double-click the downloaded preconfigured image file named CA-NetAudio-1.0.img.zip. This will automatically extract the image file named CA-NetAudio-1.0.img

    - Open the Terminal app (Applications > Utilities > Terminal)

    - Type -> sudo su (without the arrow ->)

    - Enter your password if asked.

    - Type -> diskutil list

    - Take note of the disk number of the MicroSD card connected to your computer. My MicroSD card is listed as /dev/disk1. The MicroSD card should be easily identifiable by its small size. My MicroSD card is listed as 7.9 GB (Image Link ex.png)

    - Type -> sudo dd if=

    - Drag the preconfigured image file named CA-NetAudio-1.0.img on to the Terminal window to automatically fill in the path to the file (Image Link ex.png) You can also type this in manually if desired.

    - After dropping the image file on to the Terminal window the command line should read something like this >> sudo dd if=/Users/chris/Desktop/CA-NetAudio-1.0.img (Image Link ex.png).

    - Make sure there is a single space after the path to the preconfigured image file named CA-NetAudio-1.0.img entered in the previous steps.

    - Type -> of=

    - Then enter the disk number of your MicroSD card. In my case this is /dev/disk1

    - The text should look something like this of=/dev/disk1 (Image Link ex.png).

    - Make sure there is a single space after the path to your MicroSD card entered in the previous steps.

    - Type -> bs=1m

    - The entire line should now look something like this >> dd if=/Users/chris/Desktop/CA-NetAudio-1.0.img of=/dev/disk1 bs=1m

    - Here is an image of my Terminal (Image Link ex.png)

    - Hit Enter on your keyboard and wait for the image to be written to the MicroSD card. This will take several minutes and appear like your computer is stuck. Please wait for the command to finish.

    - Once the image has been written to the MicroSD card the Terminal window will list something like this.

    3781+1 records in

    3781+1 records out

    3965190144 bytes transferred in 2489.137016 secs (1592998 bytes/sec) (Image Link ex.png)

    - If you receive an error message stating "Resource busy" (Image Link ex.png) you likely skipped step 2. Please unmount the volume and try again.

    - Open Disk Utility (Applications > Utilities > Disk Utility), select the MicroSd card, click Eject or Eject Disk via the right-click menu.

    - Place the MicroSD card into the BeagleBone Black's MicroSD card slot.

    - Hold down the small Boot Switch / Button ex.png while connecting the power supply to the board.

    - As soon as one of the User LEDs illuminates, release the Boot Switch / Button.

    - The User LEDs should continue flashing while the MicroSD card image is copied to the on-board eMMC flash memory. The process should take about five minutes.

    - When all four User LEDs are illuminated steady, pull the power supply from the board and remove the MicroSD card. Or, the board will power down automatically if you wait long enough after the copy is complete.

    - Connect an Ethernet cable to the board and your USB DAC to the USB port and re-connect the power supply.

    - The BeagleBone Black will boot up and automatically appear as a UPnP / DLNA / OpenHome renderer in your application of choice such as JRiver Media Center. If using JRiver Media Center the device will appear as a new zone named NetAudio. To send music to the device simply select NetAudio, then select the music you want to play.

    - That's it.

     

     

     

     

     

     

     

     

    Step-By-Step Windows

     

    - Connect the MicroSD card to the computer

    - Install Win32 Disk Image Link ex.png

    - Download the preconfigured image file (USB Output Version ex.png). (HDMI Output Version ex.png)

    - Right-click the downloaded preconfigured image file named CA-NetAudio-1.0.img.zip. Select Extract All (you may have to click Next after this). This will extract the image file named CA-NetAudio-1.0.img into a folder with the same name CA-NetAudio-1.0.img.

    - Open Win32 Disk Imager

    - Make sure the MicroSD card drive letter is selected under Device (Image Link ex.png)

    - Select the small folder to the left of the Device drive letter and browse to the file previously extracted named CA-NetAudio-1.0.img. Don't select the .zip compressed file.

    - Click the Write button and Yes to any popup questions.

    - Eject the MicroSd card when Win32 Disk Imager finishes writing the image.

    - Place the MicroSD card into the BeagleBone Black's MicroSD card slot.

    - Hold down the small Boot Switch / Button ex.png while connecting the power supply to the board.

    - As soon as one of the User LEDs illuminates, release the Boot Switch / Button.

    - The User LEDs should continue flashing while the MicroSD card image is copied to the on-board eMMC flash memory. The process should take about five minutes.

    - When all four User LEDs are illuminated steady, pull the power supply from the board and remove the MicroSD card. Or, the board will power down automatically if you wait long enough after the copy is complete.

    - Connect an Ethernet cable to the board and your USB DAC to the USB port and re-connect the power supply.

    - The BeagleBone Black will boot up and automatically appear as a UPnP / DLNA / OpenHome renderer in your application of choice such as JRiver Media Center. If using JRiver Media Center the device will appear as a new zone named NetAudio (Image Link ex.png). To send music to the device simply select NetAudio, then select the music you want to play. The device will also appear automatically in JRemote as a zone called NetAudio (Image Link ex.png).

    - That's it.

     

     

     

     

     

    Please let me know if you find errors in this guide. I will keep it updated as appropriate and update the preconfigured downloadable image. Tips, tricks, and tweaks are also encouraged!

     

     

     

     

    1-Pixel.png

     

     

     

    1-Pixel.png




    User Feedback

    Recommended Comments



    Hello,

     

    I would like to share my music UPnP renderer solution for everyone's consideration.

     

    1. Purchase an Android mini PC. Mine is a RikoMagic 802IV and cost around $100. (Android Mini PC's : Rikomagic Quad Core MK802IV - 16GB Flash + Bluetooth - DHL EXPRESS SHIPPING).

     

    2. instal Bubble UPnP server for Android (BubbleUPnP Server).

     

    3. Configure it as an Open Home renderer.

     

    That's all!

     

    What I like about this solution:

    - it's very cheap and simple

    - has as much functionality as a network audio streamer that costs 10x more. i can even stream Qobuz and internet radio as well as, of course, everything on my Synology NAS.

    - I can easily upgrade the DAC and other downstream components when ever I want to. I'm not tied into an expensive integrated product that needs to be replaced when a new streaming service comes out.

    - I can replace the software (Bubble UPnP) with new software if something better comes out.

    - I can use it to stream video from the NAS to the TV too! It works, and it even does transcoding (i.e. it works better than Chromecast).

     

    What you might not like:

    - The audio output on my PC is via HDMI. So it has to be connected via a TV or other HDMI screen. I use the coax output on my TV to feed the DAC/preamp. If you don't like this, there are several options. e.g. get and Android PC with digital coax out already built in. Or get an HDMI audio extractor.

    - You need a screen and the TV needs to be on. Again, there are other options for boxes that can operate "lights out", but I quite like to see what's happening via the screen anyway.

    - My network connection is via WiFi. Again there are other PCs, like the RikoMagic MKV, with wired ethernet connectivity. Anyway, I am streaming 24/96K files from my NAS right now without any issue.

    Share this comment


    Link to comment
    Share on other sites

    Hi All,

     

    I built one of these a while ago and all was working well until I upgraded my NAS. The music folder feeding files to the Beagle has changed. I recall having to configure the share location when I originally set it up. I am a unix newbie!

     

    Could you please assist with the following:

     

    1. how to login to BBB

    2. Which file needs to be modified- how to locate and open

    3. What the correct syntax needs to be for the new share location, and how to change the entry

    4. How to save the revision and relaunch

     

    Thank you!

    Share this comment


    Link to comment
    Share on other sites

    Nice article.

    I'm running a Android box: Minix Neo X5 with Toslink(Optical Out). Android: Settings -Audio: Passtrough

    This is an advantage cause i don't need my TV on.

     

    My Minix is an old model and not on marked anymore. Alternativ is Minix Neo X7, has Optical Out.

    Share this comment


    Link to comment
    Share on other sites

    It is embarrassed, it seems there is no one encounters any issue like me. I accidentally downloaded the image link for OSX but I checked the img name same as the one in for Win. So I continued to use Win methods (Win32 Disk Imager) to burn the image and installed the program to BBB.

     

    Then I connected the dac to the USB host side but BBB just shut it down, which didn't work. So I connected the dac to micro usb side of BBB using an adapter and able to see NetAudio device in my JRiver laptop. But when I clicked play, Jriver only played for about 3 seconds with no sound and then it just stopped. I had already enabled DLNA settings. So what did I miss?

    Do I need to download again the img file from the link in step-by-step windows section?

    Share this comment


    Link to comment
    Share on other sites

    It is embarrassed, it seems there is no one encounters any issue like me. I accidentally downloaded the image link for OSX but I checked the img name same as the one in for Win. So I continued to use Win methods (Win32 Disk Imager) to burn the image and installed the program to BBB.

     

    Then I connected the dac to the USB host side but BBB just shut it down, which didn't work. So I connected the dac to micro usb side of BBB using an adapter and able to see NetAudio device in my JRiver laptop. But when I clicked play, Jriver only played for about 3 seconds with no sound and then it just stopped. I had already enabled DLNA settings. So what did I miss?

    Do I need to download again the img file from the link in step-by-step windows section?

     

    I downloaded again the img file from the Windows correct link and burnt it to mico SD. However, after installation the situation is still the same. I could see NetAudio BBB in my JRiver media center, but when I clicked to play, it just won't play to NetAudio. I tried to connect the BBB to a monitor via micro Hdmi but there was no signal. Does anyone know what is the problem?

    Share this comment


    Link to comment
    Share on other sites

    I downloaded again the img file from the Windows correct link and burnt it to mico SD. However, after installation the situation is still the same. I could see NetAudio BBB in my JRiver media center, but when I clicked to play, it just won't play to NetAudio. I tried to connect the BBB to a monitor via micro Hdmi but there was no signal. Does anyone know what is the problem?

    What USB DAC do you have connected?

    Share this comment


    Link to comment
    Share on other sites

    What USB DAC do you have connected?

     

    Oooo.....I see, very good question. I connect to Magnat MA600 hybrid stereo amp which has built-in dac. In that case, I will try out connect to M2Tech Young dac to play to confirm.

    Share this comment


    Link to comment
    Share on other sites

    I just connected to M2Tech Young dac to try, but it is still failed to play. I noticed the user LEDs were kept on flashing. May be the BBB board has defects?

    Share this comment


    Link to comment
    Share on other sites

    I might have damaged the board in the first installation. After the sd card transfer and then I took the card out and connected an Ethernet cable and usb to the board, then I connected 12V 3A supply which meant for a NUC pc to the board and nothing boot up. Realized my mistake, so I changed it back to correct 5V supply and everything boot up and flashing and NetAudio was shown in JRiver. Could have I damaged the board in somehow? If I connect the board to a monitor, it doesn't show anything and says no signal. There is no way to find out the board is still working ok. Should I get another new board to try?

    Share this comment


    Link to comment
    Share on other sites

    I might have damaged the board in the first installation. After the sd card transfer and then I took the card out and connected an Ethernet cable and usb to the board, then I connected 12V 3A supply which meant for a NUC pc to the board and nothing boot up. Realized my mistake, so I changed it back to correct 5V supply and everything boot up and flashing and NetAudio was shown in JRiver. Could have I damaged the board in somehow? If I connect the board to a monitor, it doesn't show anything and says no signal. There is no way to find out the board is still working ok. Should I get another new board to try?

    If the BBB appears in JRiver as NetAudio, then the board isn't defective. I think it may be your USB DACs.

     

    Is anyone else using either of these DACs with the BBB image?

    Share this comment


    Link to comment
    Share on other sites

    Broke out my Beaglebone and added RoonBridge to Chris' image that's installed on my BBB. Had to upgrade libc, but after that no problem. Nice little multifunction renderer.

     

    Can someone tell me how USB and ethernet are implemented on the BBB, are they on the same bus as on the Raspberry Pi? Anyone have these two boards and the Cubox/SonicOrbiter SE to make some SQ comparisons?

    Share this comment


    Link to comment
    Share on other sites

    Broke out my Beaglebone and added RoonBridge to Chris' image that's installed on my BBB. Had to upgrade libc, but after that no problem. Nice little multifunction renderer.

     

    Can someone tell me how USB and ethernet are implemented on the BBB, are they on the same bus as on the Raspberry Pi? Anyone have these two boards and the Cubox/SonicOrbiter SE to make some SQ comparisons?

    Very cool! I was waiting for someone to do this.

     

    The Ethernet and USB are separate on the BBB, so no issues.

    Share this comment


    Link to comment
    Share on other sites

    Don't know if anyone is monitoring this anymore but I've got a question:

     

    How do I disable the mixer so that NO volume adjustments are possible? When I tried disabling mixer_type, I don't get bitperfect data anymore. Do I need to be changing something with upmpdcli?

     

    I'm clearly a linux newbie!

     

    Thanks!

    Share this comment


    Link to comment
    Share on other sites

    I'm trying to set up a BBB as a renderer but I want to use Debian 8 Jessie. I'm mostly there but I'm getting some low frequency clicks. Could someone post their mpd.conf file so I can cross check the settings? I'm connecting to a Schiit Bifrost DAC. Also using the latest version of upmpdcli.

    Share this comment


    Link to comment
    Share on other sites

    I'm trying to set up a BBB as a renderer but I want to use Debian 8 Jessie. I'm mostly there but I'm getting some low frequency clicks. Could someone post their mpd.conf file so I can cross check the settings? I'm connecting to a Schiit Bifrost DAC. Also using the latest version of upmpdcli.

     

    do the clicks occur with all music file types or only hi-res (e.g 24/96)?

     

    I had a problem with the RPi and I finally found out it is because the USB controller on the device doesn't have sufficient power supply, by default, for the high data transfer rates. Tim at moodeaudio has a fix for the RPi and the same principle may possibly work on BBB, if that is in fact the cause of the problem.

    Share this comment


    Link to comment
    Share on other sites

    do the clicks occur with all music file types or only hi-res (e.g 24/96)?

     

    All music file types at the moment. Didn't have this problem with the Wheezy disk image so I think it's something I need to configure.

     

     

    Sent from my iPhone using Computer Audiophile

    Share this comment


    Link to comment
    Share on other sites

    Hello,

    I have a BBB Board from a prior project- not revision C. Will this project work on older BBB boards?

    I have followed the instructions to flash the image onto the board but am unsure if the installation ran correctly. The flash took about 20 minutes during which the user LEDs flashed in "cylon mode", then when complete flashed solid. The board did not shut down automatically. After removing power and the microSD, the board booted up but I cannot find it on the network using LANScan. Despite multiple reboots the BBB is simply not detected on my network.

    Anyone have any ideas?

    thanks for your help

    Share this comment


    Link to comment
    Share on other sites

    Hello,

    I have a BBB Board from a prior project- not revision C. Will this project work on older BBB boards?

    I have followed the instructions to flash the image onto the board but am unsure if the installation ran correctly. The flash took about 20 minutes during which the user LEDs flashed in "cylon mode", then when complete flashed solid. The board did not shut down automatically. After removing power and the microSD, the board booted up but I cannot find it on the network using LANScan. Despite multiple reboots the BBB is simply not detected on my network.

    Anyone have any ideas?

    thanks for your help

    Hmm. Sounds like the image flashed correctly. Do you have lights flashing on the Ethernet port? Anyway you can connect it to a monitor?

    Share this comment


    Link to comment
    Share on other sites

    Hello,

    I have a BBB Board from a prior project- not revision C. Will this project work on older BBB boards?

    I have followed the instructions to flash the image onto the board but am unsure if the installation ran correctly. The flash took about 20 minutes during which the user LEDs flashed in "cylon mode", then when complete flashed solid. The board did not shut down automatically. After removing power and the microSD, the board booted up but I cannot find it on the network using LANScan. Despite multiple reboots the BBB is simply not detected on my network.

    Anyone have any ideas?

    thanks for your help

     

    Yes the ethernet port LEDs are active, same on the LAN switch

    No monitor connection

    Share this comment


    Link to comment
    Share on other sites

    Hmm. Sounds like the image flashed correctly. Do you have lights flashing on the Ethernet port? Anyway you can connect it to a monitor?

    Yes the ethernet port LEDs are active.

    No, I cannot connect to a monitor.

    Also I have determined the BBB board is revision A5B, at least 2 generations behind the board recommended.

     

    Anyone had success using the A5B?

    Thanks

    Share this comment


    Link to comment
    Share on other sites

    Yes the ethernet port LEDs are active.

    No, I cannot connect to a monitor.

    Also I have determined the BBB board is revision A5B, at least 2 generations behind the board recommended.

     

    Anyone had success using the A5B?

    Thanks

     

    Looks like some people have a problem with that board finding a network. Pulling power from it for reboots can help.

     

    https://groups.google.com/forum/m/#!topic/beagleboard/9mctrG26Mc8

    Share this comment


    Link to comment
    Share on other sites

    Looks like some people have a problem with that board finding a network. Pulling power from it for reboots can help. https://groups.google.com/forum/m/#!topic/beagleboard/9mctrG26Mc8
    Hi Chris, Yes that's interesting. On a lark I reflashed the board using an old version of debian 7.1 and it is now visible on the network, with a reserved IP address. So there is an incompatibility between the A5B version and your kernel. I am a Noob at this. My options are now to either manually configure the old board, or order a new Revision C board and reflash with your image.

    Share this comment


    Link to comment
    Share on other sites

    Hi Chris, Yes that's interesting. On a lark I reflashed the board using an old version of debian 7.1 and it is now visible on the network, with a reserved IP address. So there is an incompatibility between the A5B version and your kernel. I am a Noob at this. My options are now to either manually configure the old board, or order a new Revision C board and reflash with your image.

     

    Update:

    I am trying to configure the BBB as outlined in the FIRST CA Academy BBB article from 2013.

    Chris, I cannot connect to the NAS. I have posted an update of my progress in the message board of that article.

    If anyone can help me out I would be grateful

     

    Thanks

     

    Chuck

    Share this comment


    Link to comment
    Share on other sites

    Well, I bought an ifi iPower for use with this streamer. A nice improvement. Makes me wonder if the power supplies in these streamers really are the critical pieces. Is the Sonore MicroRendu only something special because of hate high end power supplies that are used with it?

    Share this comment


    Link to comment
    Share on other sites




    Guest
    This is now closed for further comments




×
×
  • Create New...