HDMI CEC

I think not many of you have heard the term HDMI CEC. It stands for Consumer Electronics Control, which again, does not say much. It is a very useful standard though and helps audio-visual devices function much better and become much more friendly and easy to use.

But there are two problems with CEC. The first: not every piece of equipment implements it. Some do and some don't. And the second: every vendor has it's own name for this feature. Anynet+ (Samsung), BRAVIA Link (Sony), EasyLink (Philips), SimpLink (LG), EZ-Sync (Panasonic) to name just a few. In other words, a jungle.

CEC is one example why things should not be optional in standards. HDMI as such does not have the best reputation. Problems with cables, connectors, version compatibility, copy control have earned it the "problematic" label. Sure it is better than VGA, as at least pins in cable connectors do not bend, but overall HDMI has not solved the "Looking for an active signal source" problem and connecting with a laptop to a conference room projector (using HDMI) is not guaranteed to be without issues. Nor has HDMI solved the "each device has its own remote" problem. On my coffee table I have three remotes: one to turn on the overhead projector, the other to turn on the audio amplifier and control volume and the third one to operate the video content device, the Apple TV in my case.

I've started digging deeper into CEC just to solve the multiple remote problem. The audio system I use is a 30-years old Bose Lifestyle (salvaged from a garbage dump), which audio quality - wise has been one of the nicest system ever made. But it has never seen a HDMI cable, so I use an "audio extractor" to get 3,5mm audio signal from the Apple TV. Initially I was looking for a way to sense a HDMI signal to turn the Bose on and off automatically, but then after digesting what CEC offered, I realized I could very easily make the Apple remote control the volume of the Bose system.

Apple has a very good implementation of CEC. So basically it is a matter of hooking into a single wire in the HDMI cable to route it to a small microcontroller, which would instruct Apple TV to send audio commands (Volume Up / Down) over HDMI and then react to these commands by driving the volume in the Bose unit accordingly. And it just works (I promise to publish a detailed description of this project).

But today my point is, had CEC been mandatory in HDMI since the beginning, the overall "digital audio - video" experience would be entirely different today. You would have a single remote. Your TV would be displaying the actual names of the HDMI devices rather than "HDMI1 / HDMI2 / etc". The TV remote would control the volume of your audio amplifier (if present). "On" on any remote would be turning on all components of the system. "Off" would be putting to standby all of them too. "Play" on a DVD Player would turn on the TV, switch to the relevant source and start playing. Almost a UX heaven.

But no, the creators of the HDMI standard decided to make this tiny (but extremely useful) feature optional, allowing vendors to use their own names for it (if implemented), creating an interoperability nightmare. All to save - what? - about 100 lines of C code  on a $1 microcontroller... 

Comments