How to get a Raspberry Pi Remote control?
We got used to touch or at least control remotely different electronic gadgets. The same wish is strongly expressed to previously described Raspberry Pi XBMC. One of the option (straight out of the box) is to use CEC protocol.
Brief recap about this option. You can connect your Raspbbery Pi XBMC to LCD TV and use TV set’s remote control to control (CEC protocol over HDMI connection) your Raspberry. However, this post is not about this option 🙂
Alternative Raspberry Pi remote idea
I got a little tired of getting new remote control with every new gadget at home. Hopefully, when I was visiting Netherlands couple years ago, I just enter to ‘browse’ Mediamarkt shop. I found and bought a Logitech 300i universal remote control there:
It is some-kind simplified version of High-End Harmony series:
- no LCD screen on remote control
- it allows to control only up to four electronic gadgets
But that was more than enough for my home cinema setup 😉
In my case, this Logitech remote was set-up to control Sony tv and Onkyo amplifier. I wanted it to control Raspberry Pi XBMC as well. I came up with quite simple idea – to use only the USB IrDa part from the cheaper remote and to program my Logitech 300i to control Raspberry Pi through it.
Choosing Raspberry Pi Remote
If you would go for example to Amazon and would use the keywords ‘raspberry pi remote’, you get a lot of the results like this:
USB IrDA converter with such ‘fancy’ cable did not look reliable enough for me. So I found another option, which I ordered:
You can find it on Amazon US or Amazon UK. Mine was marked as ‘IrDa PC remote remote control TG801‘, however I think it is just a clone. Exactly the same looking was called Chinavasion CVSB-983 according to XBMC remotes list.
Some people complained on the forums that they were straggling to configure the remote. I tend to believe that is related to varying product’s quality. I suggest you to test it straight after getting it using either lsusb command or on Windows PC.
The remote hardware
If you would disassemble this IrDA receiver, you find inside HT82M99 chip (at least in mine). According to the HT82M99E datasheet, it is a programmable micro-controller as a ‘Flexible total solution for applications that combine PS/2 and low-speed USB interface, such as mice, joysticks, and many others’. The meaning translated into the human language – it receives IrDa codes and emulates (converts) them into the keyboard’s keys presses.
Usually, LIRC is used for such purpose, which is not needed in our case (because of HT82M99), that’s nice 🙂 It should be completely Plug & Play. Let’s see dmesg and lsusb commands outputs after plugging it.
[607162.687550] usb 1-1.2: new low-speed USB device number 85 using dwc_otg [607162.930467] usb 1-1.2: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 1 [607162.930508] usb 1-1.2: New USB device found, idVendor=073a, idProduct=2230 [607162.930526] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [607162.999781] input: HID 073a:2230 as /devices/ platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input57 [607163.005706] hid-generic 0003:073A:2230.003C:input,hidraw0: USB HID v1.10 Keyboard [HID 073a:2230] on usb-bcm2708_usb-1.2/input0
Bus 001 Device 085: ID 073a:2230 Chaplet Systems, Inc. infrared dongle for remote
As you could see, the vendor’s id 073A and product’s id 2230 were detected by the kernel. The IrDa receiver is ready.
Program Logitech universal remote control
Logitech is quite interesting company. I started to use their products probably more than 10 years ago.
If you already own Logitech Harmony remote, you know that the remote controller is programmed with your gadgets through their website www.myharmony.com.
In order to program your harmony, you should:
- connect your Logitech remote to an USB port;
- download and install the MyHarmony app from the same website;
- choose the devices, which you want to control;
- do not forget to sync with your control at the end.
You can see my Harmony 300i list:
So after choosing Chinavasion CVSB-983 in the list, your new Raspberry Pi should come alive and you should be able to control it using Logitech Harmony 300i.
Update about Logitech 300i
My mentioned model was discontinued by Logitech. But it is still possible to buy it from Amazon US. I found in this Logitech forum that CVSB-983 support was requested in 2010 and it looks that it was added later.
A Logitech Harmony app is a WEB-based, so I believe that all Logitech Harmonies like Harmony 350 should support CVSB-983. This model looks like a replacement for older 300i and it is available from Amazon UK and US.
If you will decide to get one of them, first make sure that the CVSB-983 IrDa is properly detected on Raspberry Pi XBMC 😉