Sometimes I find myself in awkward situations.

Some time ago we have installed a video duplication system in one of auditoriums. It is based on the HDMI backbone and some active equipment, like splitters and media converters.

It has single video injection point, where different sources can be selected. Source switching is made using KD-S4X1 switch from Key Digital.

One small problem is the entire installation must be concealed, while the switch is controlled with a button on the case and the IR remote. It has also no means of displaying the output, except a LED per active channel.

And so the Project was born: place a push button anywhere and replay the sequence on the IR LED inside the enclosure. Just to be sure, an LCD display will show the active input.


Here comes the recipe:

  1. Arduino Nano;
  2. 4 push buttons – just to be sure, also, because we can;
  3. 2×16 LCD display on I2C bus;
  4. IR LED emitter to talk to the equipment;
  5. IR receiver, to be able to change codes.

The source is in the Github, named HDMI-switcher.

Currently it talks NEC protocol only, pushing the 1st button will cycle the active outputs.

You can connect it via USB serial port and control it using simple command interface:

  1. STATE – print the state of the device
  2. SELECT – select output for modification
  3. SWITCH – switch to the selected input
  4. ENABLE – enable the selected output
  5. DISABLE – disable the selected output
  6. NAME – (re)name the selected output
  7. LEARN – learn the IR command to activate the selected input (that’s where the IR receiver comes handy)

All the settings are stored in EEPROM and can be changed and recalled.