Relés ficam loucos ao abrir pagina no SD

A tua programação não é propriamente boa no que toca a perceber o que a página web retornou ao Arduino...

A mim parece-me que sempre que exista uma respostas do web browser, o teu led vai mudar de estado, dependendo do que recebes do browser, possivelmente duas vezes.

Se em vez de fazeres isto:

 if (readString.indexOf("1") >=0) {
                      digitalWrite(led1, !digitalRead(led1));
                  }

dentro de um ciclo, activasses uma variável para fora de qualquer ciclo actuares esse LED, talvez resulte melhor.

Diga-se de passagem que apenas estás a ver se existe um "1" na string de resposta... chegaste a ver quantos 1's recebes numa resposta HTTP?

Conclusão, vê de novo o que o web browser normalmente envia de volta para ti e adapta o teu código para detectar essa resposta e não apenas o envio do caracter 1. :wink: