Interference on Mobile GSM network

Hi Blynkers,

I encounter a very strange situation here. I do not know whether anyone had a similar situation.

I setup 3 NodeMCU each hooked up with PZEM004T to monitor 3 phase MCB. After plugged in and run, everything works fine in blynk apps but after a while I realize our mobile network just like being interfered. Whenever anyone call in or we call out, our voice seems breaking up and cant catch the whole sentences while we are talking on the phone. Our wifi is 2.4G and GSM 900/1800, i believe there is not suppose to be conflicting. Any clue? Once I stop the 3 NodeMCU, all calls no problem at all.

Hardware details as shown.

  1. ESP8266 NodeMCU 12-E lolin
  2. PEACEFAIR PZEM-004T Single Phase Power Energy Meter + CT 100A

Smartphone OS (iOS or Android) + version = Huawei M9 Android v8
• Local server
• Blynk Library version 0.5.3
• Sketch code

//#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <PZEM004T.h> //
#include <SoftwareSerial.h>

PZEM004T pzem(&Serial); // use Serial
IPAddress ip(192,168,0,99);

float voltage_blynk=0;
float current_blynk=0;
float power_blynk=0;
float energy_blynk=0;

char auth[] = “****************”;

char ssid[] = “ssid”;
char pass[] = “pass”;

unsigned long lastMillis = 0;

void setup()
//No Debug console
/// Serial.begin(9600); // Note : Do not use Serial0 port, for serial debugging!

Blynk.begin(auth, ssid, pass, IPAddress(192,168,0,xxx), 8080);


void loop()

/// Read meter PZEM
float v = pzem.voltage(ip);
if(v >= 0.0){ voltage_blynk =v; } //V

float i = pzem.current(ip);
if(i >= 0.0){ current_blynk=i;    }  //A                                                                                                                      

float p = pzem.power(ip);
if(p >= 0.0){power_blynk=p;       } //kW

float e =;          
if(e >= 0.0){  energy_blynk =e;  } ///kWh


  //Publish data every 10 seconds (10000 milliseconds). Change this value to publish at a different interval.
      if (millis() - lastMillis > 10000) {
        lastMillis = millis();
        Blynk.virtualWrite(V1, voltage_blynk);
        Blynk.virtualWrite(V2, current_blynk  );            
        Blynk.virtualWrite(V3, power_blynk);
        Blynk.virtualWrite(V4, energy_blynk  );
        Blynk.virtualWrite(V5, lastMillis  );      



Set wifi channel to 6, and you can try thisimage

Hello 777,

Thanks a lot for your prompt replied. Very much appreciated. Shall I change my wifi router channel or the nodemcu channel? If changing my wifi router channel ID, I did changed from channel 1 to 13 but still the same. From your photo given, so sorry I don’t understand get the red line being drawn on the picture, may I get a little more details on what u want me to try it out? Is there a possibility to set the NodeMCU to different channel?

I mean router channel, and the red line is the place where you need to cut off the native antenna and solder a piece of wire, the same size as in the photo.
This can improve signal reception. Just before that, you should check the signal strength on esp8266. Use this WiFi.RSSI();

WiFi tested fine, everything updated Blynk apps real-time. The only concern I don’t really no clue why it’s interfere my mobile network, voice breaking up and cannot have a clear conversation till I got to walk out of my office. I turn it off for now to avoid customer’s complaint. By the way, thanks a lot for sharing how to boost my signal strength. Let me try it out whether it helps. Very kind of you.

There’s a discussion in this thread about refusing the transmit power of the ESP8266/NodeMCU:

There are claims that the they transmit too much power, which can interfere with other systems. I have at least 15 of them around me at the moment, all operating 24/7 and we don’t suffer from any mobile phone signal issues, so I’m extremely skeptical of these claims, but if you’re experiencing issues then it might be worth dialling-down the transmit power of your device and seeing what impact it has.


1 Like

Hi Pete,

Thanks for your advise. Actually, I like to implement Blynk solutions to my all customers but now I am still doing testing.
Currently, I have 2 x NodeMCU for Temperature and Humidity in Area 1 and 2 respectively, 1 x NodeMCU for my Door alert, 1 x NodeMCU for my small office light, all running fine without interfering my mobile network. But once power up the 3 x NodeMCU for my 3 phase, surprisingly it turns out interfering the mobile network. At 1st I really don’t believe it happens but after several attempt by shutting the 3 phase NodeMCU, I confirmed it is the caused. Somehow, I do not know how to dial down the transmit power? Is that configure by prolong the update timing?

If you read through the OTA thread I provided you’ll see references to the setOutputPower command. I’ve never used it, and certainly haven’t tried using it with the Blynk Wi-Fi libraries, but that’s where I’d start looking/searching.

It sounds like you need to look at the commercial version of Blynk if you’re using the system for more than personal use.


1 Like

Excerpt from Blynk’s TOS:

Commercial Usage

Blynk applications can not be used for commercial purposes for any fare, fee, rate, charge or other consideration, or directly or indirectly in connection with any business, or other undertaking intended for profit without signing up for Blynk subscription services outlined here:

1 Like

U r right bro, that’s what I am planning to do but I need to myself for a period of time. I already checked the price and I find that it works for me.

Yes Pete, but certainly make sure everything works fine before proceed. Thanks a lot for your info, let me try it out.