TV Computer

Introduction

I am building a "TV Computer", that is, a sort of set top box that will function as a DVB-T (freeview) receiver, a digital video recorder, an iPlayer viewer, and a DVD player.

My motivation is to have a practical project that will keep me up-to-date with embedded Linux and ARM SoC developments, and perhaps to make a useful open-source contribution. Also, my experience of off-the-shelf digital TV devices has not been very positive - especially their user interfaces - so I like the idea of creating my own with a UI that works exactly how I want it to work.

Building custom PCBs for things like this is not really feasible for me, so my first decision is to choose an off-the-shelf processor board to form the core of the system. I looked at various hardware including the Panda Board and Trim-Slice, but settled on the Freescale i.MX53 Quick Start Board. The key features of this board compared to the others are the presence of analogue and digital video outputs (the latter with a daughter board) and SATA. Around the board are various peripherals including a USB DVB-T dongle, a SATA SSD and a USB DVD drive.

Software-wise, the system runs Linux, and Debian "armhf". The application software is my own, using various libraries to talk to the hardware.

Details of the project can be found on the following pages:

The Case
I have built a solid case for everything that can sit under my TV.
Power Supply
The system has an internal mains power supply.
Power On Hack
A misfeature of the board is that it powers on "off".
SATA Booting
How to make the board boot from a SATA drive.
U-Boot
My U-Boot configuration.
Kernel
How I've built and configured a Linux kernel, and the changes that I've made.
Video connections
How to connect the board to a TV.
Debian ARM hf
Installing and configuring Debian.
DVB
Getting the DVB dongle to work.
OpenGL
Trying to make OpenGL work.
MPEG decoding
Hardware MPEG video decoding.
Audio decoding
Software MP3 and AC3 audio decoding.
iPlayer
Viewing BBC iPlayer video-on-demand.
Electronic Programme Guide
How to get programme schedules.
Reading DVDs
How to read and play DVDs.
Command-Line Television
My first attempt at a user interface.

Current Status 2013-04-30

This project had been on hold for more than a year, but I have now resumed work on it.

The delay was because I moved house, and my new place had poor TV reception: a "real" TV could get only the BBC DVB-T multiplex, and that was unreliable and only worked in good weather. My DVB-T dongle got nothing at all. I have finally fixed that by removing an old aerial splitter box that was strapped to a rainwater pipe; the signal strength, as reported by a cheapo meter that I bought on ebay ("Labgear DVB-T Finder"), is now 50 dB uv. That is enough for the DVB-T dongle to pick up everything, and I can resume work - once I can remember how everything is supposed to work...

Hints

Questions

(This is mainly a reminder-list of things that I need to investigate, but if anyone else already knows the answers I'd love to hear from you.)