OTA + WiFi?

I have a bunch of 8266 that I've deployed the default ArduinoOTA sketch to. That works fine.

I've also got a sketch that merges strandtest with the OTA sketch. That also works fine. I can push changes to the script OTA, it loads the new version and the attached LEDs work like you'd expect.

Next step: get them to talk with each other. This is where everything comes to a screeching halt. Working from another example on getting data passed between devices, if I add this line:

WiFiServer server(7890);

to the sketch that works just fine, it breaks everything. And by breaks everything, I mean it will no longer load OTA. The 8266 I'm trying to load will output "Begin Failed" and then the IDE will report that it didn't get a response.

On one hand, it doesn't seem completely crazy to me that trying to do other wifi stuff would be problematic for the existing OTA code. However I don't understand why code that compiles would fail to load via OTA. I would expect the problem to come after it's loaded and starts running.

If you are using code that disables interrupts on an ESP8266, it will interfere with WiFi communication. Disabling interrupts can also cause system crashes. The Adafruit NeoPixel library is a repeat offender.

The NeoPixelBus library has special ESP8266 modes (UART and DMA) update LEDs without disabling interrupts.