Discover a "secret" computer interface for your remote control.
by Michael Weingarden - July 2003 - Nuts & Volts Magazine
Like many people, I received a new universal remote control as a gift during the holidays. It wasn't my first but I was hopeful that it would do more than its predecessors.
I enjoy tweaking gadgets almost as much as using them. I also like discovering Easter eggs on DVDs. For these reasons, I was doubly delighted when I discovered a "secret" computer interface for my new remote control.
The biggest problem with my old universal remote (a Sony RM-VL9OO) was that when the batteries died (or were borrowed), I had to reprogram the thing. This was no small task, and I've had to do it more than once. I wont go through all of the nasty details, but I can tell you it involved stuff like reading the owner's manual, researching "preset" codes, mashing buttons in the proper order, and "learning" signals from other remotes.
I became acquainted with this process when my teenage stepson decided to borrow the batteries from my remote for his portable CD player, Eventually, I took the time to write down every step that was required to reprogram the remote, but I was hopeful that one day an easier way would present itself.
I eyed the new remote (an RCA RCU810b) with cautious optimism. I pored through the manual looking for some hint that this remote would solve all my problems and introduce me to new 'solutions' that I hadn't even thought of yet. Unfortunately, the manual revealed little that was exciting or new. According to the manual, the remote was actually less powerful than my current remote.
Undaunted, I began to search the Internet to see if I could dig up any dirt on the RCU81Ob. At Google there was a payoff for my hopeless optimism. The RCU8lOb was being discussed in a forum at RemoteCentral.com. After reading several posts, I stumbled across a discussion thread regarding the JP1 interface. This, my dear reader, is why you are reading this article.
The RCU810b and several other remotes - sold under the brand names "One For All" and "Radio Shack" - have an undocumented, secret interface that allows you to program the remote from your computer (PCs only right now, sorry Mac fans). There are several ways to determine whether a remote offers the JP1 interface:
- Open the battery door and look for a six-pin connector or six solder holes in the exposed circuit board. 1he JP1 interface should be easily visible when you open the battery door.
- Go to one of the following web addresses for lists of JP1 compatible remotes:
What's so great about a computer interface, you may ask? The computer interface makes it a lot easier to program the remote and infinitely easier to back-up all of your work. In addition, you can store a lot more information in the remote using the computer than you can by "learning" from other remotes.
There are already a bunch of universal remotes on the market that have documented. company-supported computer interfaces - so why bother 'hacking' a remote? One reason to hack your remote is to save money. According to RemoteCentral.com, computer interface remotes sell for anywhere from $200.00 to Sl,000.00. Compare that to JP1 remotes that can be found for $30.0O at various sites including eBay, Yahoo! Shopping (search for RCU810b or URC-8910), or Radio Shack (model 15-2116).
To be perfectly fair, there is slight extra cost for using a JPI remote. A cable is required to attach the remote to the PC's parallel port. You can build this cable yourself or buy a premade cable from www.jp1.filebug.com for S20.O0 (Including shipping). If you decide to get an RCA RCU810 remote, you can send your remote to filebug.com to have them add the six-pin header for another S15.00. So, by the time you are done a JP1 remote will cost you between $50.00 and $65.00 - still a bargain compared to S200.0O or more for a stock model.
The most important reason to hack your universal remote, though, is that it's fun. What joy can be had from using a universal remote that is designed to communicate with a computer? I'd much rather hack my way through the jungle of required hardware and software to get at the forbidden fruit of my universal remote.
Required Software and Hardware
- A PC with a parallel port (address 378h)
- JP1 interface cable ($20.00 from www.jp1.filebug.com)
- IR.exe software (freeware)
If the remote does not have preset codes for all your devices, these are also needed:
- Microsoft Excel 97 or above
- Keymap Master spreadsheet (freeware)
- Upgrade codes for any devices that aren't preset In your remote (free)
Remotes that offer the JP1 interface all save one thing in common. They are all made by a company called Universal Electronics. Unfortunately, neither Universal Electronics nor the original equipment manufacturers (like One For All and Radio Shack) offer any information about he JP1 interface. All the programs and data are supplied for free by a community of technicians, engineers and programmers working together for one common goal - nerdvana. This community resides in cyberspace at the Yahoo! JP1 group.
You can download all the software and data files that are required from the JP1 group (http://groups.yahoo.com/group/jp1). You must "join" the JP1 group to access the files, but joining is quick and painless and absolutely essential for JP1 hacking. All of the required flies are located under the Files folder at the JP1 group.
The main file that is required is the IR.exe program - IR stands for infrared. The program can be found in the Tools folder under the Files folder. The program allows you to upload data to the remote or download data from the remote. You can download the data from the remote to save the work that you have already done manually. You can also use the IR program to change the functions that keys perform, to create macros, and to allow the remote to operate devices that weren't "preset" in the remote.
The Keymap Master (KM) - no, this is not a character from Ghostbusters - is the second most important piece of software for JP1 hacking. The KM spreadsheet is required to add support for devices that don't already have a preset code in your remote. With KM, you can also remap any device function to any key. When you have everything the way that you want, KM generates special codes that you can copy and paste into IR.exe.
I started by programming the remote the old fashioned way - I followed the manual and used all the presets that I could. Next, I used the JP1 cable to connect the remote to the PC's parallel port. When I first ran the IR.exe program, there was a problem with the interface auto-check feature, so I had to go to the Interface menu and un-check Auto-Check. After that, all I had to do was choose Remote -> Download. I was amazed to see all of the devices and setup codes that I just entered manually staring back at me from the computer screen. Then, a chill went up my spine as I realized that all of my hard work was now saved and available for modification later with only a few clicks of the mouse.
I still had to configure the remote for the two devices that did not have preset codes. I had one device that had no preset code (my Apex AD-1500 DVD player) and a device that didn't have the buttons mapped properly (my Harman Kardon AVR-110 audio/video receiver). Fortunately, others In the Yahoo! JP1 group had already taken the time to figure out how to upgrade the remote to work with these devices, so I downloaded the device code files from the Files -> Device Codes folder. There wasn't a specific device code file for new Harmon Kardon AVR-110, so I downloaded the one for the Harmon Kardon AVR-300 instead. After finding the appropriate files, all I had to do was load them into the KM spreadsheet and then copy and paste the upgrade codes Into the IR.exe program.
I did run into a problem when trying to get the Harman Kardon AVR-110 to work, but I found the solution by searching through the messages at the JP1 group.
One of the most powerful uses for the JP1 interface is programming macros. Macros allow your remote to accomplish a number of tasks with only one keystroke. With the JP1 interface, I can assign macros to any key.
There are two commons uses for macros;
- Turning on and configuring all devices required to play a DVD, a VHS tape, or a show on satellite TV.
- Navigating commonly-used, but cumbersome menus.
When I got my first universal remote for my TV, VCR, and cable box, I was happy to eliminate the clutter on my coffee table. However, it still took a lot of effort to get everything up and running and configured appropriately. Things got even worse when I finally got a DVD player and audio/video receiver. Moreover, for my family, operating the whole system was really terrifying. With my old remote, I could program macros to automate some of the work, but programming macros was a hassle and I could only assign the macros to a few keys. Therefore, I was anxious to see what the JP1 Interface could do for me. My RCU810 remote has extra buttons available specifically for macros. I decided to assign one button (L1) to setting everything up for satellite TV viewing. This included the following button sequence:
SAT, AUD, On/Off, 4, TV, Channel Up, Input, Input
Pluses and Minuses of Three JP1 remotes
You can get it at any RadioShack - it supports eight devices and it has an LCD screen. It doesn't have many extra buttons that you can use for macro programming.
It has a cool blue backlight, six extra buttons, and it works great with RCA devices. You'll have to take the remote apart to solder in the six-pin connector required for JP1.
One For All URC-8910
Lots of extra buttons and a really cool look. It stores information it learns on a separate EEPROM so you can't look at the learned information (see below) - this is only important if you really want to get dirt under your fingernails.
[NOTE: the above statement is NOT true, it is the URC-9800 that stores learned signals on a separate EEPROM, the URC-8910 works just the same in this regard as the other two remotes the author mentioned. - Rob Crowe]
The SAT button turns the satellite decoder box on. The combination of AUD and On/Off turns the audio/video receiver on. The number "4" tells the audio/video receiver to direct the satellite signal to the television. TV turns the television on. The next part (Channel Up, Input, Input) is a little trick I learned from the JP1 group. It sets the video input mode on the television. For some strange reason, you can't just tell the TV - go to SAT video mode.
I then programmed another button (M1) to store the macro for turning everything off related to satellite TV viewing. I actually could have made L1 turn things off and on, but my audio/video receiver requires a separate ON and OFF button. I then assigned L2 and M2 to do those things for VCR use and L3 and M3 for the DVD player.
When all was said and done, I had only one button to press to turn everything on and configure things appropriately, and one button to turn everything off. This was one or the few projects where I may have actually saved myself some time and effort by rewiring a perfectly good and working product.
With JP1, not only can you assign macros to most of the keys on the remote, you can assign macros to "shifted" keys, as well (on the RCU81O. the shift key is the "Code Search" key). Once the macro is loaded into the remote, you just press and release the "shift" key and then press the key the macro was assigned to. This effectively doubles the number of keys that are available. Of course, my wife asks me, "Is that good or bad?"
Aside from turning things on and off, another great use for macros is to quickly navigate commonly-used, but cumbersome menus. I was getting sick of navigating the menus to control the brightness on the TV. I found that some DVDs were really dark and some were really bright. To get at the TV brightness controls, I had to work my way through several menus, and it was a real distraction to do this during movies. When I finally got to the brightness control menu on the TV, I had four choices (1 through 4) from lightest to darkest. So, I assigned four I macros to the "shifted" 1 through 4 keys. Each macro takes the TV to the appropriate menu, chooses the corresponding option, and then exits all of the menus. Now, I can easily and quickly adjust the brightness during DVD playback without having to pause the movie.
Because I had already done all the hard work, I decided to get a second remote for my stepson. In his room, he has a TV, VCR, satellite box, and DVD player. So, I bought him a (now defunct) Radio Shack 15-21O4 remote, which I found for only $10.00. It was easily JP1 programmable, so we set up all the codes, loaded the info into the computer, set up all the appropriate macros, and loaded the data back into the remote. Now, when my stepson borrows the batteries from either of the remotes, we'll be able to get everything back the way it was with just & few mouse clicks (see below).
[NOTE: Actually, JP1 remotes do not lose their programming when the batteries are removed - Rob]
The Most Important Thing
My family likes the JPI remote. The remote makes things simple enough for them to use our audio/video system without my intervention. Therefore, possibly for the first time, I actually achieved the ultimate goal of one of my re-wiring projects!
One Last NoteThe experts in the in group don't get paid, so if you'd like to explore this underground world, please try to read all the appropriate documentation before asking questions. The main docs to read are the JP1 FAQ (http://www.hifi-remote.com/jp1/faq), the Beginners Guide to JP1 (in the Help Documents folder at the JP1 Group), and the Keymap Master readme file (comes with the Keymap Master spreadsheet).
Michael Weingarden was a Systems Engineer on the Tomahawk Cruise Missile Project for nine years, and is currently a part-owner and Operations Manager for AgriZap, Inc., makers of the world's most sophisticated mouse trap - the Rat Zapper. in other words, he got bored being a rocket scientist and decided to build a better mousetrap.