Do you have an HDMI-enabled dumb TV sitting around that needs a dedicated set-top box or game console to be used? Are you planning to buy a new smart TV? Stop. Here is a tutorial that will turn your current TV into a great Android Linux powered smart TV. At most, you have to spend $30 on it.

What you need

$29 Pine64 (2GB model) 32GB or 64GB micro SD card Ethernet cable (Bluetooth/Wifi module if you want to play games, or need wireless connectivity) A keyboard+mouse (I recommend getting a bluetooth keyboard with built in trackpad). There are many small keyboards available on Amazon.com that you can try. A 5v power adapter with micro USB (a cellphone charger will work) HDMI enabled TV

Now download Android from the Pine64 official page. Make sure to download the version for the size of micro SD card that you’re using. Next, unzip the compressed file to extract .img image and use the dd command to write the image to the SD card:

sudo dd if=/path_to_.img of=/path_to_sd_card bs=1M

Once the card is ready, plug in the card, connect the HDMI cable to your TV, connect the Ethernet cable, and plug in the keyboard/base. Then, connect the power supply. If everything went well, you will see Pine64 boot screen on your TV, and then the familiar Android 5.x.

First things first

Log into your Gmail Account so that you can manage apps. Then, install Rotation Lock Adaptive app, open the app, and lock the screen in landscape mode. You need to do this because many apps detect Pine64 as a mobile phone and open in portrait mode. This workaround fixes that.

Android for Pine64 doesn’t come with Google apps preloaded so you will have to install a few apps to get things set up. All the apps that are available for Android are at your disposal. I installed YouTube, HBO Go (to complete Game of Thrones), Hulu Plus, Google Play Movies, Amazon Prime, VLC, and Plex.

For music, I installed Amazon Prime Music, YouTube Red (which offers free Google Play Music subscription), Pandora, Spotify, and so on. I am assuming soon Apple Music will also be available.

The good news is that Android also supports USB storage devices, so you can use a powered external hard drive or USB flash drive to watch movies from it, using VLC or file managers like ES File Manager.

If you don’t like the default UI, many launchers are available for Android that you can install from the Play Store. There are also some that also offer a smart TV-like interface.

Why Android?

I used Android rather than a Linux distribution because wanted to add smart TV capabilities to my basic TV and not use it as a desktop PC. Beyond that, Android has a far richer app ecosystem than desktop Linux. Whether you are talking about Netflix, Hulu Plus, Amazon Prime or whatever,…everything is available on Android as an app. And, if you want to use it as a casual gaming system then everything from Angry Birds to Asphalt is available, too. You just need to find a compatible Bluetooth game controller that works with Android.

Although this is a full-fledged smart TV setup with 4K support, it can also support casual web browsing and let you get some work done.

Why not Raspberry Pi?

I love my Raspberry Pi, but there isn’t any official Android port, as far as I am aware. Additionally, 1GB RAM is just not enough to get a decent experience here. On top of that, 4K HDMI output is the killer feature of Pine64.

Why not Chromecast?

As much as I love my Chromecast, I despise its dependence on a smartphone. If you have to take a phone call or leave home, then you leave the program running on your TV in limbo. And, if you are playing a game or something, you can’t use your phone.

Why not just buy a smart TV?

I prefer a dedicated smart TV; but if your TV already has an HDMI input, you don’t need to spend hundreds of dollars buying a smart TV. Smart TVs also have a locked down app ecosystem, so you don’t get access to all the apps and games that you need. Additionally, TV vendors are often quite lazy when it comes to keeping such apps updated. By building your own Smart TV, you are in complete control of what runs on your device.

Conclusion

I own a Samsung smart TV, but I really despise the lack of app and game selection there. I actually prefer my $30 Pine64 smart TV over the expensive alternative. Besides, it’s a cool and fun project to build and run your own Android Linux powered smart TV.

Want to learn how to do more awesome projects with Linux? Learn the basics with the free Intro to Linux course from The Linux Foundation and edX.