This project has moved to

New TL880Spy release:
TL880Spy 1.3
Aug. 11, 2007 16:25:00 MDT
New release:
MyHD 0.2.3
Mar. 28, 2007 02:20:00 MDT
New release:
MyHD 0.2.2
Jan. 23, 2007 00:35:00 MST
New tool release:
TL880Spy 1.2
Jan. 19, 2007 19:30:00 MST

Hosted by: Logo
MyHD/MyIRC Remote Receiver

MyHD/MyIRC Infrared Remote Control Receiver

The MyHD is shipped with a simple, easy to use remote control and a serial or USB infrared receiver. Since I couldn't find a single mention of anyone using the MyIRC receiver in Linux, I decided to do a little digging and see if I could make it work. Note: if you simply want to know how to use this receiver with lirc, skip the next few paragraphs.

The first thing I did was open the hood to look at the circuit. It is a simple circuit, which may look familiar to those with lirc experience. The board has one DIP8 12C509A One-Time Programmable PIC, one IR receiver, four diodes, and two resistors. It is basically the same as the home brew irman receiver, right down to the PIC, as you can see from the pictures at the bottom of this page.

Unsure of how to proceed, I found a serial port traffic sniffer, PortMon from Sysinternals, and watched the MyIRC.exe program interact with the receiver. The receiver is initialized by opening the serial port at 9600 baud and sending 'IR'. The receiver then responds with 'OK'. Remote codes are sent as 6 byte packets. This is identical to the irman protocol, with one potential exception: the bits in each byte of data from the remote are reversed. This is of little consequence.

To make sure Linux could interact with the receiver, I wrote a simple test program to initialize the receiver and dump all remote data. The program may be useful to those who wish to test any irman or MyHD/MyIRC serial port receiver. It may be downloaded here.

After verifying that the receiver worked with Linux's serial driver and that the data received by my test program was identical to that shown in my investigation of the Windows MyIRC.exe program, I recompiled lirc with the irman driver.

HOWTO: Here's what it takes to get the MyHD MyIRC receiver working in Linux with lirc:

  • Connect the MyHD receiver to an available serial port.
  • Download and install lirc, making sure that the irman driver is enabled.
  • Make sure lircd uses the irman driver. This is done by adding -H irman -d /dev/ttyS? to the lircd command line. On Gentoo, for example, I modified the LIRCD_OPTS line in /etc/conf.d/lircd to read LIRCD_OPTS="-d /dev/ttyS0 -H irman".
  • Create a configuration file for your remote, or download this one for the MyHD remote.
    Important: the MyHD receiver is not compatible with remote definitions generated with another receiver. You must create your own remote definitions using irrecord, or download definitions which were created with the MyIRC receiver.
      Creating a remote definition:
    • Make sure lircd is running
    • Run irrecord -H irman -d /dev/ttyS? Remote_Name in a terminal.
    • Follow the instructions given by irrecord.
    • Dump the data generated by irrecord into /etc/lircd.conf by running cat Remote_Name >> /etc/lircd.conf as root in a terminal.
  • Restart lircd.
  • Test the configuration by running irw and pressing a few buttons on the remote.

Related Links: LIRC Home - Homebrew Universal Infrared Receiver (UIR/irman)

Inside the MyHD IR Receiver
MyIRC Top View
Top View
MyIRC Bottom View
Bottom View
©2006 MyHD Linux Driver Project