ESP8266-01 ARDUINO LEONARDO AYUDAAA!!!

Hola que tal, les platico mi problema, estoy utilizando un arduino leonardo y un modulo esp 8266-01, mas debajo dejare las conexiones. Contare desde que compre el modulo hasta ahora, una vez de haber comprado el modulo hice las conexiones con una placa arduino de steren que le habia quitado el microprocesador, el modulo desde el principio no lograba programarlo en el monitor serial , ni si quiera lo detectaba( eh visto que aparecen unos simbolos y despues un ready), pero en intentos desesperados colocaba al modulo de una cierta forma o colocaba los dedos por encima de los pines(por la parte plana del modulo) y se encendia un led azul y funcionaba el modulo. Le subi un programa de la forma en que les mencione antes(colocando un dedo encima de los pines) y cuando se subio despues me di cuenta que no habia conectado el CH_PD al 3,3 VCC del arduino. Y apartir la arduino uno de steren se me descompuso y compre la leonardo de steren tambien, y ahora haciendo las conexiones con esta, ya ni si quiera funciona el modulo colocando los dedos al reverso, ahora solo se prende pero no logra comunicarse con el monitor serial. Tengo instalada la libreria (actualizada) , la version de mi ide Arduino es 1.8.12 . Llevo ya con este problema 2 semanas . El proyecto es cargarle un programa al esp y conectarlo a un sensor de movimiento para cuando se active mande una alerta al celular (tambien subire el codigo, aunque no creo que este incorrecto) .

ESP 8266—LEONARDO
GND—GND
VCC—3,3VCC
RX—RX(Estos dos los eh probado invertidos rx y tx)
TX—TX
CH_PD—3,3VCC

Codigo:
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

const char* ssid = “INFINITUMDF89_2.4”; //Your WiFI ssid
const char* password = “9856949920”; //Your WiFi password
boolean PIRstate ; //variable to store PIR state
boolean lastPIRstate = HIGH;
int PIR = 0; //PIR connected to GPIO 0

void setup () {

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
}

pinMode(PIR, INPUT); //digitalWrite(PIR, LOW);

pinMode(LED_BUILTIN, OUTPUT);

delay(30000);

}

void loop()
{

PIRstate = digitalRead(PIR); //HIGH when motion detected, else LOW

if (PIRstate != lastPIRstate) //Checking if there is any motion
{

digitalWrite(LED_BUILTIN, LOW);
delay(100);
digitalWrite(LED_BUILTIN, HIGH);
if (WiFi.status() == WL_CONNECTED) //Check WiFi connection status
{
HTTPClient http; //Declare an object of class HTTPClient

http.begin(“https://maker.ifttt.com/trigger/lOT_AlarmaPir/with/key/Ab8wzfpP3Qr5iG1XuHSXDpteY-d1bo75hh3_bPUyIb”); //Specify request destination
http.GET(); //Send the request
http.end(); //Close connection

}
lastPIRstate = PIRstate;
}

}