Blynk 2.0 Arduino Uno and ESP8266 - doesn't connect to cloud

I am new in IoT. I want to preapre a simple project with blinking a Led.
So I copy the example code:

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_DEVICE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "hzW6yG3mlTkLFPZyVBTG_siyvSe3ttdl"

// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266_SSL.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "NETGEAR13";
char pass[] = "redteapot391";

WidgetLED led1(V1);

BlynkTimer timer;

// V1 LED Widget is blinking
void blinkLedWidget()
  if (led1.getValue()) {;
    Serial.println("LED on V1: off");
  } else {
    Serial.println("LED on V1: on");

void setup()
  // Debug console

  //Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  Blynk.begin(auth, ssid, pass, "", 443);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  timer.setInterval(1000L, blinkLedWidget);

void loop()

upload to my ESP8266 device. Device connected to my WiFi but in the cloud device is offline.

Could you help me?

Best regards,

@Maciej please edit your post, using the pencil icon at the bottom, and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:


Thank you. I have done it.

The sketch you are using is for a stand-alone ESP8266 or NodeMCU board, not an Arduino board that uses the ESP8266 as a wireless modem.

Is the ESP8266 an ESP-01 and if so, is it running the factory AT firmware?
If you’ve uploaded a sketch to the ESP-01 then the AT firmware will have been overwritten.


Yes. I am using ESP8266 ESP01. I have uploaded a sketch to the ESP01. Arduino works only as a serial connection.

For Blynk 1.0 it works for the following code:

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup()
 // Debug console
 Blynk.begin(auth, ssid, pass);
void loop()

You need to elaborate on that statement.

What version of the Blynk library are you using?
How is your V1 datastream configured?


I downloaded library from here:

Datastream V0 is configured as follows:

But which version of the library does the IDE show as being installed, and what does this mean…


It is 1.0.1

That’s fine.

So, for the third time of asking, what does this mean…


I am using that topology:

So Arduino I am using only for transfering sketch to ESP01. Like on topology.

I am trying to use the following tutorial:

For previous version of Blynk it worked.
Sorry for my incomplete professional vocabulary. I am just starting my adventure with Arduino and ESP01.

The sketch that you are using is designed to flash an LED widget in the app, but it appears that you are trying to flash a physical LED attached to GPIO0

If you attach a widget LED to the V0 datastream (which you’ve called “Switch Control”) then it should turn on and off, assuming that you’ve managed to upload the code successfully using this crippled Uno as an FTDI adapter.

In the longer term, you’d be better using a NodeMCU or ESP32 board rather than the ESP-01


Thank you.
But the main problem is that I can successfully upload the sketch to ESP01. ESP01 can connect to wireless router. ESP01 got the IP. But In Blynk cloud the ESP01 is offline.
I think than in the next step I will try to add widgets. Or widgets are necessary to make device online?

Widgets aren’t necessary to get online.
Are you able to see any serial monitor data via your Uno?
If so what does it show?

Have you tried removing the physical LED from GPIO0 as pulling GPIO0 LOW at startup will prevent code execution.