Programing code failure or wrong GPIO pin?

Hi everyone,

Recently, I tried to setup a new test for a beginner like me by connect and upload the code to ESP8266 -01 like people show me:

#include <ESP8266WiFi.h>

const char* ssid = "YOUR_SSID";//type your ssid
const char* password = "YOUR_PASSWORD";//type your password

int ledPin = 2; // GPIO2 of ESP8266
WiFiServer server(80);//Service Port

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1){
digitalWrite(ledPin, LOW);
value = LOW;
}

//Set ledPin according to the request
//digitalWrite(ledPin, value);

// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("");
client.println("");

client.print("Led pin is now: ");

if(value == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("

");
client.println("Click <a href="/LED=ON">here turn the LED on pin 2 ON
");
client.println("Click <a href="/LED=OFF">here turn the LED on pin 2 OFF
");
client.println("");

delay(1);
Serial.println("Client disconnected");
Serial.println("");
}

I put on the SSID, Password and I connect to the Wifi server and everything is seem to be alright. I got button to press ON and OFF but ...

I connected the 2 GPIO of the ESP8266-01 to the Relay but nothing happen to the Relay when I press button on the web.

What did I miss? I attached Picture that I connect the Pin

Thanks for helping. I desperate working on it :confused:

Does it work with a LED in place of the relay?

I don't see a ground wire between the ESP and the relay module.

That relay module might be optically isolated so the relay closes on LOW.

Do you have a common ground connection between the relay board and the esp board?

westfw:
Do you have a common ground connection between the relay board and the esp board?

No. I connect the GND pin of the relay with other source that I convert from 220V into 5V

GND pin of the ESP board I connect to the FTDI pin that connected to the Mac :frowning:

groundFungus:
Does it work with a LED in place of the relay?

I don't see a ground wire between the ESP and the relay module.

That relay module might be optically isolated so the relay closes on LOW.

  • It does't work with LEDs in the relay. :frowning:

  • The GND wire is the black wire on the high left side of the ESP and the GCN wire on the Relay Module connect to the GND wire (in the picture is yellow wire) from the other source that I convert from 220V to 5V

  • I checked the relay, the relay module only works when the INT (signal pin) has GND wire conect to it (The LED light up on the Relay module)

westfw:
Do you have a common ground connection between the relay board and the esp board?

what will happen if the relay and esp have the same Ground connection pin?

Here is how the relay module should be wired when the relay coils are powered from an external source.
According to your last photo you have the external power source wired incorrectly. There is no connection from ground to the ESP.

relay module.jpg

Actually yes. The Black wire is the ground wire connect to the esp. In your picture, the ground connect to the Relay must be the Ground from the ESP or from the other source?

In the picture, I have to remove the Jumper connect the JD and VCC pins and wired that VCC (5V) and GND pin with external source?
and
Don't connect GND to the pin CND next to IN1, IN2. We only use signal pin connect to IN1, IN2 and connect 5V to the VCC?