Kodi (also known as XBMC) is a great network media player that can access not just the files on your USB and network, but great internet content such as Youtube, Syfy, HGTV and more. Kodi is a piece of software that you can download and install on just about any computer including PC's Macs and - in this case - the Raspberry Pi.
Now you can probably get a cheap chinese network media player from Ebay for the same price, but you won't be able to customise it, and of course you can't build it yourself!
I've been using the Raspberry Pi version for a few weeks. It can be a little slow at times - after all it's only a 900MHz processor - but in general it works pretty well, especially considering the price. Since upgrading to the Rapberry Pi2 B version, I decided to turn it into a more professional looking unit.
This is the final result:
Step 1: Things You Will Need.
OK, you are going to need a few things.
Now to be honest, the $60 price tag for this project assumes that you have a 3D printer handy. I built mine a couple of years ago, but if you don't have one, you might be able to find a local hackerspace where you can borrow theirs. Apart from being able to print your own case, you will get to meet a great group of girls and guys as well.
OK, the list:
1 - Raspberry Pi B+ or Pi2, preferably the newer Pi2 (NOTE the older B format Pi won't fit in this case)
2 - A copy of Kodi for the Pi (http://kodi.wiki/view/HOW-TO:Install_Kodi_on_Raspb...) I'm using the OpenElec distro (http://openelec.tv/get-openelec)
3 - A class 10 or better micro SDHC card - 8GB will work. Spending more to get a faster card will improve the speed of the box, but it's up to you.
4 - A TSOP32238 IR receiver chip (I got this from Element14 in the same order as the Raspberry Pi)
5 - A LED. Colour , size, style are all up to you. I used a red square one because it was in my junk box
6 - A 100 Ohm (or thereabouts) resistor
7 - A piece of Veroboard, 31mm x 52mm (1.25" x 2")
8 - Some header sockets and ribbon wire (ebay) or female to female prototype leads (from Adafruit)
9 - A case (INSERT LINK TO THINGIVERSE)
10 - 5 off 4Gx12mm cross head countersunk wood screws or tek screws
11 - Auto body primer/filler and some acrylic enamel paint
12 - Sandpaper (120 and 400 grade)
13 - A piece of red perspex 15mmx20mm
14 - Tools:
Soldering iron and solder
Philips (cross) head screwdriver
Step 2: Let's Build Something!
You can probably start by printing the case. This is not intended to be a tutorial on 3D printing, so I'm not going to go through those steps here. Download the STL files for the case top and bottom from Thingiverse (http://www.thingiverse.com/thing:936534), then use your favourite slicing software to produce the Gcode and print one each of the case top and case bottom.
Afrer cleaning up the case (remove any blobs and stringy bits with a hobby knife) use the 120 grit sandpaper (I prefer wet and dry paper) to smooth down the external surfaces a bit. Don't worry too much about getting it perfectly smooth, that will come later.
Now, give he outside surfaces a couple of coats of auto primer/filler.
Step 3: The Case
Once the filler has dried, use the 120 grit paper to get the surfaces nice and flat, then apply another coat of auto primer/filler.
By now the surface should be nice and flat. If it isn't, repeat the process - sand the surfaces flat and add a coat of filler - until the surface is nice and flat. Finally, give the surfaces a sand with the 400 grit paper to get hem nice and smooth and get the corners and top edges nicely rounded.
Now the fun bit - a couple of coats of your favourite colour. Firstly, make sure to remove any dust from the sanding process.
Once the colour coats have dried, a coat of clearcoat will give your case a nice shiny finish. Then, if you want, you can then buff the clearcoat to get a really high polish.
You can also choose to do the same to the case bottom (just the bottom surface). I didn't, but it's up to you.
Step 4: The IR Board
It's worth noting that you probably don't really need the IR board. If your TV is CEC compatible (most TV's with HDMI are, I think), you can control the Kodi box with the TV remote control.
The case has been designed to fit standard 0.1" spacing veroboard. Cut a piece of veroboard 2" x 1.2", then drill four holes in the very corners. Mount the TSOP32238, LED and resistor as shown. If you place the cathode of the LED close to the TSOP32238, you can just bend the lead over to connect it to ground.
NOTE: When bending component leads, hold the lead near the component with the pliers and bend the free end of the lead as shown. As a general rule, don't hold the component and bend the lead, or bend the component side because you will put stress on the component and could damage it.
Make up the lead to connect the IR board to the GPIO of the Raspberry pi. and solder it to the board. In this case the single socket is 3.3v and the 4 pin socket goes to pins 6 (ground) and 12 (GPIO11).
If you prefer, you could use pins 12 and 14 which are right next to each other (pin 14 is ground as well). You could also use a different GPIO pin, it's up to you, but you will need to remember which pin you used for the IR input.
Step 5: Putting It Together.
You may find that you have to trim the box a little to get the boards to fit snugly. In particular, ensure that there is no stress on the raspberry pi Audio, USB and HDMI connectors. Trim the connector holes with a sharp hobby knife if necessary. Glue the piece of red perspex into the rectangular opening at the front of the box next to the IR board.
Plug the IR board into the raspberry pi GPIO, taking care to ensure that the connectors all go to the right pins.
Now, download the OSMC image (https://osmc.tv/download/images/) and copy it onto the micro SDHC card. MAKE SURE YOU GET THE CORRECT IMAGE for your Raspberry PI. The B+ image will NOT work on a Pi2.
It's a good idea to check that it all works before you put the case together.
Step 6: Set Up OSMC
OK, this bit I'm not at all sure about, and I could probably use a bit of help. Take everything in this step with a very large grain of salt because I'm still in the process of figuring it out.
To start with, just plug a mouse and keyboard into the USB ports on the raspberry pi so that you can change the settings.
It is worth mentioning that you don't have to use your KODI box with an IR remote control. If you have a CEC capable TV, you can control your Kodi box through the TV remote. To get this to work, enable CEC via HDMI on your TV as well as "allow cec to control kodi" in the Kodi settings. The TV remote can then be used to browse the menus on the Kodi box.
Setting up the IR remote option should be as simple as adding the line:
to the config.txt file in the osmc directory on the raspberry pi, then select the appropriate settings in the OSMC settings menu.