Join 3,382 readers in helping fund MetaFilter (Hide)

How to make a remote control
October 15, 2005 2:45 PM   Subscribe

Where do I start in making a universal remote control?

I want to learn how to make a custom-shaped remote control that I can program for various electronics I use frequently. I just need help finding a book or a guide online that explains the basics of remote controls. The main reason I want to start this is it seems like it would be a fun project to consolidate some of my many remotes.
posted by apdato to Sports, Hobbies, & Recreation (10 answers total)
I think the answer depends highly on your skill level with electronics and construction techniques. If you want to build this as a complete custom job then then a PIC or AVR microcontroller would be perfect. Check their datasheets and application notes, as I'm sure there are tons of reference designs. You'd probably be designing something that can learn any sequence, because you wouldn't have access to the huge library of codes for all the various brands and models. You will likely need a scope or something approaching it for debugging and testing.

On the other hand, if you just care about the cosmetic appearance of the thing then I think it would be much easier to buy a universal remote and then constuct a new plastic shell in the desired shape / form factor and transplant the guts. If you've never built a microcontroller based project then I think you should take this route.

You could reuse the buttons or you could design your own - either way you could most likely reuse just about all of the stock remote.
posted by Rhomboid at 3:17 PM on October 15, 2005

Remote Central is a good resource for folks who are interested in commercially-available universal remotes. There might be something there that would help you.
posted by box at 3:22 PM on October 15, 2005

I think you should start by making a list of qualities you'd like the remote to have, sort of a basic idea of where you want to go with it. Then you should let us know.
posted by trevyn at 3:32 PM on October 15, 2005

There's software for some handhelds that will serve as universal remotes. If I were wanting to make one of my own, I'd probably start there... there's going to be a lot of knowledge contained in that software. I don't know if there's any open-source stuff, but just studying the docs on existing products might be useful.

There's also a huge amount of knowledge embedded in the code files for universal remotes, like the .CCF files for the Pronto, so learning how to read those is likely to save you quite a lot of time.

At the very least, you're going to need a case with a battery compartment, some kind of IR blaster, an IR receiver, a bunch of buttons, possibly some kind of display, some flash RAM to store all your settings, a microcontroller to make it all work, and then a month or two (at least) of writing, debugging, and troubleshooting.

You should also be aware that there are some *really good* universal remotes available now. Not the crap you find in Best Buy, but stuff you find through specialty dealers. If you have some money to spend, you might have more fun programming/customizing one of the super-deluxe $500+ jobs than actually building one yourself. They have color LCD touchscreens and animated menus and more features than you can shake a stick at.

If that's too much, the Home Theater Master MX-700 is about $160 from Newegg and is highly customizable. There's not a lot of 'flash', it just has LCD text for the display, but it's extremely, extremely customizable and configurable. Personally, I'd put my effort there... getting these things dialed in just exactly right can take quite some time. You must have a PC with a standard serial port to program the MX-700, and access to the original remotes for learning. It's easiest to do this with a laptop, so you can be in the same room with the devices for testing.

The remote stores settings permanently (until manually erased, at least), so you don't need to fear a battery change. And it's stored on the PC as well, so you have two copies of your setup. The remote can function as its own backup. If you lose the file on your PC, you can suck the settings back out of the remote. The software is a bit clunky and hard to learn, but easy to actually use once you figure it out. I'm using a pair of the 800 models myself (same thing, but with RF as well), and I bought my mom a 700 for her birthday. She's very happy with it, as am I.

I certainly wouldn't bother trying to roll my own at this point... it would cost me nearly that much in parts anyway, and it would never in a million years be as polished or nice to use.
posted by Malor at 4:47 PM on October 15, 2005

If the reason you want to tackle this is to learn more about electronics and microcontrollers, then go right ahead.

If the reason is anything else, you will almost certainly save money, time, or both by buying an off the shelf component. Something that is homemade is probably going to be a lot bigger than a stock model, and you're going to have to spend some money on the development environment. On the electronics side you'll need a microcontroller dev kit, flash programmer, a compiler and IDE, some kind of prototyping system (breadboard, homemade PCB, etc), a whole bunch of components, as well as general tools such as soldiering irons.

On the contruction side you will probably end up having to invest in some kind of plastic moulding prototyping system, or send away for commercial plastic services. (That is, unless you go with a plain old rectangular project box, but that will be very unattractive.)

By the time you buy all this stuff and learn how to use it, you will have a serious amount of time and effort sunk into the project.

So if the motivation for doing this is that you don't think that what you want is commercially available, then perhaps you need to have another look at what's out there because as far as I know there are commercial remotes that can do just about anything you'd ever want, including making coffee for you in the morning.
posted by Rhomboid at 5:17 PM on October 15, 2005

Radio Shack used to have an IR receiver that contained both an IR detector and a circuit that demodulates the signals (38 KHz is a common modulation frequency). Hey wow, looks like they still sell it. I hooked it up to an Apple IIe's game port once upon a time and got good results reading remote signals off BTN(1), although the timing resolution of BASIC was not good enough to actually read the signals (machine language was needed). For output, you basically need an oscillator that you can turn on and off and of course an IR emitter (or better yet, several of them).

You can read more about the overall theory here.
posted by kindall at 5:45 PM on October 15, 2005

Thanks everyone for all the advice. To be more specific I was planning to set the remote in a panasonic cordless phone casing and use the same button pad. I know the basics of electronics but nothing about designing a remote. What I was really looking for was a link to a guide on how to make a remote control. As a poor example something like this site, where the guy gives an explanation of his design. What I want for my final product is control of everything with an ir receiver I own (such as my tvs, dvd player, theater system, fans, and blinds after I put the motor on them). And this is mostly recreational so I don't mind spending time and effort on it I just need to know where to start.
posted by apdato at 5:52 PM on October 15, 2005

In that case I'd go get a $20 universal remote from any old electronics store, rip it apart, find some way to get the PCB inside the panasonic phone and then wire the panasonic keyboard to it.

Assuming it even fits; that last part may be difficult depending on the keypad formats. Most devices with a rectangular grid of buttons use a matrix arrangement with column and row lines that get connected together by the buttons. Does the phone even have enough buttons?

Building one from scratch will require a microcontroller (eg PIC, AVR) and lots of familiarity with it. The transmission format is a sequence of pulses - high is modulated at 38-40kHz and low is no IR output. The control codes are sent as (IIRC) 12 bits with each bit encoded as the length (long or short) of each high pulse. The first 4 bits are the listening-device ID and the last 8 are the control code. There might be a long start bit at the beginning, I don't recall.

To figure out the pulse lengths and all the codes, you'll need to get an IR receiver as described by kindall and point your existing remotes at it. Using a logic analyser (now there's an investment!) you can see the codes produced by your existing remotes and discover the pulse lengths required. Those receivers are rather cool btw, they do the demodulation for you, making it very easy to connect them directly to a micro.
posted by polyglot at 6:56 PM on October 15, 2005

There are several different encoding schemes, so your best bet is not to try to "understand" the IR signals in any way, just record and play back the pulses. It doesn't really get you anything for your software to "know" the manufacturer of a given device or anything like that. The second link I posted above has details on several encoding schemes. Read over them to see how much work you're saving yourself.
posted by kindall at 7:57 PM on October 15, 2005

If you'd rather take a shortcut, start with an inexpensive remote control that has a "JP1" six-pin interface (many "One for all" and Radio Shack remotes have the interface)

You can build a simple parallel port-to-JP1 adapter cable and use free Windows based software to completely reprogram these remotes.

Details on the JP1 compatible remotes, plus software and instructions, are at the Yahoo Groups JP1 Users Group
posted by dudeman at 7:35 PM on November 11, 2005

« Older Returning college student ISO ...   |  Cleaning a wooden pipe - two p... Newer »
This thread is closed to new comments.