Way back in June 1967, the BBC began broadcasting BBC2 using the (then) new PAL system. This sent analogue colour TV images out at 625 lines per frame, of which 576 lines carried picture content. 576 lines was an improvement over earlier NTSC ‘color’ broadcasts in the US, that had 480 visible lines, but we were stuck with watching video at this resolution at home until 2006 when Sky TV began broadcasting 1080 line digital TV images: HD had arrived in the UK.
However, it wasn’t really until 2010, with Freeview, that ‘everyone’ was finally HD – when I say ‘everyone’, I mean ‘my Dad’. He is such a reluctant tech adopter that if he has one, then pretty much everyone has one.
Another development in 2010 was that YouTube began to support the uploading of 4k (3840 pixels × 2160 lines) video and by 2013/14 you could get blockbuster content in 4K on streaming services – if you had an HEVC (H.265) decoder (which most of the pre-2014 TVs didn’t have installed). 2016 gave us the Playstation 4 Pro and the XBox One S – both of which offer 4K gaming and video streaming.
The recent pace of change, facilitated by the democratisation of video through digital codecs, has been impressive to behold. We spent 40 years at SD resolution while the broadcasters dictated what video content was available. Since the shift to digital video and the ability to play content on a wide array of devices besides PCs, we have seen - in less than 5 years - the widespread public adoption of 4K UHD TVs and other devices even though most major broadcasters do not yet broadcast 4K content.
If video is an important part of what you do with your SBCs, then you will have been running into some format of H.265 and/or VP9 encoded files for a while now. With both schemes providing twice the compression efficiency compared to their predecessors (as you no doubt guessed, H.264 and VP8) and both being supported by all the major manufacturers (e.g. LG, Panasonic, Sony, Samsung, Toshiba, Philips, Sharp, ARM, Intel, Nvidia, Qualcomm, Realtek Semiconductor plus Mozilla and Chrome browsers) we will be seeing a lot more of these encoding schemes in the future.
It is possible to play H.265 encodes up to 1080p on the Raspberry Pi 3: if it's overclocked to at least 1325MHz and fixed into something like a Flirc case for cooling, as the standard passive heatsink kits aren't sufficient to prevent the processor reaching temperatures where the clock speed will throttle under the load. Pro tip: software decoding H.265 really hammers your processor.
Side Note: To overclock your Raspberry Pi 3 to 1325MHz (or higher) edit the system's /boot/config.txt using your favourite text editor and make sure you have the following two values present and uncommented:
arm_freq=1325 # You can usually go as high as 1500 without issues overvoltage=6
sdram_freq=500 # This can also help, but isn’t strictly necessary
To keep an eye on the temperature and make sure it is stable below the thermal limit of around 83°C where throttling begins, use a text editor to create a simple script like this:
# Script name: T.sh
# Display the ARM CPU and GPU temperature on a Raspberry Pi 3
echo "$(date) @ $(hostname)"
echo "GPU $(/opt/vc/bin/vcgencmd measure_temp)"
echo "CPU temp= $((cpu/1000))'C"
Save and close the file and set the permission to make it executable:
chmod +x T.sh
Run it with:
4K Single Board Computers
Of course, if you want 4K video then you will need to make sure your SBC has a couple of things in place: HDMI 2.0 (or later) output to support 4k video and hardware H.265 decoding to offload the decompression burden from the processor.
To help you on your quest, I have compiled a list of five SBCs under £100 that meet these minimum requirements. However, it is worth me pointing out that for every board in this list, you will need to be happy using the command line in a terminal and may well have to get your hands dirty with the software, all without much support and nothing like the community of other users that you may be used to with Raspberry Pi. With that caveat out there, let’s get started with a couple of boards that have already proved to be popular in the home media centre arena.
Our first contender is from Korean outfit Hardkernel and built around the 64-bit, quad-core Amlogic S905. Our feature list includes:
- Amlogic ARM® Cortex®-A53(ARMv8) 1.5Ghz quad-core CPU
- Mali™-450 GPU (3 Pixel-processors + 2 Vertex shader processors)
- 2Gbyte DDR3 SDRAM
- Gigabit Ethernet
- HDMI 2.0 4K/60Hz display
- H.265 4K/60FPS and H.264 4K/30FPS capable VPU
- 40pin GPIOs + 7pin I2S
- eMMC5.0 HS400 Flash Storage slot / UHS-1 SDR50 MicroSD Card Slot
- USB 2.0 Host x 4, USB OTG x 1 (power + data capable)
- Infrared(IR) Receiver (for the optional remote control)
- Ubuntu 16.04 or Android 6.0 Marshmallow based on Kernel 3.14LTS
The large heatsink is more than capable of keeping processor temperatures under control (the heatsink itself does not seem to get that hot) even when you are giving the processor a good workout.
One of the nice things to pick out from the feature list is the ability to use eMMC 5.0 to increase your data transfer rates over what is possible with SD cards – though you still retain the option to use SD card images.
Another nice feature is Gigabit Ethernet that doesn’t share a USB channel to the processor, so you can get some impressive data transfer rates, subject to the limitations of the rest of your network. The downside is that the Amlogic S905 doesn’t directly support Wi-Fi or Bluetooth and Hardkernel have not added these features to the board by other means, so unless you buy the $10 USB Wi-Fi adapter (or use your own), you will have to do without.
In terms of software support, there are stable official Android and Ubuntu operating system images as well as (less official) ports for Arch, Kali and other interesting OS options. The GPIOs generally map with Pi GPIOs, so you can (fairly easily) repurpose any previous projects to this board. If all you want is an easy media centre setup, then you can load a LibreELEC Kodi image to your SD card and away you go.
Hardkernel has promised on their website to continue production of this board to at least the end of 2019 and with the pretty reasonable support available, including a range of hardware add-ons (like a Hi-Fi audio shield), this board is a solid choice for a 4K capable SBC.
Our next contender also uses the Amlogic S905 and made by Guangzhou, China manufacturer Friendly Elec. The FriendlyArm NanoPi K2 features:
- Amlogic S905, Quad-core ARM Cortex-A53@1.5GHz, DVFS
- Penta-core ARM Mali™-450
- 2GB DDR3
- 10/100/1000M Ethernet (RTL8211F)
- Wireless：802.11 b/g/n
- Bluetooth：4.0 dual mode
- Antenna: porcelain antenna shared by both WiFi and Bluetooth. One individual IPX interface.
- HDMI 2.0a 4K/60Hz video
- Audio Via HDMI/Bluetooth
- eMMC socket
- MicroSD slot
- 4 x USB 2.0 standard type A
- Micro USB 2.0, OTG, power input and data transmission
- IR receiver
- 40-Pin GPIO + 7-pin I2S
- 4-Pin Serial debug port
A nice feature that separates this board from the C2 is that FriendlyArm has added an AMPAK AP6212 WiFi/Bluetooth/FM module to the board to provide onboard Wi-Fi and Bluetooth.
The downside is that there is a LOT less software support for this board at present. You have an Android 5.1.1 image which has Kodi integrated into it and an Ubuntu Core Xenial release to choose from by default. There is an experimental port of Armbian too if you are feeling a little more adventurous. Also, although the wiki is reasonably informative, there doesn’t seem to be much of a community you can turn to for help.
If all you want to do is run Kodi on Android, then you may be quite happy with this SBC but you will need to be a pretty hardcore hacker to enjoy creating other projects.
Time for something with a different architecture. The Rock64 is based around the Rockchip RK3328 which is another quad-core ARM Cortex-A53 device but unlike the S905, it can support up to 4GB RAM. So our feature list looks like this:
- Rockchip RK3328, Quad-core ARM Cortex-A53@1.5GHz
- ARM Mali™-450 MP2
- 1/2/4GB 1600MHz LPDDR3
- Gigabit Ethernet
- HDMI 2.0a 4K/60Hz video
- eMMC socket
- MicroSD slot
- 2 x USB 2.0 standard type A
- 1 x USB 3.0
- 3.5mm Barrel Jack socket 5V, 3A
- IR receiver
- 40-Pin GPIO (Pi-2) + Pi-P5+
- Power button
- Reset button
It’s nice to see the inclusion of a USB 3.0 connector on an SBC of this format, though you sacrifice two USB 2.0 connectors for it. A USB 3.0 connector means you have the opportunity to mount fast USB 3.0 storage devices (there is a USB 3.0 to SATA III hard drive adapter cable available) or a fast USB 3.0 Wi-Fi module, as there is no Wi-Fi on board.
The inclusion of a 3.5mm barrel jack for reliable power is also welcome.
Where the Rock64 shines above the other boards in our list is with its small but active community and the amount of operating system support there is available. Linux support includes Debian Jessie and Stretch, Xenial Mate (for both SD cards and eMMC), Fedora and Yocto. Android support is 7.x for both SD cards and eMMC. There is also a LibreELEC Kodi image and for retro-gamers, there is a port of Lakka.
Pine64 seem to have listened to their users’ feedback from the release of their first board (the Pine A64) and have put a lot of effort into putting into practice what they learned. The Rock64 is a very strong contender and well worth looking at if you want more than just a media player.
Banana Pi M64
This board is yet another spin on our theme and is based on the 64-bit Allwinner A64 SoC. The spec list includes:
- 64 Bit Quad Core ARM Cortex A53 1.2 GHz CPU
- Dual-core Mali 400 MP2 GPU
- 2G DDR3 SDRAM
- MicroSD slot supports up to 256GB expansion
- 8G eMMC flash (option 16/32/64G)
- CSI camera interface and DSI display interface support
- 10/100/1000 Mb Ethernet port
- WiFi 802.11 b/g/n (AP6212)
- Bluetooth 4.0 (AP6212)
- (3) USB 2.0 hosts and (1) USB otg port
- HDMI 1.4 with resolutions (up to 4K @24Hz) video playback
- 3.5mm Stereo Output mini-jack with microphone support
A lot of hardware has been squeezed onto this board – including soldering the eMMC to the board rather than using a module. It is technically a nice bit of hardware.
The question though, is whether Banana Pi can step up to the plate with their software support. For Linux, there are some Ubuntu Mate and Raspbian preview images and an Armbian image. Android support is Android 6.0.
Our last board is a rather unusually named SBC comes from Libre Computer and was recently funded on Kickstarter. This board is based on the 64-bit Amlogic S905X SoC which gives it some pretty impressive specs, especially for 4K video:
- Amlogic S905X SoC
- 4 ARM Cortex-A53
- Cryptography Extension
- 2G + 3P ARM Mali-450
- Amlogic Video Engine 10
- VP9 P2 4K60
- H.265 MP10@L5.1 4K60
- H.264 HP@L5.1 4K30
- JPEG / MJPEG
- H.264 1080P60
- Up to 2GB DDR3 SDRAM
- 4 USB 2.0 Type A
- 100 Mb Fast Ethernet
- 3.5mm TRRS AV Jack
- HDMI 2.0
- MicroUSB Power In
- MicroSD Card Slot
- eMMC Interface
- IR Receiver
- U-Boot Button
- 40 Pin GPIO Header (PWM, I2C, SPI, GPIO)
- Audio Headers (I2S, ADC, SPDIF)
- UART Header
The use of the S905X SoC is an interesting choice as this will support hardware decoding of VP9 encoded files and also adds 10-bit HDR (high dynamic range) video decoding. The downside is that it only supports 100Mb Ethernet directly.
In terms of software, this is a new board but does have Ubuntu 16.04 support by Libre Computer and Armbian. There is also an Android 7.1 release by Libre Computer.
As this is such a new product, it’s difficult to predict how well the company will be able to fulfil orders and how well they will be able to foster a community but this is one that I will be watching.
It would be rather remiss of me to forget one of the earliest SBCs of this format that could handle 4K video – the ASUS Tinkerboard.
It was an interesting entry into the scene by such a large player in the computer industry. This is another Rockchip based board. This time the Rockchip 3288. The spec list looks like this:
- Rockchip RK3288 Quad-Core ARM Cortex-A17 processor
- ARM® Mali™-T764 GPU
- 2GB Dual Channel LPDDR3
- Micro SD(TF) card slot
- Gigabit Ethernet
- WiFi 802.11 b/g/n
- Bluetooth V4.0 + EDR
- HDMI 4K@30hz with H.264/H.265 hardware decoder (update coming soon)
- RTL ALC4040 24-bit/192kHz audio CODEC to audio jack: audio out/mic in
- 4 x USB 2.0
In terms of software support, there is TinkerOS Linux and Android. Tinker OS is based on Linaro, which itself is based on Debian Linux. The Android port is based on Android Marshmallow. There are also GPIO APIs for C, Python and Scratch. No prizes for guessing how the GPIOs are laid out. It’s a capable board that has the backing of a major manufacturer, though community input is not as broad as some other projects.
There is an expanding choice of 4K capable SBCs out there; some better supported than others. All of these boards will cost you less than US$100, including power supplies and cases etc. The boards themselves are mostly below US$50 so they are a low-cost way to experiment with 4K media centres and (as they all retain GPIOs) there is plenty of scope to stretch your creative imagination.
If you feel I have left off any SBCs that everyone should know about, let me know in the comments.