In a world of tiny, tiny boards is a bigger board really better for your media center PC project?
A PC aimed at a market between the Raspberry Pi and full-blown desktop PC. The Mini comes with Ubuntu 11.10 but also runs Android 4.2.2 and a custom version of the XBMC client.
While not being the intended use of the Raspberry Pi originally, making a media centre is seen as the ideal starter project for most people thanks to the work put into the Kodi, formerly XBMC, media player and entertainment hub software and the OpenELEC software. The Matrix ARM mini-PC is a media center with more grunt and is powered by a quad-core Coretex-A9 1GHz processor with 2GB of DDR3 memory, which makes it a much more powerful board than the Raspberry Pi.
Connections on the board include Gigabit Ethernet, three USB 2.0 ports, HDMI, SATA 3 and optical audio output courtesy of S/PDIF. The Matrix comes with, the now unsupported, Ubuntu 11.10 installed on the internal 16GB of flash storage but this can be changed to Android 4.2.2 or a custom version of XBMC called Matrix TV.
However, this does mean you’ll need to use a Windows PC as Linux and Mac computers aren’t supported. We tested the Matrix with the stock Ubuntu install and it was very snappy with only a short delay caused by the Unity Dash searching for files, but this can be easily rectified in the settings. The Matrix was able to act as a desktop PC rather well, handling browsing and media playback without any fuss. The Matrix is a good media center platform with lots of power and connections enabling a media center to be built using the Matrix as a starting point.
But where the Matrix is poor is when compared to a Raspberry Pi in both price and Linux support, and as we write this, the Slice Media center from FiveNinjas has smashed its Kickstarter target with 16 days left (http://bit.ly/SliceMediaPlayer), which makes the Matrix a less attractive option All but one of the boards uses a variant of the ARM family of processors, which are renowned for their low-power consumption and operating temperatures. The majority of the boards on test use the popular Cortex series, ranging from 48MHz to 800MHz. ARM processors are generally found in mobile devices but are slowly making their way onto budget desktop PCs.
The odd one out in this feature is the Intel Galileo, which uses an Intel Quark based on a Pentium 4 processor. Intel is keen to capitalise on the success of maker culture and the Arduino, and created a board that’s compliant with the Arduino specification, shields made for Arduino UNO revision 3 boards and their software requirements.
The Galileo runs a minimal Linux OS and can be used in a similar manner as a Raspberry Pi and by extension, the VIA VAB-600 (see p55). The biggest issue with the Galileo is the operating temperature, which can reach a painfully hot temperature relatively quickly.
As we dive into a comparison of the hardware on offer with these five boards, we’ll also explain some of the key protocols and circuitry you’ll need to consider when choosing which board to use: GPIO (General Purpose Input Output) Each of the boards have multiple inputs and outputs, commonly referred to as pins or GPIO.
These pins can be used to interface with electronic components, breadboards and sensors. The Freescale FRDM KL25Z and Intel Galileo are pincompatible with Arduino shields, whereas the mbed LPC1768 isn’t compatible with the Arduino layout but can be inserted into a breadboard enabling you to break out the pins using jumper cables. All of the boards here come with features such as: I2C (Inter-Integrated Circuit) A low-speed communication protocol that uses only a few pins but connects to many components.
SPI (Serial Peripheral Interface) A fast communication protocol used over short distances at high speed. PWM (Pulse Width Modulation) This is a digital way of simulating the granular fine control of analogue data.Rather than be a hardware development platform, the VAB-600 is a reference design for those looking to prototype in-car entertainment packages and medical devices, which means it doesn’t come with any traditional GPIO pin layouts but has a limited series of pins that can be used with external components.
Surprisingly enough, the VIA does support I2C and SPI via two built-in sets of pins. Hardware comparison Despite having these pins, the VIA is more suited to software development than hardware and this is further confirmed by the Pico ITX form factor chosen for the VIA VAB- 600, which is the second smallest form factor for ‘traditional’ motherboards (the first being Mobile-ITX). The VAB-600 measures just 10cm by 7.2cm, has a number of ports around it’s perimeter: USB, HDMI and Ethernet, but more importantly the board has Mini PCI Express enabling expansion boards, such as Wi-Fi and SSD hard drives to be used.
This expandability is part of the appeal of the VIA. The Matrix ARM Mini PC, in comparison, is a dedicated software development platform, and has no GPIO pins on the board. The ports around the perimeter of the board support more traditional media centre applications – it comes with a built-in SATA 3.0 port, enabling the direct connection of SATA hard drives, an important feature for a media center.
The Matrix also comes with two other media centre friendly features: an infrared receiver for your remote control and an S/PDIF (Sony/ Philips Digital Interface Format) optical audio output for crystal clear surround sound. Setting up the boards Each of the boards have their own method of being prepared for a project with some easier than others.
We tested all of them using the latest version of Linux Mint 64-bit on a Core 2 laptop with 4GB of RAM. The simplest to setup is the Mbed NXP LPC1768, which mounts as a flash storage device when connected. No further configuration is necessary as the board is programmed using the web compiler/ development environment, which creates a file ready to be copied to the flash storage.
The Arduino compatible Intel Galileo is the next easiest to setup, requiring nothing more than downloading the required version of the Arduino development environment from the official website.
An additional step for those that don’t already have the standard version of the environment is ensuring that your user is added to a group called dialout, so that you can program the Arduino over USB. However, this is straightforward and handled by a popup box when starting the environment for the first time.