# Issue with Led things on esp

**URL:** <https://discourse.mozilla.org/t/issue-with-led-things-on-esp/52952>\
**Category:** WebThings\
**Created:** [January 29, 2020, 7:48pm UTC](https://discourse.mozilla.org/t/issue-with-led-things-on-esp/52952 "2020-01-29T19:48:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ciboor](https://avatars.discourse-cdn.com/v4/letter/c/c4cdca/32.png) [@ciboor](https://discourse.mozilla.org/u/ciboor)\
**Post date:** [January 29, 2020, 7:48pm UTC](https://discourse.mozilla.org/t/issue-with-led-things-on-esp/52952/1 "2020-01-29T19:48:33Z")

</div>

Hi ,  
I am using esp8266 to run my program led example. I extended it for my needs. When I am trying to add more than about 8 led things or when im clicking on thing board, device (esp) reboots.  
Should I do it in a different way than shown in the program (led\_example) when I want to add more devices (led)?

> **program**
>
> #include \<Arduino.h\>  
> #include “Thing.h”  
> #include “WebThingAdapter.h”
> 
> //TODO: Hard-code your WiFi credentials here (and keep it private)  
> const char\* ssid = “_**";  
> const char password = "**_\*”;
> 
> WebThingAdapter\* adapter;
> 
> const char\* ledTypes = {“OnOffSwitch”, “led”, nullptr};  
> ThingDevice led2a(“led2a”, “oświetlenie sień”, ledTypes);  
> ThingDevice led2b(“led2b”, “oświetlenie komunikacja parter”, ledTypes);  
> ThingDevice led2c(“led2c”, “oświetlenie łazienka ogólne parter”, ledTypes);  
> ThingDevice led2d(“led2d”, “oświetlenie łazienka nad lustrem parter”, ledTypes);  
> ThingDevice led2e(“led2e”, “oświetlenie łazienka pod prysznicem parter”, ledTypes);  
> ThingDevice led2f(“led2f”, “oświetlenie kuchnia pod szafkami”, ledTypes);  
> ThingDevice led2g(“led2g”, “oświetlenie kuchnia sufitowe”, ledTypes);  
> ThingDevice led2h(“led2h”, “oświetlenie jadalnia”, ledTypes);  
> ThingDevice led2i(“led2i”, “oświetlenie salon ogólne”, ledTypes);  
> ThingDevice led2j(“led2j”, “oświetlenie salon led sufitowy”, ledTypes);  
> ThingDevice led2k(“led2k”, “oświetlenie schodów niskie”, ledTypes);  
> ThingDevice led2l(“led2l”, “oświetlenie schodów wysokie”, ledTypes);
> 
> ThingDevice led3a(“led3a”, “oświetlenie komunikacja sufitowe piętro”, ledTypes);  
> ThingDevice led3b(“led3b”, “oświetlenie komunikacja pod wyłazem piętro”, ledTypes);  
> ThingDevice led3c(“led3c”, “oświetlenie pokój piętro”, ledTypes);  
> ThingDevice led3d(“led3d”, “oświetlenie pokój led piętro”, ledTypes);  
> ThingDevice led3e(“led3e”, “oświetlenie sypialnia ogólne piętro”, ledTypes);  
> ThingDevice led3f(“led3f”, “oświetlenie sypialnia led piętro”, ledTypes);  
> ThingDevice led3g(“led3g”, “oświetlenie sypialnia lampka nocna 2 Kasi piętro”, ledTypes);  
> ThingDevice led3h(“led3h”, “oświetlenie sypialnia lampka nocna 1 Kamil piętro”, ledTypes);  
> ThingDevice led3i(“led3i”, “oświetlenie pralnia piętro”, ledTypes);  
> ThingDevice led3j(“led3j”, “oświetlenie łazienka ogólne piętro”, ledTypes);  
> ThingDevice led3k(“led3k”, “oświetlenie łazienka led piętro”, ledTypes);  
> ThingDevice led3l(“led3l”, “oświetlenie łazienka sufitowe piętro”, ledTypes);  
> ThingDevice led3m(“led3m”, “oświetlenie łazienka nad lustrem piętro”, ledTypes);
> 
> ThingProperty led2aOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2bOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2cOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2dOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2eOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2fOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2gOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2hOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2iOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2jOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2kOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led2lOn(“on”, “”, BOOLEAN, “OnOffProperty”);
> 
> ThingProperty led3aOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3bOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3cOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3dOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3eOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3fOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3gOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3hOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3iOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3jOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3kOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3lOn(“on”, “”, BOOLEAN, “OnOffProperty”);  
> ThingProperty led3mOn(“on”, “”, BOOLEAN, “OnOffProperty”);
> 
> bool lastOn1 = false;  
> bool lastOn2 = false;  
> bool lastOn3 = false;  
> bool lastOn4 = false;  
> bool lastOn5 = false;  
> bool lastOn6 = false;  
> bool lastOn7 = false;  
> bool lastOn8 = false;  
> bool lastOn9 = false;  
> bool lastOn10 = false;  
> bool lastOn11 = false;  
> bool lastOn12 = false;  
> bool lastOn13 = false;  
> bool lastOn14 = false;  
> bool lastOn15 = false;  
> bool lastOn16 = false;  
> bool lastOn17 = false;  
> bool lastOn18 = false;  
> bool lastOn19 = false;  
> bool lastOn20 = false;  
> bool lastOn21 = false;  
> bool lastOn22 = false;  
> bool lastOn23 = false;  
> bool lastOn24 = false;  
> bool lastOn25 = false;  
> bool lastOn26 = false;
> 
> void setup(void){
> 
> ```
> Serial.begin(115200);
> Serial.println("");
> Serial.print("Connecting to \"");
> Serial.print(ssid);
> Serial.println("\"");
> #if defined(ESP8266) || defined(ESP32)
> WiFi.mode(WIFI_STA);
> #endif
> WiFi.begin(ssid, password);
> Serial.println("");
> 
> // Wait for connection
> bool blink = true;
> while (WiFi.status() != WL_CONNECTED) {
> delay(500);
> Serial.print(".");
> // digitalWrite(ledPin1, blink ? LOW : HIGH); // active low led
> blink = !blink;
> }
> 
> Serial.println("");
> Serial.print("Connected to ");
> Serial.println(ssid);
> Serial.print("IP address: ");
> Serial.println(WiFi.localIP());
> adapter = new WebThingAdapter("w25", WiFi.localIP());
> 
> led2a.addProperty(&led2aOn);
> led2b.addProperty(&led2bOn);
> led2c.addProperty(&led2cOn);
> led2d.addProperty(&led2dOn);
> led2e.addProperty(&led2eOn);
> led2f.addProperty(&led2fOn);
> led2g.addProperty(&led2gOn);
> led2h.addProperty(&led2hOn);
> led2i.addProperty(&led2iOn);
> led2j.addProperty(&led2jOn);
> led2k.addProperty(&led2kOn);
> led2l.addProperty(&led2lOn);
> 
> led3a.addProperty(&led3aOn);
> led3b.addProperty(&led3bOn);
> led3c.addProperty(&led3cOn);
> led3d.addProperty(&led3dOn);
> led3e.addProperty(&led3eOn);
> led3f.addProperty(&led3fOn);
> led3g.addProperty(&led3gOn);
> led3h.addProperty(&led3hOn);
> led3i.addProperty(&led3iOn);
> led3j.addProperty(&led3jOn);
> led3k.addProperty(&led3kOn);
> led3l.addProperty(&led3lOn);
> led3m.addProperty(&led3mOn);
> 
> adapter->addDevice(&led2a);
> adapter->addDevice(&led2b);
> adapter->addDevice(&led2c);
> adapter->addDevice(&led2d);
> adapter->addDevice(&led2e);
> adapter->addDevice(&led2f);
> adapter->addDevice(&led2g);
> adapter->addDevice(&led2h);
> adapter->addDevice(&led2i);
> adapter->addDevice(&led2j);
> adapter->addDevice(&led2k);
> adapter->addDevice(&led2l);
> 
> adapter->addDevice(&led3a);
> adapter->addDevice(&led3b);
> adapter->addDevice(&led3c);
> adapter->addDevice(&led3d);
> adapter->addDevice(&led3e);
> adapter->addDevice(&led3f);
> adapter->addDevice(&led3g);
> adapter->addDevice(&led3h);
> adapter->addDevice(&led3i);
> adapter->addDevice(&led3j);
> adapter->addDevice(&led3k);
> adapter->addDevice(&led3l);
> adapter->addDevice(&led3m);
> 
> adapter->begin();
> Serial.println("HTTP server started");
> Serial.print("http://");
> Serial.print(WiFi.localIP());
> Serial.print("/things/");
> 
> ```
> 
> }
> 
> void loop(void){  
> adapter-\>update();  
> bool on1 = led2aOn.getValue().boolean;  
> bool on2 = led2bOn.getValue().boolean;  
> bool on3 = led2cOn.getValue().boolean;  
> bool on4 = led2dOn.getValue().boolean;  
> bool on5 = led2eOn.getValue().boolean;  
> bool on6 = led2fOn.getValue().boolean;  
> bool on7 = led2gOn.getValue().boolean;  
> bool on8 = led2hOn.getValue().boolean;  
> bool on9 = led2iOn.getValue().boolean;  
> bool on10 = led2jOn.getValue().boolean;  
> bool on11 = led2kOn.getValue().boolean;  
> bool on12 = led2lOn.getValue().boolean;
> 
> ```
> bool on13 = led3aOn.getValue().boolean;
> bool on14 = led3bOn.getValue().boolean;
> bool on15 = led3cOn.getValue().boolean;
> bool on16 = led3dOn.getValue().boolean;
> bool on17 = led3eOn.getValue().boolean;
> bool on18 = led3fOn.getValue().boolean;
> bool on19 = led3gOn.getValue().boolean;
> bool on20 = led3hOn.getValue().boolean;
> bool on21 = led3iOn.getValue().boolean;
> bool on22 = led3jOn.getValue().boolean;
> bool on23 = led3kOn.getValue().boolean;
> bool on24 = led3lOn.getValue().boolean;
> bool on25 = led3mOn.getValue().boolean;
> 
> if (on1 != lastOn1 || on2 != lastOn2) {
> Serial.print(led2a.id);
> Serial.print(": ");
> Serial.println(on1);
> Serial.print(led2b.id);
> Serial.print(": ");
> Serial.println(on2);
> }
> lastOn1 = on1;
> lastOn2 = on2;
> lastOn3 = on3;
> lastOn4 = on4;
> lastOn5 = on5;
> lastOn6 = on6;
> lastOn7 = on7;
> lastOn8 = on8;
> lastOn9 = on9;
> lastOn10 = on10;
> lastOn11 = on11;
> lastOn12 = on12;
> lastOn13 = on13;
> lastOn14 = on14;
> lastOn15 = on15;
> lastOn16 = on16;
> lastOn17 = on17;
> lastOn18 = on18;
> lastOn19 = on19;
> lastOn20 = on20;
> lastOn21 = on21;
> lastOn22 = on22;
> lastOn23 = on23;
> lastOn24 = on24;
> lastOn25 = on25;
> 
> ```
> 
> }

> **screens**
>
> ![2020-01-29 (2)](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/b/a/baf9c60b0b4ea2f367dd0adaceb4c8948f3f53b1.png)  
> ![2020-01-29 (3)](https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/b/b/bb2834439924d809bc965bd80b50738ce5de94bb.png)

---

<div class="post-metadata">

**Author:** ![mstegeman](https://avatars.discourse-cdn.com/v4/letter/m/b782af/32.png) [@mstegeman](https://discourse.mozilla.org/u/mstegeman)\
**Post date:** [January 30, 2020, 12:29pm UTC](https://discourse.mozilla.org/t/issue-with-led-things-on-esp/52952/2 "2020-01-30T12:29:49Z")

</div>

You’ll probably want to increase the size of your JSON buffers, which you can do with 0.11.X versions of the library. See [here](https://github.com/mozilla-iot/webthing-arduino/blob/master/README.md#configuration) for instructions.
