• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Arduino library for HDMI CEC communication

CEC

Arduino library for HDMI CEC communication

Original code at: https://code.google.com/archive/p/cec-arduino/ (c) Phil Burr and Andrew N. Carr

This is an Arduino library which implements the HDMI v1.3a CEC wire protocol which allows communication with HDMI CEC capable devices. A typical usage scenario would be a Home Theater PC environment which uses HDMI but does not support CEC. This would allow the HTPC to communicate with other HDMI CEC equipment.

Note: the nice thing about CEC is that it's a bus. Consequently, the Arduino can be connected to a different HDMI port (= "physical address") than the one it should control. Therefore, the address given in the example code is the address of the port where the CEC-less source device is plugged in.

I have tested the example with a somewhat dated Philips TV (40PFL5605K), and can now use my remote control for Kodi etc. Other TVs may have different quirks - if it doesn't work, connect something that does work (e.g. a FireTV), enable promiscuous mode and observe the traffic on the serial console. Unknown messages can be directly pasted into CEC-O-MATIC (http://www.cec-o-matic.com/) to decode them without having to dig through the spec.

Note: most HDMI sinks also want +5V supplied on pin 18 before they start using the port. The bold numbers in the schematic below correspond to the HDMI pin numbers where the signals should be connected (see also https://en.wikipedia.org/wiki/HDMI).

Schematic

More Repositories

1

backscrub

Virtual Video Device for Background Replacement with Deep Semantic Segmentation
C++
734
star
2

BTLE

Arduino library for basic Bluetooth Low Energy with the nRF24L01+
C++
257
star
3

mobile-sandbox

mobile sandbox - android application sandbox
Python
44
star
4

sur40

open-source driver for Microsoft Pixelsense/Samsung SUR40
C++
37
star
5

github-bulk-editor

Allows bulk editing of Github repositories
Python
34
star
6

tubecable

DisplayLink open-source protocol reference implementation
C
33
star
7

Background-Timelapse

timelapse app for Android which can run in the background
Java
28
star
8

helium_ab2tar

Utility for converting Helium Backup file into regular TAR file
C
26
star
9

tuxblet

Shell
25
star
10

surfacestreams

SurfaceStreams: send background-subtracted depth camera video via GStreamer (with optional perspective correction)
C++
23
star
11

opencv-android

The OpenCV Java SDK for Android as a ready-to-go module for Android Studio 3.0
Java
17
star
12

tisch-core

TISCH - Tangible Interactive Surfaces for Collaboration between Humans
C++
16
star
13

opentxtr

open-source software for talking to the ultra-cheap txtr Beagle e-reader
Python
15
star
14

ltrace

C
13
star
15

surfacecast

SurfaceCast: merge and distribute surface streams and webcam chat via WebRTC
JavaScript
11
star
16

software-engineering

Software Engineering lecture materials
10
star
17

unity-android-native-texture

Minimal example of how to dynamically update a texture in Unity on Android from native C++ code.
C++
7
star
18

mobile-information-systems

Mobile Information Systems lecture materials
4
star
19

depth-cam-tutorial

Depth Camera Tutorial
3
star
20

tisch-apps

C++
3
star
21

optitrack

C
2
star
22

nanodns

Ultra-minimal authoritative DNS server, Dyndns replacement
C
2
star
23

gst-plugin-minimal

A really minimal Gstreamer plugin template without the libtool crap
C
2
star
24

telescope

Bits and pieces for my RasPi-powered junkyard telescope
Shell
1
star
25

gispl

C++
1
star
26

TimeTracker

"Cloudless", minimalistic personal time tracking app
Java
1
star
27

opencv-javacamera2test

Java
1
star