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.
  • openhardware.ioO Offline
    openhardware.ioO Offline
    openhardware.io
    wrote on last edited by openhardware.io
    #1

    https://www.openhardware.io/view/385/MySWeMosIRShield-IR-blaster-shield-for-WeMos-D1

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

      Arduino sketch is really basic and even if it works perfectly for me, there is probably a way to improve it greatly.

      On top of my head it would be good to

      • be able to record, save and reuse an IR code without editing the code. Plenty of EEPROM space to store data.
      • have a webpage showing the serial console to see received IR codes, or other info.
      • have a dynamic webpage automatically displaying all codes stored in such EEPROM.
      • have more than 10 codes that can be used with domoticz.

      But I do not know how to do this (even if it's possible).
      If you are interested in improving this code shoot me a private message, or answer here. I have a few extra PCBs from a previous version that I will gladly send for free to anyone willing to improve this device software.

      1 Reply Last reply
      1
      • 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


                                  28

                                  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