My Pine64 Media Center

Several months back, I participated in a Kickstarter campaign for the PINE A64, First $15 64-Bit Single Board Super Computer. The campaign started in December of 2015, and was designed to fund the production of a 64-bit computer on a card for the masses priced at $15. Initial estimated delivery was January or February. Their initial estimates on shipping were somewhat optimistic, as I just received mine the other day (5/21/2016). Reading through some of the comments on the project, some people were rather bent out of shape about the shipping delays, which is something I don't really understand, given that most Kickstarter campaigns are run on a shoestring budget by folks that aren't really familiar with running large operations. I figured, I'd get it when I get it, and would be happy if the thing shipped at all.

There were several different models offered, some with more or less ram. I opted for the Pine A64+ with 2GB SDRAM. ($29 pledge level). I also opted to get a few add-ons, such as a WiFi card, power supply, and battery backup for the RTC clock. Total out of pocket was $50, which also included a second Pine64 of the same type. Looking back, I probably should have included another WiFi card as well, and I still may, though the Pinje64 comes with an on-board ethernet port. I ended up spending a bit more because of what I wanted to do with it, which I'll get to in a bit.

However, lets start at the beginning.

Here's the computer itself.


Pine64+ 2GB SDRAM

As you can see, it's not very big. It has 2 USB ports, and in infra-red receiver...


IR/USB

You see the HDMI, Ethernet and power (+5v) ports here ...


AV and Ethernet

Not much to it, really, of course, for $20 you can't expect much. The WiFi was a board that plugs into pins that will accept either a WiFi or Bluetooth module


WiFi

First of all, you need an enclosure. They had a pretty acrylic enclosure that you could purchase, which would have been nifty and all, but I have Lego, and lots of it. So, a Lego enclosure was pretty much a no-brainer.Here's my pine64+ in Lego...


Boxed

The Pine64+ as shipped doesn't actually include any media. You need a micro-SD card to boot off of. I chose to use a spare 32GB I happened to not be using at the moment. You can use an 8GB class-10 card to use as a boot image, but I wanted to be add more programs and such once I got everything installed and configured. Cards are cheap these days, so having more space available to work with is better than not, in my not so humble opinion. As far as what operating system to load, you have choices. Check out the Pine64 Quick Start page for more info. The basic choices are Linux, Android, and ReMix OS. I went with Linux, and in fact, loaded Debian Linux Jessie with Mate GUI. I'll eventually go back and roll my own image for this, but to get things moving, I just went with a more or less stock build for the initial boot, and then installed some other programs using the package manager. I think I could make a much leaner build than this, but it's great to have something to initially work with. One thing that is cool about this whole thing, is that since everything runs off a micro-SD card, if you're like me, and you have the things lying all over the house, you can swap out whatever you consider to be your current "gold" working system and play with things on another card, then if you don't like how things turned out, you just swap your good disk back in, and you're golden!


Boot Disk

Since this is an entire computer and was going to be running a GUI (at least initially), I wanted to have a keyboard and mouse so I could actually do something with it. (The system will eventually have a webserver installed that will allow me to control the music player, but for now, we're in GUI-land). I've been using a Logitech keyboard/mouse combo on my desktop computer for years, and like the feel of both of them a lot. So I ordered a new one on Amazon. The new one went on my desktop, and the old one with somewhat worn keys was transferred to the new PC. One thing I like about this particular combo is the bluetooth USB adapter. It's nice and tiny! Perfect for my purposes. ...


Dongle

Now, I've almost got a functional computer. However, since the ultimate purpose here is to have a box that will serve music and video files, After accounting for the OS and other programs needed, the 32GB micro-SD card I'm using as a boot disk only has 24GB of space left on it. Given how large my music library is, that's not enough. So, another purchase was needed. Fry's had a 128GB card on sale at $30. Perfect. I had a spare card reader that was small enough to work well...



Here's the mouse/keyboard and media disk plugged in ...


Booting

So now, I'm ready. I have a computer, wifi, mouse, keyboard, boot disk, and media disk. As I mentioned previously, the Pine64 has HDMI output so, I can plug the box directly into my television. (there is an aside about this below) Here's the boot...




Debian

After booting up, I checked out the mp3 player that came with, and didn't really care for it. Instead, I installed Audacious. I had a bit of an issue with the network initially as well. It was kind of a weird problem. I was able to connect to my WiFi network without any issues, but it wasn't letting me get to the internet. I could get to my desktop via ssh, and likewise from my desktop to the pine64, but I couldn't get to Google. So, local traffic worked, but internet did not. Turns out, if you looked at the routing table, you'd see that eth0 (the lan port) was up as well as the WiFi card, and was interfering with network traffic to the internet. From the command prompt, "sudo ifdown eth0" disabled eth0. Full internet was magically restored.

I copied all 80GB of my audio library to the media card, and set it up to automount on boot. One of the nice things about this set up, is that if you wanted to, you could have multiple cards with different tunes on them if you want, and you could swap the cards out (after gracefully unmounting them of course). I'm lazy though. I like to have it all.


Audacious

As a side note, Linux seems to like my keyboard a lot, which is why I use it. Without any additional configuration, the extra buttons on the keybord for mute, volume control, pause, and skip worked just perfectly. My mother-in-law likes that a lot, as she can skip "angry music" without a lot of hassles.

The aside I mentioned previously concerns the hookup to the TV. My TV only has 2 HDMI ports. Unfortunately, I have a DVR, Blu-Ray, and now Computer that I needed to hook up to it. Having to swap cables out would have been major suckage, so I ended up having to buy a 3-port switch so I could have everything hooked up all the time. The switch I bought has a remote, so you don't have to physically press the button to change from one input to the other. This is cool. It also allows me to have all 3 devices plugged into the same HDMI input on my TV, so now I have a spare one, if I need to hook anything else to the TV in the future.

One last picture... Darth Vader guards my Pine64 on the mantle by the TV.

Update 1/22/2017: I inserted one of those USB battery charger in between the wall and the Pine64 a while back. Since that time, we've had 2 power failures. The last time, power was out for about 4 hours. However, the Pine64 can run for 24 hours straight off the battery, so it's been running coninuously for 105 days, without issues. Looking at the memory usage below, it looks like it's maxed out, but really that is just the cache, from previously read mp3 files.

top - 21:19:07 up 105 days,  9:12,  2 users,  load average: 0.36, 0.51, 0.60
Tasks: 162 total,   2 running, 160 sleeping,   0 stopped,   0 zombie
%Cpu0  :  2.4 us,  0.7 sy,  0.0 ni, 96.5 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu1  :  5.2 us,  0.7 sy,  0.0 ni, 94.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  4.7 us,  3.0 sy,  0.0 ni, 92.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  7.8 us,  1.9 sy,  0.0 ni, 90.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   2036512 total,  2002856 used,    33656 free,   351424 buffers
KiB Swap:        0 total,        0 used,        0 free.  1177136 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
14744 debian    20   0 3260488 148492  35840 S  16.1  7.3 160:10.69 rhythmbox
 4702 root      20   0   99740  35076   6296 R   3.9  1.7 526:26.10 Xorg 
 4974 debian     9 -11  288868   5872   3380 S   3.9  0.3 214:17.41 pulseaudio 
 4987 debian    20   0  413216  18924   9360 S   3.9  0.9 606:33.99 nm-applet
 5084 debian    20   0  245384  10240   5600 S   1.3  0.5 181:58.02 notification-ar 
 6491 debian    20   0    5448   1644   1104 R   1.3  0.1   0:00.15 top