BUILD | EXAMPLES | CHANGELOG | DOCS
In order to connect multiple PZEM devices to a single ESP32 a certain modification required to original module:
- make it 3.3 volt capable
- make several PZEM to share same line
ESP32 pins are declared as non-tolerant to 5 volts and PZEM requires to supply 5 volt Vcc to drive it's optocoupler. So it is required to use either 3.3-to-5 volt logic converter or make a mod to PZEM board. (Or... take a risk and use esp32 with 5 volts:) )
So, you need to replace a current limiting resistor R8 for RX line lovering it's value from default 1kOhm to somewhat about 300-500 Ohm. Or you may also solder an additional 800 to 1k resistor on top of an existing one.
When connectting multiple devices to same RX/TX lines it might be that GPIO's/optocoupler's current capacity would not be enough to pull the line levels. In that case it might help removing R4 resistor from TX path or lowering value even more for R8 RX path. Be sure to leave at least ONE device with R4 inplace!
I was able to drive 3 PZEMs on the same line without removing R4.
olehs WiKi - Basic-Setup
olehs WiKi - Make PZEM 3.3v compatible
olehs WiKi - Connecting PZEM to ESP8266
TheHWcave - reverse-engineered schematics and interface software (python)