How to create a TiVo clone

Everyone has a TiVo, but not many people realize that the main components of a TiVo is a Video Capture card and a large hard drive.

September 26th, 2006 • HowTo •
0 (0 votes)

Recently, TiVo just announced they would be releasing a high-end DVR for $800. Noooo thank you. With a subscription service of $15 a month, a new PC, or TiVo clone, would pay for itself within the first year. Nice return, wouldn't you say?

Over the last year, I've put together a TiVo clone with the help of two friends of mine. They were taking the Windows Media PC path, but I decided to take the Linux way. Even though my friends were taking the Windows path, we were all moving towards the same goal: creating a TiVo-clone that outperforms a regular TiVo, adds additional features instead of a DVR that just sits there, and provide an added bonus of upgrading specific components in the future without sacrificing the entire system. I would rather add an additional hard drive at my own leisure instead of throwing out the "baby with the bathwater" mentality of replacing a TiVo with another "upgraded" TiVo.

This was definitely an awesome geek project that I wanted to start.

First things first. Before you even start puchasing hardware, you need to decide what type of OS (Operating System) you want to run. This is key, because it'll add or subtract an extra $80-$150 to the cost. Personally, I need to expand my technology skills and decided to go with Linux. I've been a Windows junkie since the early years and since I'm a newbie to Linux, I might as well give it a go. If you wanted to get away with creating a cheap TiVo, you might as well just go with Linux. Why? Two reasons: one, its a free OS; two, it has a number of pre-built free open-source software, which we'll discuss later in this article.

Overview

When someone mentions Linux, the first thing that comes to my mind is AMD. Don't get me wrong. People who know me well know that I've been using Intel since the beginning of time, so I was taking a chance with an AMD chipset and Linux. Needless to say, I'm not disappointed with my decision at all.

When starting to create this TiVo clone, I wanted to find the best components at the best price. I'm definitely a bargain hunter and the the hardware collected over the past year was purchased using Internet deals, keeping in mind I may want to use HDTV in the future. The entire system was built with a little over $900 for a fully-functional TiVo-like clone with Internet streaming, music, video, and other neat features we'll get into later.

You will notice that I've retrieved a lot of components from different sites, but that's the joy of the Internet. The prices listed at the site are not what I paid for them retail. I'm definitely a bargain hunter and the the hardware collected over the past year was purchased with super deals over the Internet, so this is an entirely new system with brand new components.

Let's get started on the hardware...

Hardware

Motherboard/Chipset: ASUS A8N5X NF4 939 / AMD-A64 3500+ 2.2G 939 512K R (NewEgg: Motherboard / CPU)

General Rule of thumb with custom DVR's: When picking out a motherboard/CPU, make sure that for each stream of TV you are watching, that your machine has 1ghz for that stream. For example, if you are planning on having a plain DVR that sits there and records TV shows every day, you will need at least a 1ghz machine, but since I wanted to record AND watch TV at the same time, I went with at least a 2ghz machine.

The motherboard came with two SATA cables to connect the hard drives quickly. Very nice.

Power Supply: Seasonic S12-380 380W, Silent Power Supply, ATX (PCAlchemy: Power Supply )

Since this was going to be a TiVo/Home Theater PC, I wanted this machine to be QUIET! Paying a little extra for this power supply was definitely worth the investment. I cannot hear this puppy running when the cover is on.

Memory: Ultra 1GB DDR 400 (MicroCenter: Memory)

Our local MicroCenter had a deal on 1Gig sticks of memory for $70 so this was a no-brainer.

Hard Drive: Seagate Barracuda 320gb 16M SATA2 (OEM) (NewEgg: Hard Drive)

Like I said before, I wanted a quiet PC and a hard drive was the second component I focused on. SATA2 with a transfer rate of 3gb/sec was awesome for what I was looking for and SATA means quiet and fast.

TV/Capture Card: Hauppauge WinTV-PVR-500MCE w/DVD Decoder: NVIDIA PureVideo Decoder Software (PCAlchemy: Capture Card)

Hauppauge is the only way to go with PVR functionality. The reason I went with this card was because the PVR-500MCE is a dual-tuner card. Yes, you can watch one TV show while taping another one. Excellent card!

Video Card: ASUS EN7600GS SILENT/HTD/256M Geforce 7600GS 256MB 128-bit GDDR2 PCI Express x16 Video Card (NewEgg: Video Card)

Well, since you have a capture card for pulling in the TV signal, now you need to send it out somehow. This was the third component I wanted to focus on since most video cards lately have huge fans on them. My objectives were different than others where gaming wasn't a key factor in building this TiVo clone, so a quiet, but hefty card was necessary. The passive cooling (heatsink) on the card helps in heat reduction and the ASUS motherboard coupled with an ASUS video card is producing some outstanding results. Oh...and did I mention it has passive cooling? (No fan!) :-)

Case: SilverStone Lascala SST-LC10 HTPC Case, Silver (PCAlchemy: Case)

Next to the OS, this is the most important component you will buy in making your machine. It has to contain all of the components listed above (ATX-style or mATX), has to match all of your existing A/V components (Silver or black?), and have its own personality (USB ports or an LCD display on the front?). I may upgrade later because I want a little more out of my HTPC cases.

Keyboard: Logitech Cordless Desktop MX 3000 Laser (Staples: Keyboard/Mouse Combo)

The keyboard will only be required once in a while to do OS updates or specialized functions, but overall, a remote will be your primary input for your TiVo clone.

DVD Drive: NEC Silver 16X 2M Cache IDE/ATAPI DVD Burner - OEM (NewEgg: DVD Drive)

The DVD Drive has to be able to burn DVDs, read CD-ROMS for updates, and the ability to rip DVD's. NewEgg had this for about $30. It can read and write multiple formats  and overall, it a great deal!

Remote Control: Hauppauge New Remote Control (Came with my other PVR-250 Capture card) Free!

This remote will definitely do what I want. However, I did purchase a Serial IR Receiver for this to work properly with Linux.

Software 

After putting everything together, it was time to start looking at what software I wanted installed. There are many flavors of Linux and also many flavors of a TiVo-style PVR (Personal Video Recorder) software for Linux. There are a lot of distributions of Linux, such as Red Hat, Ubuntu, and Knoppix, but a lot of people don't realize that there are already made ISO (CD) images that you can download to setup the OS and MythTV in one feld swoop. Since I was a Linux newbie, I decided to go this way.

MythTV is one of the best open source PVR solutions out there. Of course, there are many differences between MythTV and the other solutions where MythTV blows away the competition hands down. At this time, since MythTV has everything I need, I started looking for a bundled Linux distro and MythTV solution.

I didn't realize how good the options were for this type of project. Two of the more popular distros are:

  • MythDora - Red Hat Fedora Linux distribution with MythTV ready to go.
  • KnoppMyth - Knoppix Distribution with MythTV

If you would want to see more combinations, check out the wiki list of Linux and MythTV distros.

I went with a MythDora installation for two reasons: one, its easy to install, and two, there is an option under the main menu of MythTV to do a MythDora update directly from the Internet, so an xterm isn't necessary to update my software.

I followed the software installation of MythDora and found it very easy to move through the screens.

After installation, there were a couple things I missed like the remote control setup, but after running through it again, I was able to get everything up and running smoothly.

Conclusion

Being a Linux newbie, I did have some difficulty installing some components (WiFi sucks on Linux!), but overall, everything worked extremely well. This is definitely a great project if you have the technical skill and have the time and patience in building your very own TiVo clone.

If you are interested in some more how-to's, check out Kevin Rose on Revision3.

Was this informative? Share it!

Looking to become a better developer?

Sign up to receive ReSharper Design Pattern Smart Templates, ASP.NET MVC Guidelines Checklist, and Newsletter Updates!

Picture of Jonathan Danylko

Jonathan Danylko is a freelance web architect and avid programmer who has been programming for over 20 years. He has developed various systems in numerous industries including e-commerce, biotechnology, real estate, health, insurance, and utility companies.

When asked what he likes to do in his spare time, he replies, "Programming."

comments powered by Disqus