Android Stick Mutates Into A Home Server

small-form-factor-home-server

Kiss that energy hungry PC you’ve been using as a home server goodbye. [Vince Loschiavo] shows us how he squeezed a remarkable amount of functionality out of an inexpensive Android stick which manages his home’s digital empire.

He started off just wanting some network attached storage. For this he grabbed an MK802 Android Stick which you can get for a song if you find the right deal. To bend it to his will he said goodbye to the Android OS, installing Ubuntu for ARM instead. The stick (which is missing its case in the image above) connects to a USB hub in host mode, but does actually draw all of its power from the hub itself. This made it possible to attach a USB to Ethernet adapter to boost the speed which would have been limited by the WiFi connection. There’s a 320 gig USB hard drive for the storage. With that much space on hand it makes sense to add streaming media service as well which is simple since it’s running Linux. The last part of his work actually turns it into an Asterisk server by way of Google Voice and a SIP phone. An impressive outcome at a bargain price to be sure!

27 thoughts on “Android Stick Mutates Into A Home Server

      1. They might be one of those crazy people who put thought into using something clinically proven, even by it’s main endorser the IEEE, to cause tumors or “accelerated cell growth”

        I know I know.. shut up dumb poo poo head..

    1. That is definitely a true statement; and there are bottlenecks in every system.

      In this setup, NAS Performance gets me around 8-10 MBytes per second (64 Mbits per sec – 80 Mbits per sec) file transfers via FTP. SCP and CIFS is a bit slower and the CPU gets a bit of a workout, probably due to the overhead in the protocols and encryption (in the case of SCP).

      iPerf (just generating traffic from the CPU out the ethernet interface) I can get 96+ Mbits per sec.

      So, if we look at it from a power versus performance perspective…I’m very happy with this project (especially since it was built from spare parts I had lying around).

      1. I’m streaming MP4 rips at 1080p, 30 fps. I’d have to double check the bit rate, but I set Handbrake at Constant quality RF: 20. Occasionally I get dropped frames on the stick in the living room (but that is likely due to the wifi on that stick). I don’t experience dropped frames on any wired devices. Streaming to my wired laptop or desktops via VLC works great.

        SIP still works great. I’ve had two video streams and an audio stream going at once while on the phone. Zero voice quality issues. The 100mb nic isn’t even close to 50% utilized and the CPU is typically less than 45% at any given point.

        I’m not graphing the statistics…but maybe I should install cacti (http://www.cacti.net/) and find out…. :)

      1. Buck each? Try at least 10 bucks each. And ,yea, 59 bucks IS expensive. Its almost in the price range of the commercial NAS devices. Many of them can be hacked to run additional software.

        1. Yes, I agree. This solution isn’t cheap. However it was more of a salvage project for me as I built it from spare parts lying around. Someone recently asked me to build one for them. I put together a Bill of Materials via Amazon just to see what it would cost.

          Here’s the wishlist:
          http://www.amazon.com/registry/wishlist/138RWK5TUFCYF/ref=cm_wl_rlist_go_o_C-1

          For around $150 you can build one yourself with a 1TB drive (verus my 320Gb)

          I decided not to replicate the project for my friend as there are plenty of other (probably faster and cheaper) ways to do something similar with the same functionality.

  1. I was thinking the same thing, but then I realized that one of those Atom 2800 boards are better. You get more RAM, sata, gigabit ethernet, more powerful CPU etc…. the downside is that it will be a little more expensive and more power hungry.

    1. I bought 3 MK808’s and they perform great (once you redo the Wifi antennae, they did a horrible soldering job on it, and put finless bob’s image on it), the additional difference with using a Android stick Vs a Atom computer is size, and architecture(x86 Vs ARM). It’s an android computer that fits in your pocket. Ex…So if it’s set to perform an automated task on boot-up then you just need a cable to power it or use even make a battery:)

      On a side note about the above project, you can make a pretty nifty UPS from a cell phone battery for Android Stick

  2. No love for the older POGOplugs? They can be had for 20 dollars or so between eBay and Amazon, paired with ArchARM you get the same functionality and many have internal SATA port, 4 USB ports, with gigE. I am configuring two that I picked up and slapped abandoned laptop hard drives on…this hack maybe warrants a tip of the hat, but really is inefficient considering the other options out there.

    1. He had a spare MK802+ when he bought a MK802IIIs. So instead of tossing it away, he repurposed it to be a nice home server. So this is why he didn’t bought another board.
      I did something like this when I got a Chumby Hacker Board, a RasPi, a BeagleBone and a couple Carambolas. My first home server used the Chumby, then I tried to use a Carambola, and now I use a RasPi. I have OpenVPN, backup server, file server, torrent client with web interface, and a couple more things I don’t remember now.

  3. I’m one of those people who are waiting for a modern A-profile ARM chip to be paired with a SATA controller. Magnetic storage is drastically cheaper and has longer cycles than even the latest flash tech(this is factoring in modern static and dynamic wear-leveling too).

    SLC – 100k (34nm)
    MLC – 10k (34nm)
    MLC – 5k (25nm IMFT)
    MLC – 3k (~20nm)
    TLC – 1k (~20nm).

    1. “(this is factoring in modern static and dynamic wear-leveling too).”

      Are you sure about that? Flash wear levelling works on the erase block level, which are up to 512k on the cheapest drives. If we assume 1k block life, 512k block size, 30% overprovisioning (typical to increase chip yields), and a 120 GB drive size with randomized wear levelling, you’re looking at a mean-writes-before-failure of something around 320+ Terabytes before the drive fails.

      So you could technically fill and empty the disk once a day, and it would still last you seven years, and that’s for the cheapest cruddiest kind. Magnetic disks have a high probability of jamming a bearing in that seven years time, especially if they are started and stopped frequently.

      The over-provisioning means that there’s extra blocks on the chips to account for faulty blocks in manufacturing, and to use as spares if and when blocks fail prematurely. The minimum over-provisioning is around 7% while 30% is typical for the cheap chips. These blocks are also used by the wear levelling algorithm to move things around even when the drive is completely full, so it never grinds the same spot bald.

  4. I have done a Printer Server with an RK3188 TV Stick, using Linux Deploy and installing a Debian distro, with CUPS. My Canon MP252 USB Printer is now working as a wifi printer in a Windows 7 and XP PC´s printing without a hitch.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.