I have developed a full series of videos on the Beaglebone – an Embedded Linux device that is perfect for getting started and great for embedded Linux development. An alternative to the Beaglebone is the Raspberry PI – it is a great platform that is low cost and relatively powerful – however, it has one major advantage over the Beaglebone and that is in playing MPG4 and MPG2 video files as it has built in hardware decoders for these video formats. As a result my work with the Raspberry PI on this site, mainly discusses the use of the Raspberry PI for multimedia type applications.

The first use of the Raspberry PI here is in deploying XBMC on the Raspberry PI using the OpenElec Linux Distribution.

Building OpenElec for the Raspberry PI

In this video series I am going to explain how you can build a XBMC ( Media Player for a home television using the OpenELEC Linux distribution and deploy this on the Raspberry PI platform. This video starts from the very first steps and is aimed to be an introductory guide for those who are not used to compiling and building software under Linux.

Warning – Please make sure you have at least 15GB free on your building system and be warned that the compile could take up to 10-12 hours (or more) depending on the performance of your machine and the speed of your download link.

The Raspberry PI is a very low cost and small single-board computer developed in the UK by the Raspberry Pi Foundation. It is a powerful device and additionally it has hardware accelerated support for MPG4 and MPG2 decoding, making it a perfect choice for a home media centre.

Video 1 – Building and Deploying XBMC and the OpenElec Linux Distribution

Just to remind me – the default username is root and the password is openelec.

Adding IR Remote Control to XBMC on OpenElec/Raspberry PI

This video demonstrates how we can add infra red (IR) remote control functionality to the setup using a cheap IR receiver that is connected directly to the GPIO pins of the Raspberry PI.

The three electronics parts used for this video are:

1. An IR Receiver the TSOP34838 (google that code with digikey, farnell, mouser etc.) For example – digikey part number 751-1386-5-ND ~1.41 ea.

2. A 100 ohm through hole resistor (any power dissipation) For example – digikey part number P100BACT-ND ~0.08 ea.

3. A 4.7uF electrolytic capacitor (any voltage) – please note the polarity on this component. The +ve lead (longer one) needs to be connected to the 3.3V line (red) and the -ve lead (shorter one) to the GND line (black). For example – digikey part number P5177-ND ~0.17 ea.

For reference, here is my full lircd.conf file (/storage/.config/lircd.conf):

Adding Connectors to the Raspberry PI Header

Ideally you need leads with a female header so that they can connect to the male header of the Raspberry PI. These are often referred to 0.1″ as there is 1/10th of an inch between each pin. In metric they are referred to 2.54mm spacing leads.

This is a very quick video guide to working with custom PCB connectors. I recently had to make a custom connector for my Raspberry PI, which has a bank of male headers. I looked at a few different options and in the end I decided I would invest in a crimp tool to create my own custom cables. While the experiences are still fresh in my mind I decided I would make this video in case that it will be of benefit as an introductory guide to others who are trying to do the same sort of thing. The video will discuss regular ribbon cables, fixed length pre-crimped cables, and custom crimped cables. I will also give a guide to how to crimp 0.1″ male and female PCB interconnect cables and describe what a proper crimp connector should look like.


These videos are not as education focused as other videos that I have presented; however, it does allow us to build a platform on which I can demonstrate how we can integrate electronics devices in the home; in fact, a smart television is the perfect point to act as an information hub for the built environment… and to do this, we may need to integrate sensor inputs from all over a house together and provide aggregated intelligent analysis of that information to the householder.