title: Trying to replicate an IR signal from a remote with a unknown protocol on ESP8266 using Arduino
body: <p>I have some problems with resending IR signals from a remote to control my shutters.</p>
  <p>I recorded the raw IR codes, but even another Arduino does not recieve anything. It does not print any data.</p>
  <p>I am a bit confused about the library ESP8266irRemote. It needs a frequency for sending raw ir data. As the timings are given in ms, I do not understand what this frequncy is supposed to be. Where could I read this frequency from? What are some default values? -- EDIT cleared up, it is the carrier frequency. Seems like the default of 38kHz should be right.</p>
  <p>And why could it be that my Arduino does not recieve anything? If I simply use an example for a Samsung TV, it receives everything fine.</p>
  <p>Thanks for any help!</p>
  <p>EDIT:</p>
  <pre class="lang-cpp prettyprint-override"><code>uint16_t up3[95] = {444, 1190,  442, 1190,  1256, 376,  1258, 374,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1282, 350,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  438, 1194,  1256, 374,  1258, 374,  1256, 19240,  440, 1192,  440, 1192,  1282, 350,  1256, 376,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  438, 1192,  440, 1192,  438, 1192,  440, 1192,  440, 1192,  464, 1168,  1256, 376,  1256, 376,  1256};  // UNKNOWN 87FDCA19
  uint16_t stop3[95] = {1288, 346,  448, 1182,  1214, 418,  1222, 410,  444, 1188,  438, 1194,  466, 1164,  448, 1184,  440, 1192,  438, 1192,  1258, 374,  380, 1252,  448, 1182,  466, 1166,  448, 1184,  466, 1166,  448, 1182,  404, 1228,  468, 1164,  378, 1252,  1280, 350,  1256, 376,  448, 1184,  1264, 19234,  1220, 414,  402, 1230,  1284, 348,  1252, 380,  406, 1226,  378, 1252,  404, 1228,  404, 1228,  404, 1228,  438, 1192,  1266, 366,  468, 1164,  406, 1226,  446, 1186,  448, 1184,  448, 1184,  378, 1252,  448, 1184,  400, 1232,  448, 1184,  1264, 368,  1254, 376,  468, 1164,  1264};  // UNKNOWN 6CE4F608
  uint16_t dwn3[95] = {398, 1252,  1280, 352,  1284, 348,  1250, 380,  446, 1188,  462, 1170,  432, 1198,  378, 1254,  446, 1186,  442, 1188,  1282, 348,  402, 1230,  464, 1166,  434, 1196,  446, 1186,  446, 1186,  434, 1198,  462, 1168,  446, 1186,  446, 1186,  378, 1252,  400, 1230,  1218, 414,  378, 20118,  466, 1168,  1216, 414,  1262, 370,  1194, 436,  398, 1232,  398, 1232,  380, 1252,  464, 1168,  464, 1166,  466, 1164,  1196, 436,  400, 1232,  444, 1188,  400, 1230,  446, 1188,  466, 1164,  378, 1254,  446, 1186,  444, 1186,  466, 1166,  402, 1230,  458, 1172,  1282, 348,  464};  // UNKNOWN 2744EDAC
  uint16_t up2[95] = {466, 1186,  444, 1186,  1262, 370,  444, 1186,  1260, 370,  446, 1186,  444, 1186,  446, 1186,  468, 1162,  446, 1186,  1262, 370,  444, 1188,  444, 1186,  444, 1188,  444, 1188,  444, 1186,  446, 1186,  444, 1188,  444, 1186,  444, 1188,  1262, 368,  1262, 370,  444, 1186,  1262, 19236,  446, 1186,  446, 1186,  1260, 370,  444, 1188,  1262, 370,  444, 1186,  446, 1186,  446, 1186,  446, 1186,  444, 1186,  1262, 370,  446, 1186,  444, 1188,  444, 1188,  446, 1186,  446, 1184,  446, 1186,  446, 1186,  446, 1186,  446, 1184,  1262, 370,  1260, 372,  446, 1186,  1260};  // UNKNOWN 2D1A9455
  uint16_t stop2[95] = {1260, 374,  442, 1190,  1256, 376,  440, 1190,  1258, 374,  440, 1190,  440, 1192,  442, 1190,  440, 1192,  440, 1192,  1256, 374,  440, 1190,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  1256, 374,  1258, 374,  1256, 19240,  1258, 374,  440, 1192,  1256, 374,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1190,  440, 1190,  440, 1192,  1256, 374,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  440, 1192,  440, 1190,  440, 1192,  1256, 374,  1256, 376,  1256};  // UNKNOWN B54FF968
  uint16_t dwn2[95] = {478, 1156,  1288, 342,  1288, 344,  450, 1182,  1288, 342,  450, 1182,  476, 1154,  452, 1180,  450, 1180,  450, 1182,  1290, 342,  450, 1182,  476, 1156,  478, 1154,  478, 1154,  474, 1158,  450, 1182,  450, 1182,  474, 1156,  450, 1180,  1292, 340,  476, 1156,  474, 1158,  450, 20048,  476, 1156,  1290, 340,  1266, 366,  450, 1182,  1266, 364,  450, 1182,  476, 1156,  476, 1156,  450, 1182,  474, 1156,  1266, 366,  450, 1182,  474, 1156,  476, 1156,  476, 1156,  474, 1156,  450, 1182,  450, 1182,  474, 1158,  474, 1158,  1266, 366,  450, 1180,  450, 1182,  450};  // UNKNOWN 983238A8
      
  IRsend irsend(4);
  
  void setup() {
    // put your setup code here, to run once:
    irsend.begin();
  }
      
  void loop() {
    // put your main code here, to run repeatedly:
    irsend.sendRaw(dwn3, 95, 999);
    delay(10000);
  }
  </code></pre>
  <p>That's the code I used. I recoded the raw arrays using the raw dump example provided with the esp8266ir library.</p>
  <p>I cut the import part, but be assured, the correct headers were imported. The code compiles without any issue.</p>
  <p>Thanks for the suggested edit. I am sorry about the first, not well organized question.</p>