Contents

Inside of the Pulse-Eight HDMI CEC Injector.

Inside the Pulse-Eight HDMI CEC Injector

To make a long store short, Google recently pushed a few updates to my TV that made it slow as all hell and frustratingly unusable. I finally got fed up with the laggy UI and dug out an old mini PC and installed LibreELEC on it.

Everything worked perfectly except for the lack of CEC support on the mini PC.

This is a common enough problem that there’s a few different devices out there that can add CEC support to a device that doesn’t have it. I chose the Pulse-Eight HDMI CEC Injector because it’s natively supported by LibreELEC.

I was curious what was inside and I couldn’t find any teardowns online so I decided to do one myself. There’s not much to the device and I’m not doing any serious reverse engineering here so let’s call this a “Two Minute Teardown”.

The device is small and unassuming.

The device is small and unassuming.

Opening is trivial. No glue or anything. Just a few pins and sockets. Gently pry the two halves apart and you're in.

Opening is trivial. No glue or anything. Just a few pins and sockets. Gently pry the two halves apart and you're in.

I wasn’t expecting much; I thought CEC was implemented via UART and not SPI so I was expecting to see a cheap FTDI knockoff chip or similar. Turns out I was wrong and the device uses an ATMEL 90USB162 which is a USB to SPI bridge. I haven’t looked too closely at the firmware but I suspect there’s some abstraction layer that makes it look like a UART to the OS.

Other than a few passives, there's only one chip on the board.

Other than a few passives, there's only one chip on the board.

Nothing interesting other than a programming header.

Nothing interesting other than a programming header.

The full PCB sans case.

The full PCB sans case.

dmesg

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
usb 5-4.1.2.3.2: new full-speed USB device number 2 using xhci_hcd
usb 5-4.1.2.3.2: New USB device found, idVendor=2548, idProduct=1002, bcdDevice=10.00
usb 5-4.1.2.3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-4.1.2.3.2: Product: CEC Adapter
usb 5-4.1.2.3.2: Manufacturer: Pulse-Eight
usb 5-4.1.2.3.2: SerialNumber: v12
input: Pulse-Eight CEC Adapter as /devices/pci0000:00/0000:00:08.1/0000:0d:00.3/usb5/5-4/5-4.1/5-4.1.2/5-4.1.2.3/5-4.1.2.3.2/5-4.1.2.3.2:1.2/0003:2548:1002.0102/input/input195
hid-generic 0003:2548:1002.0102: input,hidraw10: USB HID v1.10 Mouse [Pulse-Eight CEC Adapter] on usb-0000:0d:00.3-4.1.2.3.2/input2
cdc_acm 5-4.1.2.3.2:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters