How to Virtualy transfer data between esp8266 modules via Bylnk

So, I recently hadthis crazy idea, what if you can use a custom LCD screen to read data from an Esp8266 connected to an DHT11 sensor from great distances. Unfortunately I wasn’t able to magicly re-wire my output pin to my LCD screen module. Is there an easy way to directly transfer Sensor data to an esp8266 via Blynk? I am using ESP8266-01 which has only GPIO0 GPIO2 connections… So my options are limited. Basically I want to make a wireless wire with this tech… I am open to any suggestions…

Emm… this is kinda 15 min project (max) with Blynk

Esp + sensor
esp + lcd

Am I missing something?

I read @Demir_Ozcakir’s request as wanting to see the data that’s currently being displayed on his physical LCD on an LCD widget in Blynk as well.
If that’s the case then I guess it depends what library is being used to write data to the LCD, but there’s a good chance that every time he prints data to the physical LCD he could also write data to the Blynk LCD widget.

Your existing code will probably need to be modified to remove most of the stuff from void loop() and to use timers instead of delay(). The DHT11 sensors are also pretty rubbish and don’t like to be queried more than once every 5 seconds or so. The DHT22 is marginally better, but if you can then it would be worth upgrading to something like a BME280 sensor instead.


I agree… many new users seem to associate the Widget as an extension of a Physical LCD… Not as what it is, a simple visually similar representation (probably more for nostalgia sake then functionality… but this :sauropod: likes it and wishes for a 20x4 version. hint @Pavel :stuck_out_tongue_winking_eye: ).

The commands (in advanced mode) are rather similar… but still must be treated as if there where two physical displays and each one written to individually. That is how i use my Coding Test Bench Project, that uses both the Virtual 16x2 and a physical 20x4


I have this little code snippet that takes a Terminal Widget input and displays it on both virtual and physical LCDs

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C PLCD(0x3F, 20, 4); // set the LCD address to 0x3F for a 20 chars and 4 line display

WidgetLCD lcd(V3);  // Widget LCD in advanced mode.

//===== Terminal Input =====
BLYNK_WRITE(V1) // Terminal Input Function
  String Termtext = param.asStr();

  PLCD.setCursor(0, 0);
  PLCD.print(Termtext);  // Terminal Input on LCD Widget

  lcd.print(0, 0, Termtext);  // Blynk version on Physical LCD
1 Like