# Simple, low cost, HiFi network music streaming device



## onefatsurfer

Simple, low cost, HiFi network music streaming device   
 Backstory:  I'll start with a bit of backstory.  I purchased a Logitech Transporter a few months ago for a very good price, and was super excited about it.. It sounds awesome, looks great, etc.  The price tag hurt, but it was worth it.. Then I thought about it, and decided that I could make something just as good that would cost considerably less.   
   
   
 The Basic Concept  The Logitech Transporter is a very simple device.  It uses Logitech Media Player software to connect to a server running Logitech Media Center, reads an audio file from the server, and outputs it in high quality audio.  In order to replicate this, I needed something to run Logitech Media Player software, and a high quality DAC.  At its low relative price and high quality sound, the ObjectiveDAC fits the bill for the DAC perfectly.  I knew setting out that this was the DAC that I would use.  As far as the brains of my device, I initially thought that a Raspberry Pi would do the trick perfectly.  After struggling for weeks with poor quality audio from the USB output, I abandoned the plan and went a different route.  
   
 The Player  Android devices are extremely simple, and version 4.1 of Android is able to play audio over USB.  The MK808 is just one of several budget Android devices on the market at the time of this posting, and I chose to use that.  

   
   
  First thing I did was power up the device.  It uses HDMI for video output, so I plugged it into my TV and hooked up a keyboard and mouse.  I configured my wireless network, registered the device to my Google account, and downloaded Logitech Media Player ($5 cost) and Logitech Squeezebox Controller software.  Both are needed for Logitech Media Player to work for some reason.  The software immediately picked up the Logitech Media Server on my network and connected, and I was able to use my cell phone as a remote to control the music.  Awesome.  
   
  Next, I purchased an ObjectiveDAC (bare board) from JDS Labs, and bought some shielded RCA cables from Monoprice.  I wired the ODAC to output through the RCA cables, and tested it on my computer.  Everything sounded great, so I plugged it into the Android stick.  Upon rebooting, the stick detected my ODAC.  In the settings menu there is an option for sound devices, so I set that to the DAC.  Everything worked perfectly.  
   

   
   
  I knew from the beginning that if I got this working, I would build a custom box for it, and would want to simply have as the input one power cable, a couple USB ports for an external hard drive and/or keyboard/mouse/video game controller, etc. and the output be 2 rca cables and HDMI in case I needed to diagnose anything (or if I decided to use the additional functionality of the device).  I bought a powered USB hub and hooked it up, and plugged both the power and the data cables from the MK808 into it.  The hub is powerful enough to power the Android device, the DAC, a wireless keyboard receiver and an optical mouse.  That's all I've tested it with, but it should be able to power more.  Next, I decided that I didn't want to have the annoyance of using a proprietary power cable for the USB hub, so I tore the hub apart and soldered the + and - from a full size USB cable to the positive and negative pins on the hub.  There were two negative pins, so I jumpered them with a piece of wire.  
   

   
   
  Then, I got a USB-USB keystone jack, plugged a full size USB cable into both ends and hooked a 5v 2A USB power supply up to it.  Using this method, it still has enough power the device.  

   
   
  In order to make the device automatically start up the media player software (so it's headless and doesn't need a screen/keyboard/mouse/etc.) I downloaded an android program called Startup Manager.  I set it to start the SqueezePlayer and Squeezebox Controller apps at boot, and everything works fine.  I haven't built my box for it yet, but figured I'd post this now and show you the box when it's done.  In all, this project didn't take much time at all to do.  Nearly all of the time I spent on it was spent trying to get this to work with the Raspberry Pi.  Starting from scratch, I could get this going in probably an hour, including all the soldering, etc.  I haven't fully tested to see if all file types will work on it yet, so I'll update this thread with any bugs/issues that I find with it.  For now, I'm psyched that it's working and sounds great. 
   

   
   
 Parts list MK808 Android 4.1 Rockchip RK3066 - $56.77 (Now down to $39.99!)
 [size=1.7em] Objective DAC from JDS Labs - $102.35 shipped[/size]
 [size=1.7em] 5v 2A USB Charger - $9.99[/size]
 [size=1.7em] 3' USB Cable - $0.94 x 2 = $1.88[/size]
 [size=1.7em] Mini USB Cables - $0.95 x 2 = $1.90[/size]
 USB Keystone Jack - $1.96
 RCA Cable - $2.28
 RCA Keystone Jacks(Red and White) - $0.84 each
 Powered USB Hub - $12.99
 SqueezePlayer software - $4.99
  
 *Total Cost - $195.95*
  
  
 Add on #1 - Color Touchscreen   
I had a bit of extra cash lying around and decided that I wanted to have a touchscreen control for this.  Unfortunately, most of the touchscreens on the market are extremely expensive.. Luckily, there is a cheaper, kind-of DIY option for a color touchscreen.  
   
Barnes and Noble made a color touchscreen E-reader called the Nook Color.  There is a community of people over on XDA-Developers, the NookieDev Team, that  that figured out a way to put Android 4.1 on the Nook Color, and it's extremely simple to do.  Nook Colors are also very available second-hand online, and they're fairly inexpensive.  I bought mine used from Cowboom.com for $60, shipped, and it arrived looking like it was brand new.  Awesome.
   
First thing you'll want to do to get Android working on the Nook Color is to download the latest Cyanogenmod 10 Nightly zip file here: http://download.cyanogenmod.org/?type=nightly&device=encore
   
Then, download the latest Google Apps zip file here.  MAKE SURE YOU GET THE VERSION FOR ANDROID 4.1.X: http://goo.im/gapps
   
After that, you need to download this file: http://forum.xda-developers.com/attachment.php?attachmentid=1410340&d=1350525922
   
You're also going to need a microSD card and a microSD card reader.  I had these lying around to use.  
   
Next, get win32diskimager by searching Google for it.. It's free online.  
   
Extract the generic sd card zip file, and run win32diskimager as an administrator.  Use that to write the image to your microSD card.  BE CAREFUL you don't write over your hard drive or something!
   
When that is done, pop out the microSD card and put it back in.. Then copy the other two zip files into your Nook Color and turn it on.  Wait and wait and wait while it installs, and when it's done, it'll shut itself off.  Turn it back on and you'll have your very own android tablet!  Set it up with your information, connect it to the internet, and download the Logitech Squeezebox Controller app and you're good to go!  The USB hub I used previously somehow has enough power to keep this charging all the time even while it's playing, along with the DAC and the Android stick.  I'm pretty sure there's a way to run everything off of the Nook Color, but since I have the stick I'm not going to bother trying to get that working.  It is very convenient, and once I build my box for the entire thing, it'll look very sharp.  Anyway, here are a couple more photos, one of the Nook and one of the temporary box I have everything housed in...
   
   

   

   
   
  Edit: There is a new android mini pc in town that's quad core, and should run a lot quicker than this one if you're planning to use it for streaming HD video.  http://liliputing.com/2013/04/tronsmart-mk908-quad-core-android-tv-stick-performance-video.html
   
  I'd probably get that one if I were building another one of these.


----------



## onefatsurfer

For a server, I'm running Logitech Media Server off of a Raspberry Pi.  It works very well for that, the only downside is that it has no method of decoding WMA Lossless files.  I'm going to convert them to FLAC files, which play beautifully on the Android player.  MP3's and FLAC work fine.  I don't have anything in Apple Lossless to test with it, but I see no reason that those shouldn't work since Logitech Media Server should convert the files for the player.  I'll try to dig up some Apple format files to test, or, if someone wants to send me a couple, I'll give them a shot.  
   
  Another plus of this setup: Total power consumption - 1 x 5v 2a charger(10 watts) + 1 x 5v 1a charger(5 watts) + 1 external hard drive power supply 12v 1.5a (18 watts) = 33W power consumption.  Not too bad considering I won't be turning on a PC to play these, which would use an easy 350 watts.  I don't feel too bad leaving this setup powered on all the time.  I'd like to test how much power it wastes when everything is idling.  I bet it's very minimal.


----------



## Threeek

That's impressive, I'm really glad to hear you've had success with the Android stick, I'm very interested in doing something similar.
   
  Please can I ask:
      1) How long has it been up and running for now?
      3) Is the audio stable without glitches?
      2) What sort of temperature does it run at   (i.e. warm/hot/cool to the touch)?
  
  I'll certainly be following this thread with interest and hope it all goes well for you, thank you.


----------



## onefatsurfer

So far, it has been running since Saturday without a hitch. The audio is stable, it plays just like my transporter only without the WMA lossless files. I'll try to do more thorough testing tonight after work to check file types up to 24 bit and 192kHz. Since the DAC is doing the work, again,I see no reason they wouldn't work.. but, you never know. It runs warm to the touch.


----------



## Zigis

Can this work just like player for HDD, without external server? I mean, if connect HDD with music files direct in USB hub.


----------



## dustinsterk

Please keep us updated....also you may want to post on the squeezebox forums as a few members (Triode,etc) are looking for a DIY SB replacement:  http://forums.slimdevices.com/


----------



## onefatsurfer

Quote: 





zigis said:


> Can this work just like player for HDD, without external server? I mean, if connect HDD with music files direct in USB hub.


 
  It should, but I don't have it set up like that.  I could give it a shot, though.  Since I'm using the hard drive as a network attached storage device with the Raspberry Pi set up as a SMB server, I don't plan on doing it permanently.. But I could try it out..  
  Quote: 





dustinsterk said:


> Please keep us updated....also you may want to post on the squeezebox forums as a few members (Triode,etc) are looking for a DIY SB replacement:  http://forums.slimdevices.com/


 
  Will do.  Thanks.


----------



## Threeek

Thanks very much for the answers and ongoing research on this, it sounds like just what I want.
  I've bitten the bullet and ordered one from China now, though it's going to take a while to turn up.


----------



## onefatsurfer

The only thing that is a bit frightening to me is the spotty track record of these android sticks.  A google search is somewhat frightening with people having them for a month and them burning out, or having poor wifi range, etc.  I'm just hoping that I don't have those issues.  
   
  Apparently, if you have wifi issues, de-soldering the ground on the wifi antennae will fix that.  I haven't had any wifi issues, though.


----------



## Threeek

Quote: 





onefatsurfer said:


> Apparently, if you have wifi issues, de-soldering the ground on the wifi antennae will fix that.


 
   
   
  I read about that on an Amazon review, but I got the impression that it isn't an issue with newer ones. Hopefully they've addressed it in the production process - I'm well out of practice on my soldering.


----------



## earfanatic

This is great!
   
  I am planning a similar setup alternative to yours, if you do not mind I explain it. It is maybe a bit cheaper too.
   
  I am not sure if you can use squeezeserver this way but MPD (Music Player Daemon) definitely!
  MPD is a server-client software for music playback (has Android and iOS remotes) and it is very powerful.
   
  The hardware setup could be this:

   
  TPLINK MR3020 Router (with OpenWRT ROM)
  ODAC
   
  The wifi router is very small and uses little power too. There is a custom linux rom called OpenWRT which can be installed on.
  After install MPD (and ALSA) can play music to USB DACs natively without resample.
  The router costs only about $30. There are examples on the internet to configure it. Some has made an internet radio with this and a low cost USB sound stick from e-Bay.
  For casing I think extending the router case could be a nice option as the form factor is nice. The ODAC could be mounted on the bottom.
  I have not built it yet but later this year will.


----------



## onefatsurfer

Quote: 





earfanatic said:


> This is great!
> 
> I am planning a similar setup alternative to yours, if you do not mind I explain it. It is maybe a bit cheaper too.
> 
> ...


 
  I'm wary of using anything Linux for this system after the frustrating defeat that I suffered trying to get this working on my Raspberry Pi.  Apparently the cheap USB sound sticks work great on the RPi, but better ones (I tried the Fiio E10 and the ODAC) didn't work correctly.  I wish you the best of luck on this, hopefully you don't have any issues with the TPLINK like I did with the Raspberry Pi.


----------



## wakibaki

This looks like fun. I think I'll get one.
   
  w


----------



## onefatsurfer

Keep in mind that I have only had this running since Saturday and haven't had enough time to test everything out 100% on this.  AKA If you buy one of these Android sticks and it burns out on you in 2 weeks, don't blame me!


----------



## earfanatic

Quote:  





> I wish you the best of luck on this, hopefully you don't have any issues with the TPLINK like I did with the Raspberry Pi.


 
   
  Yes I heard those issues with the ODAC addressed to the RPI usb implementation. I have no reference on the TPlink about this yet. As I have not read any project using this combo I think I shall try it first.
  Thank you for giving me good luck. If I will have success I will write about it.


----------



## onefatsurfer

Quote: 





earfanatic said:


> Yes I heard those issues with the ODAC addressed to the RPI usb implementation. I have no reference on the TPlink about this yet. As I have not read any project using this combo I think I shall try it first.
> Thank you for giving me good luck. If I will have success I will write about it.


 
   
  That seems like it would be a really exciting piece of equipment, if you can get it working.  You could theoretically set it up as a repeater, too, and extend the range of your wireless network with it.  Please write about it, either way.  
   
  As far as my setup, it would be pretty cool to get an external bluray player and set it up as a full-on media player.  I'm not sure if there are even drivers for android to play blurays, or the proper apps to do so, but it sure would be awesome to have this thing set up to be a full media center, with headless, HIFI music, HD video streaming, and bluray playback.  I think I'm dreaming though.


----------



## Threeek

Quote: 





onefatsurfer said:


> I'm wary of using anything Linux for this system after the frustrating defeat that I suffered trying to get this working on my Raspberry Pi.  Apparently the cheap USB sound sticks work great on the RPi, but better ones (I tried the Fiio E10 and the ODAC) didn't work correctly.  I wish you the best of luck on this, hopefully you don't have any issues with the TPLINK like I did with the Raspberry Pi.


 
   
  I've never had a problem with several Linux boxes and different DACs before - In my experience the noise problem is exclusive to the Raspberry Pi.
   
  As a Unix sysadmin I have to defend Linux, it's wonderful!  I hope it goes well with the TPLINK - good luck!


----------



## bwatson

That's great here is an article for doing  the same thing with a $20 device. Also I really like the case the PogoPlug comes in. Plus it has 4 USB ports in the case already.
   
  http://vortexbox.org/content/150-Building-the-VAMP


----------



## Harlock74

Hi there,
   
  I have just joined this forum as I am very interested in this project.
   
  I was also looking for a Squeezebox Touch replacement. So I have decided to buy a Raspberry PI. I would like to ask you a question. Knowing the USB audio issues, would it make sense to buy something like this:
   
http://www.amazon.com/HA-info-U2-USB-SPDIF-Converter/dp/B00A2QKZ16/ref=sr_1_2?ie=UTF8&qid=1358248736&sr=8-2&keywords=ha+info+u2
   
   
  It's a simple USB to SPDIF converter. By plugging this DAC/converter to the Raspberry PI I could use the digital coaxial output to connect it to a better DAC. Will this by-pass the USB issue or I am missing something? I am really not sure.
   
  Please let me know your thoughts.
   
  Regards,


----------



## onefatsurfer

I don't trust anything regarding USB audio with the Raspberry Pi.  Garbage in = garbage out, and if it doesn't work with sending data to my Fiio E10 or my ODAC, I don't trust it to send to any USB audio device, whether it's USB to SPDIF or USB to Analog out.  But, good luck with your endeavor.  Worst case scenario, the RPi works great as a Logitech Media Server if you connect an external HD to it.


----------



## onefatsurfer

Quote: 





bwatson said:


> That's great here is an article for doing  the same thing with a $20 device. Also I really like the case the PogoPlug comes in. Plus it has 4 USB ports in the case already.
> 
> http://vortexbox.org/content/150-Building-the-VAMP


 
  I gave up on linux devices after my issues with the Raspberry Pi.  If that works, though, that is an even better option since SqueezePlug software is free and the Pogoplug is so cheap.  IIRC, the latest version of Squeezeplug isn't supporting anything except the Raspberry Pi anymore, but I could be wrong.


----------



## Harlock74

Hi there,
   
  I can't blame you. It's really a shame though about this USB issue! Thanks for your suggestion. I have already tried that. But at the moment I have already got my LMS server (asus s1-at5nm10e) running Linux Ubuntu 12.04. I was just looking for a Squeexebox Touch replacement and I was really hoping that this nice Raspberry PI woud do his job 
   
  It would be ideal for us if the next Raspberry PI could implement a digital coaxial output


----------



## earfanatic

The PogoPlug looks very cool. I was checking it out lately. But I do not remember where, I have read the hardware is not that fast actually. It could be related to older models but some guy had gaps in playing back MP3.
  Does anyone know the hardware specification of the pogoplug (the cheapest one)?
  I know about the TPLINK it has 400Mhz CPU and 32Mb RAM. 4Mb Flash for the system is not that much though.
  Full wiki page from openWrt team is here: link


----------



## earfanatic

I actually found it. The pogoplug 4 has 800Mhz ARM V5 and 123Mb RAM. Lack of wifi though.


----------



## randytsuch

The vortex box instructions are based on using this model
   
http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray


----------



## zzffnn

Great thread. Lots of smart people and research/DIY effort here. Thanks for sharing!


----------



## zzffnn

@Onefatsurfer
Great job on the DIY Hi Fi media player! 

Is it easy to set up Raspberry Pi as a Logitech media sever? Would you be so kind to write a guide or point me to one? Thanks!

I have 4TB of flac and mp3 files stored in 2 NTFS drives. I plan to put hard drives in a USB drive cage with cooling fan. Can Raspberry Pi w/ Logitech server read all drives from USB cage and serve flac to iPhone with iPeng? Please kindly advise me.

I have other SMB/DLNA/UPnP/FTP player apps on iPhone (AcePlayerPro, OPlayer, GoodPlayer, Twonky Beam), if those are any helpful. I have successfully used iPhone with AcePlayerPro to play flac from a 1TB portable NAS (Patriot Gaunlet Node) via SMB. In its streaming player mode, iPhone can output digital (to external DAC) via docks like Pure i20.

For those who is not tech-proficient enough to DIY, they may consider WDTV Live as an alternative to OP's build. WDTV is a modified Linux box with decent processor. It can serve media (e.g., turn regular hard drive into a NAS ), play many types of media files (e.g., flac and mkv) and output optical digital and HDMI. Not sure it will work with ODAC though.


----------



## onefatsurfer

http://www.squeezeplug.de
   
  everything you need to know to do that is on that site.  It's very easy to get it running as a server.  *just make sure when you set the hard drive for your media, you don't say yes when it asks if you want to format the drive for use.  *


----------



## zzffnn

Thanks Onefatsurfer for the pointer. I read that web site but could not understand it completely to answer my questions. I guess Raspberry Pi is too advanced for someone like me, who has very limited programming experience. Thanks anyway.

I will probably go with a WDTV Live Plus ($70 refurb) and attach a MediaSonic USB 4-bay drive enclosure ($100) to it. This set-up will serve as NAS (and be compatible with NTFS or fat32) or media player. I have four 2TB hard drives filled with music. For someone with only one hard drive, drive enclosure will not be needed. Adding an external optical DAC should not be difficult or expensive.


----------



## onefatsurfer

I updated the first post with a new addition to my player... a color touchscreen!  It was super easy to do and didn't cost that much to add on, so I figured why not?  The functionality of this player is now better than the Transporter.  It's been running continuously for weeks and doesn't skip a beat.  
	

	
	
		
		

		
			




   
  The only time I've unplugged it was while putting it into the box.  I have more additions up my sleeve, but they will be a while before they're done.


----------



## myred5

I tried to connect MK808B Android 4.1 (Blutooth version) with ODAC directly from the OTG port. The DAC is getting detected in the Audio out settings, but I am not getting any audio. The DAC is working fine when connected to a PC.
   
  Did you get audio when ODAC is connected directly?


----------



## onefatsurfer

I plugged it directly into the USB port (not the OTG) on the MK808 and it works fine.. Make sure you set it to output to the DAC rather than to the HDMI port.
   
  Also, I set it up with Netflix, HBO Go, NES, SNES, Genesis, MAME and Game Boy Advance emulators.  I modded a wireless Logitech Xbox controller receiver to have a normal USB plug and it works great for playing the games.  I also hooked up my wife's Slingbox and it streams pretty well (not quite HD for some reason.. I'm still troubleshooting that).  This player (with the slingbox) has essentially replaced everything connected to my TV, while also providing HiFi sound for music.


----------



## walangalam

Quote: 





onefatsurfer said:


> ... the only downside is that it has no method of decoding WMA Lossless files...


 
   
  Why can't it decode wma lossless?  Is it because of the raspberry pi?
   
  All my files are in WMA Lossless, thats why I ask...
   
  Thanks


----------



## onefatsurfer

It is probably because of the Raspberry Pi.  I didn't have THAT many WMA lossless files, so I just re-ripped those CDs as FLAC and all is right again.


----------



## dustinsterk

Just an FYI....there is a project over at logitech that really has some legs (utilizing wandboard and a custom daughter board developed by John S).  Looks to be a very nice wireless streamer.
   
  http://forums.slimdevices.com/showthread.php?97881-Community-Funded-Squeezebox-Replacement-Would-you-be-interested/page68


----------



## onefatsurfer

Thanks.  That looks pretty cool.  I'll check it out more in depth this weekend


----------



## zzffnn

Quote: 





dustinsterk said:


> Just an FYI....there is a project over at logitech that really has some legs (utilizing wandboard and a custom daughter board developed by John S).  Looks to be a very nice wireless streamer.
> 
> http://forums.slimdevices.com/showthread.php?97881-Community-Funded-Squeezebox-Replacement-Would-you-be-interested/page68


 
   
  Thanks. Interesting thread. I read about 10 pages towards the end of it.
  Since this will/may be funded by community (i.e., more than a fun DIY project), please kindly comment:
  what are the significant advantages of it over a hacked WDTV Live connected to an external optical DAC (and TV or screen)?
   
  I can see a few points: 1) the new project may be 24/96/192 bit perfect; 2) it (if using Android) may have more app support; 3) possibly better processing power?
   
  It is probably just my peculiar self: I am personally more interested in a headless portable streaming device. I have a decent device working (see the 4th link of my sig), although its UI and battery life leaves something to be desired.


----------



## myred5

Thanks for your help. It worked.


----------



## onefatsurfer

Just as an update:
   
  It's still working great.  Sounds awesome, works very smoothly.  I ended up upgrading my remote app to Orange Squeeze, and I'm very happy with it.  It wasn't free, but it's worth the money for sure.


----------



## nickr

Hi, I am late to the party on this one, but have a question.
  
 It seems you end up with two devices, the MK808|DAC combo to play the music, and the Nook to act as a controller.
  
 Can you think of any reason why you can't run the whole lot on a tablet that had a USB host or OTG port to plug the DAC into, and cut out the middle man?


----------



## onefatsurfer

You can run the whole thing on one device as long as you can power it while using usb otg


----------



## nickr

onefatsurfer said:


> You can run the whole thing on one device as long as you can power it while using usb otg


 

 Thanks, that was my thoughts. Although I have perhaps moved on to something like this as my main concept:
  
 http://www.instructables.com/id/Wall-Mounted-SqueezePlayer-with-Raspberry-Pi/?ALLSTEPS
  
 With one of the hifi raspberry pi addon boards for the output.


----------



## manniesm

Re: Simple, low cost, HiFi network music streaming device
  
 You say the DAC does all of the work.  I have a NuForce DDA-100 integrated that acts as its own DAC and will handle up to 24/96.  In fact, it performs the d-to-a at its output.  I am currently driving the amp with an Airport Express from iTunes and my PC with an optical cable, but I'd like to be able to play higher-rez files.  The DDA-100 has only digital inputs (coax, USB, and optical).  I am a digital novice, can I do this?


----------

