EnviroPlus HAT and PMS5003 with ESP Easy over I2C?


Has anyone managed to get an EnviroPlus HAT board with a PMS5003 working over I2C with an ESP-32 board using ESP Easy? I have managed to pull in sensor data over the serial port using jumper wires as shown in the attached screenshot but when trying to pull the data into ESP Easy via I2C even though the jumper wires are connected correctly (triple checked) and ESP Easy is setup to configure the correct GPIO pins for SDA and SCL.When trying to get data via I2C there are a good dozen I2C addresses listed and tried everyone. Anyone had any luck? and can kindly confirm what settings they used?

enviroplus to Adafruit ESP32-S3 ESP Easy

Pinout.xyz says that the relevant addresses are:

  • 0x76: BME280
  • 0x23: LTR559
  • 0x49: ADS1015

Most of those don’t seem to be in yout list, which makes me wonder if it’s not detecting them properly? It also seems too much of a coincidence that the addresses it has detected are contiguous. How do you have the HAT wired up to the ESP32 feather?

ok cheers. Ive got them connected together via male/female jumper wires but only the ones for the particle sensor so far. Im wondering if the particle sensor does actually go over I2C? as I am able to get hold of the values using TX and RX pins.

I don’t think the PMS uses i2c?
The product page says

  • UART serial interface

Maybe this will help?
Enviro Plus at Raspberry Pi GPIO Pinout

On a Pi it uses
Pin 8_ ,GPIO 14, UART TX
Pin 10 ,GPIO 15, UART RX
Pin 13 ,GPIO 27, Reset
Pin 15 ,GPIO 22, Enable

The Adafruit-version of the PMS5003 uses I2C, the Pimoroni version uses UART.


thanks!! that added to the confusion. got it working over serial interface :-)

1 Like