About technologies for your digital home

For beginners and tinkerers

Raspberry Pi Remote

May 6th, 2014

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:

Logitech 300i

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:

OpenELEC XBMC remote

USB IrDA converter with such ‘fancy’ cable did not look reliable enough for me. So I found another option, which I ordered:

Chinavasion CVSB-983_2

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.

dmesg:

[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

lsusb:

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:

Control Raspberry Pi using Logitech Harmony remote

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 😉