Sketch no arranca de una fuente de alimentación externa

Hola, estoy realizando un proyecto, en el cual debo medir temperatura con 2 sensores ds19b20 y verificar una señal de alimentación 12v, el asunto es que al cargar el sketch a mi wemos D1 corre bien cuando lo arranco del monitor serie, se conecta a la red wifi y empieza a mandar datos al servidor web de thingspeak, el problema empieza cuando lo desconecto del computador y alimento la placa de una batería externa, no arranca el sketch no se conecta a la red wifi nada dejo el sketch que ocupo:

#include <ThingSpeak.h>
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define myPeriodic 15 //in sec | Thingspeak pub is 15sec
#define ONE_WIRE_BUS 2
OneWire ourWire(4); //Se establece el pin 2 como bus OneWire

DallasTemperature sensors(&ourWire); //Se declara una variable u objeto para nuestro sensor
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
float temp2;
float prevTemp = 0;
const char* server = "api.thingspeak.com";
String apiKey ="XXXXXXXXXXXXX";
const char* MY_SSID = "XXXXXXX";
const char* MY_PWD = "XXXXXXXX";
int sent = 0;
int vol=0;
float val;
void setup() {
sensors.begin(); //Se inicia el sensor
Serial.begin(115200);
connectWifi();
pinMode(A0, INPUT);
}

void loop() {
sensors.requestTemperatures(); //Se envía el comando para leer la temperatura
temp2= sensors.getTempCByIndex(0); //Se obtiene la temperatura en ºC
Serial.print("Temperatura= ");
Serial.println(temp2);
vol = analogRead(A0);
val = vol * (12.0 / 1023);
Serial.print("Analog: ");
Serial.println(val);
float temp;
//char buffer[10];
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
//String tempC = dtostrf(temp, 4, 1, buffer);//handled in sendTemp()
Serial.print(String(sent)+" Temperature: ");
Serial.println(temp);

//if (temp != prevTemp)
//{
//sendTeperatureTS(temp);
//prevTemp = temp;
//}

sendTeperatureTS(temp);
int count = myPeriodic;
while(count--)
delay(1000);
}

void connectWifi()
{
Serial.print("Connecting to "+*MY_SSID);
WiFi.begin(MY_SSID, MY_PWD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}

Serial.println("");
Serial.println("Connected");
Serial.println("");
}//end connect

void sendTeperatureTS(float temp)
{
WiFiClient client;

if (client.connect(server, 80)) { // use ip 184.106.153.149 or api.thingspeak.com
Serial.println("WiFi Client connected ");

String postStr = apiKey;
postStr += "&field1=";
postStr += String(temp);
postStr += "&field2=";
postStr += String(temp2);
postStr += "&field3=";
postStr += String(val);
postStr += "\r\n\r\n";

client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
delay(1000);

}//end if
sent++;
client.stop();
}//end send

No se si hay algún bucle en la programación o algo que no haga que arranque el sketch y no se conecte a mi red wifi

PD: Si vuelvo a conectar la placa wemos d1 al pc tampoco arranca del monitor serial, tengo que volver a cargar el sketch ojala puedan ayudarme gracias.

Si ya me reto el moderador por no leer las normas xd, lo he alimentado del jack 12(v) y pin vin 5(v) y nada no arranca, la única manera de que tome la red wifi es cargando el sketch y arrancar el monitor serial, si lo desconecto del puerto usb no corre mas el sketch

Hi,
Puedes hacer una simple prueba y es que cuando conectes la fuente de energia externa leas el voltaje con un voltimetro para ver si tienes los +5 voltios en la tarjeta de Arduino. No dices que Arduino usas.

Si ya me reto el moderador por no leer las normas xd

Y las leíste porque sigo viendo el Post inicial sin editar