[SOLVED] Wemos D1 not working with basic example

http://help.blynk.cc/getting-started/step-by-step/how-to-control-anything-with-blynk-app starts of by describing how you make it in the Blink app, but then stops on which the Arduino code is needed.

I’m using the Wemos D1/ESP8266 WIFI / Blink Blink example.

Copy/paste the code, fill in the parameters for WIFI en Auth.

I’m getting this message then which indicates I’m setup, but nothing happens when I press the button on Blynk.(set to D3).
Is there a way to see what is coming from the Blynk-server, so that at least I can see that the signal is being received ?

Honestly, the project looks nice, but documentation and getting started wise, this is about the worst I’ve seen in years … each time I think found the right place for the info, only half of the info is available (either only the code, or only the Blynk info).

Any help would be greatly appreciated. (Apologies for the frustrated tone in the message).

Just as an FYI, I ran a basic arduino sketch turning the leds on and off and that works, so the hardware and arduino side of things are ok.

@Bart_Wybouw please confirm you are using a sketch like this?

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup()
  Blynk.begin(auth, ssid, pass);

void loop()

Paste your details from Serial Monitor.
Are you using the full or mini WeMos D1?

Have you attached an LED to D3 and why not use the onboard LED on D4 (GPIO 2)?
Do you have the Blynk button set to PUSH or SWITCH mode?

Didn’t you see it when you read the docs?
Specifically http://docs.blynk.cc/#troubleshooting-enable-debug but you must read all the docs.

Looking at the brief “How to control anything with Blynk app” notes I suspect the problem relates to a misunderstanding with the pins.

It refers to digital pin D3 and the WeMos, or any ESP for that, doesn’t have a digital pin 3.
You have a pin marked D3 on the WeMos but it’s not digital pin 3 it’s digital pin 0 (see https://wiki.wemos.cc/products:d1:d1_mini). WeMos and other manufacturers decided to provide their own labelling to the pins for some bizarre reason and it leads to lots of problems.

@pavel can you please modify the docs so noob Blynkers understand digital pins are GPIO references and not the screen printed references on the WeMos and NodeMCU’s etc.

Edit: technically ESP’s do have a digital pin 3 but it’s the RX pin (digital pin 1 is TX) and best left well alone.


  1. yes that’s the code I’m using.
  2. I’ve just tried using the onboard LED, same issue (tied both setting Blink to D2 and D4).
  3. Blink button set to switch mode.

Thanks for the speedy answers !

I’m using a Full Wemos D1 not the mini.

If I change something in the Blynk configuration (like changing the pin), do I need to refresh, or is that info immediately “saved and used” ?

Maybe just change the example to a pin which works on all/majority for the boards ?

That wouldn’t work because the problem isn’t related to pins it’s related to pin labelling.

Check the pin map link I provided. It’s for the Mini because WeMos have removed the map for the full WeMos D1 from their site but I believe it’s the same general mapping.

WeMos did change at least 1 pin map between the original D1 and rev 2.

So to recap, the notes refer to GPIO numbers not WeMos pin labels, use the map.

It will get more confusing when you actually start coding for the WeMos because then there is a GPIO to pin label mapping system that can be used. I NEVER use D references for ESP’s, always GPIO references and a map.

Roger that, see the debug info now.

[163727] >[14]U[01|00|06]
[163728] >dw[00]4[00]1
[167258] >[14]<[B2|00|06]
[167258] >dw[00]4[00]0
[167859] <[06|00|12|00|00]
[167890] >[00|00|12|00|C8]
[177891] <[06|00|13|00|00]
[177928] >[00|00|13|00|C8]

Actually I have probably confused everyone, me included.

Blynk actually maps the WeMos pin labels to the relevant digital pins (GPIO).
So if you select a WeMos board in the app and then allocate a button to label D3 it will control GPIO 0.

In my defence, serious Blynkers hardly ever use digital pins as the virtual pins are so much more powerful.

Also for WeMos’ I normally select the generic ESP8266 board in the app as there are some features not available when you select WeMos.

What pins are you using in the app and on the WeMos?

Presumably D4 from your log, right?

Wemos D1 info.


D4 on the app trying to use the on board LED.

First is D4 pressed, second is D2 pressed. Nothings makes the onboard LED go on. (I’ve put those two lines in bold).

/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
//_, /////_
__/ v0.4.8 on Arduino

[2321] Free RAM: 45776
[5001] Connecting to blynk-cloud.com:8442
[5076] <[02|00|01|00] 48329e9fe22e4ce3be7b579d2bb146c9
[5130] >[00|00|01|00|C8]
[5131] Ready (ping: 12ms).
[5131] <[11|00|02|00]Hver[00]0.4.8[00]h-beat[00]10[00]buff-in[00]1024[00]dev[00]Arduino[00]build[00]Jul 15 2017 16:36:32[00]
[5247] >[14|00|01|00|15]
[5247] >pm[00]4[00]out[00]16[00]out[00]5[00]out
[5268] >[00|00|02|00|C8]
[15247] <[06|00|03|00|00]
[15279] >[00|00|03|00|C8]
[25280] <[06|00|04|00|00]
[25313] >[00|00|04|00|C8]
[30412] >[14]FX[00|06]
[30413] >dw[00]4[00]1
[34679] >[14|04|B7|00|07]
[34679] >dw[00]16[00]1
[35314] <[06|00|05|00|00]
[35355] >[00|00|05|00|C8]

Using a WeMos with Blynk is normally child’s play. Can’t undersand what your problem is.

Presumably you selected WeMos D1 device in the app, right?

You could try switching to the ESP8266 device and there you will see gp0, gp1, gp2 etc rather than “D” pins.
For the onboard LED you would want gp2. I think the LED is active LOW so the Blynk button will work in reverse i.e. ON will turn LED off etc. That’s another reason to use virtual pins but don’t consider that until you have completed this elementary step.

as per my last post, you will need to have the button in the off position to turn on the onboard LED.
You can change the labels in the app so OFF becomes ON etc but later you will move to virtual pins.

I understand, but have been toggling the buttons on and off so I agree the positions would be wrong but in one of the two I should see the LED come on right ?

All I can suggest is switch to ESP8266 and see how that goes.

Switching the device to EPS8266 solved the issue … not sure where the cause could be.

Costas, I owe you a Belgian Beer if you are ever in the neighborhood :wink: !