Close

A few upgrades !

A project log for CEC2Usb

HDMI CEC to USB Keyboard adapter

RedoXRedoX 04/23/2020 at 20:041 Comment

I had a few hours to spend on this today and am glad to report a minor improvement.

Previsouly, the Physical Address (~HDMI port) was hardcoded in the firmware, which lead to some issues, like the TV switching to the wrong HDMI source.


The firmware now uses the I2C port on the HDMI link to get the Physical Address directly from the EDID info.


I tested it on three screens:

- Computer screen, only one input.

- Small Grundig TV, two HDMI inputs. Both give the same Physical address, but it's a TV bug. I might try to reprogram the EDID info to fix this, eventually.

- Large LG TV, three or four HDMI inputs. Best result since all the HDMI ports have a different address.


A few other improvements in both the firmware and the hardware files have also been submitted, improving the behaviour or ease of use. Last hardware revision adds a switch to reboot in DFU mode. It's way faster than ICSP and does not require any soldering, which is nice.


Note that the Github repo has been reset to also include the hardware/KiCAD files.

Discussions

Krzysztof Chodak wrote 07/22/2020 at 14:11 point

Hi RedoX,

I wanted to let you know that I am currently doing similar device so maybe we could join forces :) My problem is having two PCs for kids attached to TVs which are not automatically turning on/off with the PC. Couple of days ago I started playing with STM32F042 which has planty of nice hardware included (USB, I2C, CEC, IRDA etc). I am quite green with MCUs but I was already able to use its USB and do I2C sniffing. The problem I see now is how windows is turning monitors on and off - what I have found is that it is not using DDC (I2C) for that purpose! It seems it is just cutting video signal from data lines which I was not prepared for :( I see two options: do a windows driver intercepting API calls and passing them to the device using USB or sniffing TMDS data which seems out of reach for this MCU (STM32F0 has 2Mhz 6b ADC probing while TMDS goes up to 340Mhz). Any other ideas?

  Are you sure? yes | no