Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. OpenHardware.io
  3. 💬 MySWeMosIRShield - IR blaster shield for WeMos D1

💬 MySWeMosIRShield - IR blaster shield for WeMos D1

Scheduled Pinned Locked Moved OpenHardware.io
contest2017rfm69ir receiverwemosesp8266mysensorsir sendernrf24l01
16 Posts 7 Posters 5.4k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • hekH Offline
    hekH Offline
    hek
    Admin
    wrote on last edited by
    #3

    Nice!

    I guess you already found @BartE sketch as a starting point?

    https://github.com/mysensors/MySensorsArduinoExamples/blob/master/examples/IrSensor/IrSensor.ino

    1 Reply Last reply
    0
    • E Offline
      E Offline
      emc2
      Hardware Contributor
      wrote on last edited by
      #4

      Thanks @hek , yes I did saw it. I did try to port it to work on ESP8266 with IRremoteESP8266.h but without success so far.

      That's totally why my first point is "be able to record, save and reuse an IR code without editing the code. Plenty of EEPROM space to store data", which is what this sketch was able to do. I have the feeling that someone that know what he is doing can probably do it easily, but for me it's a nightmare.

      1 Reply Last reply
      0
      • G Offline
        G Offline
        gloob
        wrote on last edited by
        #5

        I like the board and did already order some pcbs for testing.

        1 Reply Last reply
        0
        • G Offline
          G Offline
          gloob
          wrote on last edited by gloob
          #6

          I'm right that there is no resistor between the LEDs and 5V or GND?
          Is it not required?

          1 Reply Last reply
          0
          • E Offline
            E Offline
            emc2
            Hardware Contributor
            wrote on last edited by
            #7

            I hope you will like this board when you receive it!

            True, no current limiting resistor in that configuration for IR LEDs. One of my previous version had one and IR signal was quite dim. By having 7 LEDs the current in each one is actually quite low, and they are only ON for a few micro seconds. I have been using this specific configuration for 3 months now (breadboard to various prototypes) and no burned LEDs so far.

            It may differ for other IR LEDs, but TSAL series is pretty resilient and by using 7 LEDs it can take up a few amps without any problem. (If you do the calculations you will find that you could add a 5ohm resistor to limit to 100mA, or 2.5ohm for 200mA, so as you can see it's safe to skip)

            Even using ONE regular (visible light) LED for a quick test to send a signal is actually ok, but leaving it on for more than 5s is sufficient to burn it. Having all seven LEDs, they were still working after 1 minute being ON, which is already far from any real case use.

            Nca78N 1 Reply Last reply
            0
            • E emc2

              I hope you will like this board when you receive it!

              True, no current limiting resistor in that configuration for IR LEDs. One of my previous version had one and IR signal was quite dim. By having 7 LEDs the current in each one is actually quite low, and they are only ON for a few micro seconds. I have been using this specific configuration for 3 months now (breadboard to various prototypes) and no burned LEDs so far.

              It may differ for other IR LEDs, but TSAL series is pretty resilient and by using 7 LEDs it can take up a few amps without any problem. (If you do the calculations you will find that you could add a 5ohm resistor to limit to 100mA, or 2.5ohm for 200mA, so as you can see it's safe to skip)

              Even using ONE regular (visible light) LED for a quick test to send a signal is actually ok, but leaving it on for more than 5s is sufficient to burn it. Having all seven LEDs, they were still working after 1 minute being ON, which is already far from any real case use.

              Nca78N Offline
              Nca78N Offline
              Nca78
              Hardware Contributor
              wrote on last edited by
              #8

              @emc2 I'm not sure you can calculate like that as all LEDs are different. The LED manufactured with the lowest forward voltage can take way more current than the others and die prematurely. Then the next one, and so on.

              1 Reply Last reply
              0
              • E Offline
                E Offline
                emc2
                Hardware Contributor
                wrote on last edited by
                #9

                @Nca78 Not sure either to be honest, but technically I only did the calculation for a specific type of LED, the ones in the BOM.

                I do use TSAL LEDs, and used http://ledcalc.com/#calc to do the resistor calculation for 7 LEDs with numbers extracted from the datasheet, leading to the ~5ohm resistor calculation.
                I tried without any, or with a 4.7ohm resistor and I had significant better range results without resistor. Not a surprise, looking at the IR signal with a smartphone camera you can definitively see a brightness difference too, that's really a blaster :)

                No burned LED after 48h of testing (sending one of my IR code every 5s). I also tried, for 10min, with regular red LED (http://www.nteinc.com/specs/3000to3099/pdf/nte3019.pdf) which have lower Vf and If requirements, no problems either.

                I don't say that this is right, I truly don't have the background to do more than empirical experimentations, but it seemed good enough for me at the time. I did not had any problems since then, both with real TSAL from mouser and probably fake ones from aliexpress.

                Nca78N 1 Reply Last reply
                1
                • E emc2

                  @Nca78 Not sure either to be honest, but technically I only did the calculation for a specific type of LED, the ones in the BOM.

                  I do use TSAL LEDs, and used http://ledcalc.com/#calc to do the resistor calculation for 7 LEDs with numbers extracted from the datasheet, leading to the ~5ohm resistor calculation.
                  I tried without any, or with a 4.7ohm resistor and I had significant better range results without resistor. Not a surprise, looking at the IR signal with a smartphone camera you can definitively see a brightness difference too, that's really a blaster :)

                  No burned LED after 48h of testing (sending one of my IR code every 5s). I also tried, for 10min, with regular red LED (http://www.nteinc.com/specs/3000to3099/pdf/nte3019.pdf) which have lower Vf and If requirements, no problems either.

                  I don't say that this is right, I truly don't have the background to do more than empirical experimentations, but it seemed good enough for me at the time. I did not had any problems since then, both with real TSAL from mouser and probably fake ones from aliexpress.

                  Nca78N Offline
                  Nca78N Offline
                  Nca78
                  Hardware Contributor
                  wrote on last edited by
                  #10

                  @emc2 Ok thank you for your feedback ! I'm doing an IR blaster also, and as it seems to work reliably for you even with the aliexpress versions, I'll include a bypass for the resistors to have the option.

                  1 Reply Last reply
                  0
                  • korttomaK Offline
                    korttomaK Offline
                    korttoma
                    Hero Member
                    wrote on last edited by
                    #11

                    I ordered some of the MySweMosIRShield PCBs (after som minor modifications) an now while I wait for them to arrive I started looking into creating a sketch. I thought I would start from the example @emc2 provided but I cannot get it to compile and I don't know why.

                    Seems like it has something to do with the data types used. I tried both the github version and the latest available version via the Library manager of the IRremoteESP8266 Lib but same problem.

                    Arduino IDE 1.6.11

                    My Copy/paste coding skills are to no use if I don't have something that works to start from :(

                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino: In function 'void handleIr()':
                    
                    MySWeMosIRShield:316: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyAUTO, sizeof(eufyAUTO) / sizeof(eufyAUTO[0]), khz);
                    
                                                                                                 ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:316:77: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:319: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyHOME, sizeof(eufyHOME) / sizeof(eufyHOME[0]), khz);
                    
                                                                                                 ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:319:77: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:322: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyMAX, sizeof(eufyMAX) / sizeof(eufyMAX[0]), khz);
                    
                                                                                              ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:322:74: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:325: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufySPOT, sizeof(eufySPOT) / sizeof(eufySPOT[0]), khz);
                    
                                                                                                 ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:325:77: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:328: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyEDGE, sizeof(eufyEDGE) / sizeof(eufyEDGE[0]), khz);
                    
                                                                                                 ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:328:77: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:331: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyROOM, sizeof(eufyROOM) / sizeof(eufyROOM[0]), khz);
                    
                                                                                                 ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:331:77: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:334: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufySTART, sizeof(eufySTART) / sizeof(eufySTART[0]), khz);
                    
                                                                                                    ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:334:80: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:337: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                             irsend.sendRaw(eufyPAUSE, sizeof(eufyPAUSE) / sizeof(eufyPAUSE[0]), khz);
                    
                                                                                                    ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:337:80: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino: In function 'void ircode(decode_results*)':
                    
                    MySWeMosIRShield:542: error: 'class decode_results' has no member named 'panasonicAddress'
                    
                         Serial.print(results->panasonicAddress, HEX);
                    
                                               ^
                    
                    MySWeMosIRShield:546: error: call of overloaded 'print(uint64_t&, int)' is ambiguous
                    
                       Serial.print(results->value, HEX);
                    
                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:546:35: note: candidates are:
                    
                    In file included from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Stream.h:26:0,
                    
                                     from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/HardwareSerial.h:31,
                    
                                     from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:245,
                    
                                     from sketch\MySWeMosIRShield.ino.cpp:1:
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:71:16: note: size_t Print::print(unsigned char, int)
                    
                             size_t print(unsigned char, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:72:16: note: size_t Print::print(int, int)
                    
                             size_t print(int, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:73:16: note: size_t Print::print(unsigned int, int)
                    
                             size_t print(unsigned int, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:74:16: note: size_t Print::print(long int, int)
                    
                             size_t print(long, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:75:16: note: size_t Print::print(long unsigned int, int)
                    
                             size_t print(unsigned long, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:76:16: note: size_t Print::print(double, int)
                    
                             size_t print(double, int = 2);
                    
                                    ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino: In function 'void dumpCode(decode_results*)':
                    
                    MySWeMosIRShield:659: error: 'class decode_results' has no member named 'panasonicAddress'
                    
                           Serial.print(results->panasonicAddress, HEX);
                    
                                                 ^
                    
                    MySWeMosIRShield:665: error: call of overloaded 'print(uint64_t&, int)' is ambiguous
                    
                         Serial.print(results->value, HEX);
                    
                                                         ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:665:37: note: candidates are:
                    
                    In file included from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Stream.h:26:0,
                    
                                     from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/HardwareSerial.h:31,
                    
                                     from C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:245,
                    
                                     from sketch\MySWeMosIRShield.ino.cpp:1:
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:71:16: note: size_t Print::print(unsigned char, int)
                    
                             size_t print(unsigned char, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:72:16: note: size_t Print::print(int, int)
                    
                             size_t print(int, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:73:16: note: size_t Print::print(unsigned int, int)
                    
                             size_t print(unsigned int, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:74:16: note: size_t Print::print(long int, int)
                    
                             size_t print(long, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:75:16: note: size_t Print::print(long unsigned int, int)
                    
                             size_t print(unsigned long, int = DEC);
                    
                                    ^
                    
                    C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:76:16: note: size_t Print::print(double, int)
                    
                             size_t print(double, int = 2);
                    
                                    ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino: In function 'void receive(const MyMessage&)':
                    
                    MySWeMosIRShield:724: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyAUTO, sizeof(eufyAUTO) / sizeof(eufyAUTO[0]), khz);
                    
                                                                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:724:83: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:732: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyHOME, sizeof(eufyHOME) / sizeof(eufyHOME[0]), khz);
                    
                                                                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:732:83: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:740: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyMAX, sizeof(eufyMAX) / sizeof(eufyMAX[0]), khz);
                    
                                                                                                    ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:740:80: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:748: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyROOM, sizeof(eufyROOM) / sizeof(eufyROOM[0]), khz);
                    
                                                                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:748:83: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:756: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufySPOT, sizeof(eufySPOT) / sizeof(eufySPOT[0]), khz);
                    
                                                                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:756:83: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:764: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyEDGE, sizeof(eufyEDGE) / sizeof(eufyEDGE[0]), khz);
                    
                                                                                                       ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:764:83: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:772: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufySTART, sizeof(eufySTART) / sizeof(eufySTART[0]), khz);
                    
                                                                                                          ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:772:86: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    MySWeMosIRShield:780: error: no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                                   irsend.sendRaw(eufyPAUSE, sizeof(eufyPAUSE) / sizeof(eufyPAUSE[0]), khz);
                    
                                                                                                          ^
                    
                    C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:780:86: note: candidate is:
                    
                    In file included from C:\Users\Tomas\Documents\Arduino\MySWeMosIRShield\MySWeMosIRShield.ino:127:0:
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note: void IRsend::sendRaw(uint16_t*, uint16_t, uint16_t)
                    
                       void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz);
                    
                            ^
                    
                    C:\Users\Tomas\Documents\Arduino\libraries\IRremoteESP8266\src/IRsend.h:37:8: note:   no known conversion for argument 1 from 'unsigned int [83]' to 'uint16_t* {aka short unsigned int*}'
                    
                    Multiple libraries were found for "WiFiClient.h"
                     Used: C:\Users\Tomas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
                     Not used: C:\Program Files\Arduino\libraries\WiFi
                     Not used: C:\Program Files\Arduino\libraries\WiFi
                     Not used: C:\Program Files\Arduino\libraries\WiFi
                     Not used: C:\Program Files\Arduino\libraries\WiFi
                    exit status 1
                    no matching function for call to 'IRsend::sendRaw(unsigned int [83], unsigned int, int&)'
                    
                    • Tomas
                    1 Reply Last reply
                    0
                    • E Offline
                      E Offline
                      emc2
                      Hardware Contributor
                      wrote on last edited by
                      #12

                      Short and not perfect answer, they changed everything when they updated the library to >2.0.

                      For a quick way to test your board etc, you can compile the example sketch by reverting to version 1.2.0
                      0_1503463968139_irremote.png

                      Ideally you may want to upgrade your sketch to be compatible with version 2.0 according to this https://github.com/markszabo/IRremoteESP8266/wiki/Upgrading-to-v2.0

                      I wanted to do it, but completely forgot about it... Will try to have a look at it tonight, but hopefully you can start testing everything using the old library version.

                      May also ask what minor modifications you did? Always open to suggestions to improve the board.

                      1 Reply Last reply
                      1
                      • E Offline
                        E Offline
                        emc2
                        Hardware Contributor
                        wrote on last edited by emc2
                        #13

                        Actually was not too bad to update.

                        I pushed the updated example sketch to github and openhardware, compatible with IRremoteESP8266 v2.0 and up.
                        I did a quick test here, no errors, and the vacuum cleaner already escaped to the bedroom, so good to go!

                        As for the board, feel free to share any sketch here or on github.

                        1 Reply Last reply
                        1
                        • korttomaK Offline
                          korttomaK Offline
                          korttoma
                          Hero Member
                          wrote on last edited by
                          #14

                          Thanks emc2 for your fast responce. I almost got it working myself but I guess I missed the:

                          #include <IRutils.h>
                          

                          Compiles fine for me now also. Now to see if I can change it to my needs.

                          • Tomas
                          1 Reply Last reply
                          0
                          • P Offline
                            P Offline
                            Pio Wales
                            wrote on last edited by
                            #15

                            Hi, great job on the board. Is there schematic available, I would like to put smd leds on the board. It would be nice not to start from scratch. Thanks.

                            1 Reply Last reply
                            0
                            • P Offline
                              P Offline
                              Pio Wales
                              wrote on last edited by
                              #16

                              Sorry. Disregard.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              29

                              Online

                              11.7k

                              Users

                              11.2k

                              Topics

                              113.1k

                              Posts


                              Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • MySensors
                              • OpenHardware.io
                              • Categories
                              • Recent
                              • Tags
                              • Popular