Friday, 3 January 2014

Again ARM boards


During the Christmas holiday I got a brain wave that it would be nice if I could record television in Japan and watch it at home. In the past I had a recording system based on freevo and that worked quite nice. I should be able to have something similar when it was possible to install a small ARM based linux system back in Japan.
The figure below gives an idea about what I want to make:

Picture will follow!!

I am already the owner of a Beagleboard XM, a Pandaboard and a Raspberry Pi. All three were nice to play with, but not so suited for this new project. So I started to look for a board that would be more suited for this project.

Board comparison

I am looking for the following:
  • A separate network, usb and preferably Sata interface to prevent bottlenecks during recording and streaming/copying the contents.
    The Beagleboard, Pandaboard and Raspberry Pi do not score well on this point; the network and USB are connected over the same bus interface to the soc. And this proved (with old kernels) to be a clear bottleneck. Also no sata interface available.
  • A bit horsepower to encode the recordings in a smaller format.
    This disqualifies the Beagleboard and the Raspberry Pi. Both have some support from their DSP or graphical coprocessor, but that is not enough to re-encode movies from 1080p to something smaller.
  • A convenient form factor so that I can build it in a need box.
    This means that the board should be small and the connectors should be placed in a smart way. The Pandaboard has for instance the disadvantage of a large combined connector for ethernet and USB, which makes this board very high
I am not after real time decoding (and encoding) of HD streams and I am not using a GUI/Desktop on the board. This gives me the advantage that I don't need the (3D) GPU support and I don't count on much added value of the VPU. In general are those two not very well supported under Linux on this kind of boards due to all kind of IP issues.  I will be not hindered by the lack of support on this.  The support of the wireless module (wifi and bluetooth) can also be an issue in general but that is a functionality that I don't need. This makes that I can probably use an "early" adaptor board with only limited kernel and hardware support.  This opens a bigger range of possible boards.  

Someone has already spend some time on a nice overview of different development/hobby boards. This overview you can find; here. The table below summarises the comparison on the for my project important points:

Board name: Pandaboard Cubieboard2 Odroid-U3 Wandboard Quad
Processor: TI OMAP4430 Allwinner A20 Samsung Exynos4412 Freescale i.MX6 quad
Architecture: Cortex-A9 Cortex-A7 Cortex-A9 Cortex-A9
Cores: 2 2 4 4
Frequency: 1GHz 1GHz 1.7GHz 1GHz
Memory 1Gbyte 1Gbyte 2Gbyte 2Gbyte
Sata: No Yes No Yes
USB Host: 2 + 2 2 3 1
Ethernet: 10/100 10/100 10/100 10/100/1000
Shop: digikey Conrad Hardkernel Denx-cs
Price: 150 Euro
75 Euro
110 Euro 118,94 Euro
Advantage: Already available (no additional cost) Relative cheap and with Sata. Sold by Conrad Very fast Fast and Sata
Disadvantage: Ethernet and USB over the same channel proved already to be a bottleneck in the past.
Memory subsystem not that good.
SD card and USB are slow.
Relative expensive compared with the others.
Except for the interfacing not really an improvement: Cortex-A7 is less powerful than Cortex-A9 and the Pandaboard was already slowish Must come from Korea which adds time and costs (shipping + tax) (Passive) USB hub needed
A bit unknown... how will the support be?

The table above shows clearly that of the four boards the ODROID-U3 is the most powerful one. Therefore it would be the most suited to decode /encode the video data in a smaller format. However getting this board in time from Korea can be a problem. The Wandboard is a good runner up in terms of price and performance.  I have ordered both and will see if I get the Odriod board in time or not.