ESPproMon Project Updates


Could you to provide source code on the arduino plataform for who bought the firmware?


This is a very bad announcement for all of us that are your customers and we have paid your software. At least, as a good sign from you, release the Arduino sketch to us in order to make it in Blynk cloud.


Anyone that is not happy can apply for a refund but the source code will not be made available.


Ok how can I apply for refund? I am interested in as a fair solution.


Hi Paul,
It’s a pity your APP is down right now… I wish you good luck for your future projects!!

Best regards



Refund processed.




Hi, Sad to hear, but thanks for the support and help in the past days. I used app for reasonable time.


Dear Sirs, now that the feature rich ESPproMON App permanently stopped working, I trying to reprogram my WeMos D1 mini that some days ago has @Costas firmware, to have a simplified cut down version running on the Blynk cloud. So far the early mockup is working. I have one question though: I know that the power factot is something that we can calculate, so what is the formula to do this calculation? I have the standard PZEM-004 and I use the most popular Arduino library:

Thanks in advance for your help.

Best Regards,
Mike Kranidis


To answer my question, for the help of anyone looking for this, see the below link that explain everything:


Power factor is included within the library provided by olehs, you don’t need to calculate it.


Thanks @Costas.
I use this library but I found only Voltage, Current, Power and Energy. What function is for Power Factor?


Take a look at pf in


Many thanks @Costas. I did already "outside"the library, as you can see, it is just a simple calculation.
Thanks anyway.


ESPproMon is now available as a Blynk project rather than a standalone app.

At this present time it simply displays the data from the Pzem on your smartphone and saves the data to Thingspeak and EmonCMS.

QR code image and the bin file is available at

Once you have flashed your ESP8266 it will create an access point for your phone or PC to connect to.
Access point is called PzemHouse with a password of p4ssword.

Once you have selected the access point you need to go to in a browser.

There are 5 parameters to set for ESPproMon

The URL for OTA updates and the blynk server address that you need to enter are shown in the screenshot below. Please note there are two different URL’s for OTA updates as covered in the setup instructions at!/setup. Obtain your Blynk token from the project in Blynk and you can enter a single space for each of the Thingspeak and EmonCMS keys if you haven’t created accounts with Thingspeak or EmonCMS.

You don’t need to enter anything for the (IP unset) fields. Once you save the details your project should be running.


If you haven’t created accounts with Thingspeak or EmonCMS ensure you set “Webhooks Stopped” in the SETUP tab as shown below.

Our public channel at Thingspeak is and EmonCMS is at

Thingspeak is free for the volume of data we use but there is a cost of a few dollars per year for EmonCMS.

Once you are ready to add your KEYS select the option from the CHANGE PARAMETERS drop down menu and enter the key value in the PARAMETERS text input box.

You can then start up the data transmissions to Thingspeak or EmonCMS by clicking the red Webhooks Stopped button.


Latest screenshots for version 32 of ESPproMon below.

In the LOG tab we have added basic logging details. When the Pzem is installed in your consumer unit or if you are connecting the Pzem directly to the RX and TX pins, Serial Monitor logging is not available.

The red button shown as OFF is for a relay connected to D1 (GPIO 5). You can change this to a pin of your choice. To the left of the button is the Eventor widget where you can schedule events and notifications. So if power goes above say 4000 Watts you receive a PUSH message / email etc. Eventor has a very useful scheduler too so you can trigger relays at certain times of the day.


If anyone has any features they would like to see added to the project please post in this section or send us a DM.


Latest screenshots for version 34 of ESPproMon below.

Full Serial Monitor replacement with Blynk Terminal now available. The only time it is not available is during the first WiFi Manager parameter setting procedure. Subsequent changes to parameters held in SPIFFS with WiFi Manager are displayed in Terminal.

I have never been a massive fan of end users having to modify the Pzem in anyway but I have to agree that the fairly straightforward process of adding the 1K resisitor and using hardware serial does give better results than using software serial.


Version 35 of ESPproMon is now available with the QR code image at

You can download the firmware from the same site and remember there are two different versions. One which connects the Pzem directly to the tx and rx pins (our recommended system) or one which uses digital pins 12 and 13 (D6 and D7).

If you are already running ESPproMon and don’t want to scan the QR code image you can update the firmware via the app. In SETUP tab select either the white or yellow buttons and your ESP8266 will automatically be updated.

However you will need to send us a message so we can go through the new widgets you need to add to the project.

As shown in the screenshot above we have added 3 new buttons for additional relays. Note these buttons are not tied to any digital pins and you can select any unused pins of your choosing.

They are the 3 buttons shown in red with the bottom 2 being off the bottom of the page. The green button is tied to digital pin 5 (D1 for WeMos / NodeMCU).

To the right of the Eventor widget is a display widget tied to digital pin 4 (D2 for WeMos / NodeMCU). The text will change to show the pin status and allows you to check whether a device is on or off. This is using the pin as an INPUT pin, not an output pin.

You will receive PUSH and email alerts as the pin status changes. In addition the terminal widget log will be updated accordingly.

The image above is for the new display widget. The text is shown as “Pin Status /pin/” and you can edit this to “Generator /pin/” or “Heating /pin/” etc. ESPproMon will then display Generator LOW or Generator HIGH. We don’t use the terms ON and OFF because some devices may be active LOW.

You will need to remember what LOW and HIGH mean in relation to the INPUT device you have connected. You can also change the "Pin Status " text to your native language but LOW and HIGH will remain in English. Remember to add a space between the end of your chosen text and /pin/