There are some very detailed guides on this site which provide details of exactly how you after to wire up the Pzem to your ESP8266. Use the search facility on the site or simply start a new topic if you are a having any problems.
We will use this thread to highlight some of the common mistakes people are making and we will add to it over time.
1. Incorrect flash size setting
We use part of the flash chip to store your credentials required by our cloud-based server. If you flash your chip as a 1M device when it’s actually a 4M device the credentials will not be stored correctly.
2. Trying to connect to the TX and RX pins on the Pzem
We have designated pins for the TX and RX, don’t use the pins marked as TX and RX o your ESP8266 developement board.
3. Incorrect voltage supplied to the TTL port on the Pzem
The TTL port on the Pzem requires 5V, WeMos at around 4.6 to 4.8V is fine but 3.3V will not work.
4. Incorrect Voltage divider
Voltage divider needs to be a 1K and a 2K resistor to reduce the 5V return from the Pzem down to the 3.3V used by an ESP8266. Ask for details if you are not sure how to wire up a voltage divider.
R1 needs to be 1K Ohm and R2 2K Ohm. R2 tied directly to ground, R1 tied to the feed from the Pzem’s TX and OUT goes to the designated RX pin on the ESP8266.
5. Entering API keys for 3rd party integration BEFORE the Pzem is wired up.
Don’t try to proceed with 3rd party integration if the Pzem is not sending data to the ESP8266 as you might get blocked by the 3rd party network provider for sending wrongly formatted data.