#include IRsend irsend; int char1; int got_char1; void setup() { got_char1 = 0; Serial.begin(9600); } void loop() { char c = Serial.read(); if (c == -1 || c < '0' || c > 'f') return; if (got_char1) { /* decode the two hex chars */ long v; if (char1 > '9') v = (char1 - 'a' + 10) << 4; else v = (char1 - '0') << 4; if (c > '9') v |= c - 'a' + 10; else v |= c - '0'; v = 0x20df0000 | (v << 8) | ((~v) & 0xff); Serial.print("\n\rSending: 0x"); Serial.print(v, HEX); Serial.print("\n\r"); irsend.sendNEC(v, 32); got_char1 = 0; } else { char1 = c; got_char1 = 1; } }