Microsoft MCE remote control: any experts around?

General discussions and questions abound development of code with MicroPython that is not hardware specific.
Target audience: MicroPython Users.
Post Reply
User avatar
pythoncoder
Posts: 4030
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Microsoft MCE remote control: any experts around?

Post by pythoncoder » Tue Mar 17, 2020 6:22 pm

AKA VRC-1100. These are still commonly used to control Kodi and I'd like to support them in my IR library. Sadly there is a dearth of information on their binary-level interface. The following is what I've gleaned so far by a mixture of Googling and experiment.

Data consists of a header followed by 16 bits of Manchester encoded data. Decoding the data is easy. The fun starts trying to interpret it ;) I don't know how the 16 bits of data are partitioned, bit polarity or bit ordering.

A flyer at partitioning suggests a 4 bit address field and 6 bits of data. A message occurs when a key is pressed, followed by repeat messages if the key is held down with a final one on key release. The three message types are distinguished by a 2-bit field with consistent behaviour. On some keys a second 4-bit field also changes. I'm stumped by the purpose of these four bits.

I'd greatly appreciate pointers to good information.
Peter Hinch


User avatar
pythoncoder
Posts: 4030
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Microsoft MCE remote control: any experts around?

Post by pythoncoder » Wed Mar 18, 2020 8:07 am

Thanks for that, Dave, I hadn't found that one.

Alas it's added to my puzzlement. The "MCE" remote he studied differs from mine. In one key feature mine conforms with the web references I located.

The encoding he describes is a variable-duration one, whereas my VRC-1100 is fixed duration with Manchester encoding. His header pulse is also different: I see 2.0/1.0ms mark space, he sees 2.7/1.35ms. He makes no mention of a feature I have both measured and seen discussed on the web: three types of message are sent by each key. One on press, multiple repeats if a key is held down, followed by a final message on release. These are distinguished at a binary level. Sending a release message seems unique to this remote and is used for PC keyboard emulation.
Peter Hinch

User avatar
dhylands
Posts: 3300
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: Microsoft MCE remote control: any experts around?

Post by dhylands » Thu Mar 19, 2020 4:20 am

I found some others:
http://www.hifi-remote.com/johnsfine/DecodeIR.html#MCE - quite short, but this sounds similar to the link I sent earlier.

I noticed someplace that the bit patterns might be reveresd. So if you bit-flipped your bytes, then would the high bit be changing? Apparently the high bit toggles on each unique press.'

This linux kernel seems to have drivers for the MCE protocol:
https://www.kernel.org/doc/html/latest/ ... -mcir2-kbd

and I think that WinLIRC does as well.

I also found: https://hackaday.com/2008/10/30/how-to- ... -receiver/ which mentions Manchester encoding, and I thought I also read that Hauppage was compatible with MCE.

User avatar
pythoncoder
Posts: 4030
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Microsoft MCE remote control: any experts around?

Post by pythoncoder » Thu Mar 19, 2020 7:41 pm

Thanks Dave - very helpful indeed. It turns out the protocol is OrtekMCE.

I'm pretty sure I've figured out the details, even though

Code: Select all

{38.6k,480}<1,-1|-1,1>([P=0][P=1][P=2],4,-1,D:5,P:2,F:6,C:4,-48m)+{C=3+#D+#P+#F}
is Greek to me. Now to do the transmitter - but that's the easy part.
Peter Hinch

Post Reply