Hi everyone,
I’ve attempted to setup my own air quality sensor using Pieters guide however I’m coming across some challenges. I’m using an ESP32-WROOM-32U along with a PMS5003T. I’ve got ESPHome set up properly as I’ve got multiple DIY WEMOS motion and ESP32 temperature sensors working well with it.
I’ve hooked everything up as best as I can according to Pieters guide except for the “d pins”. All the “d pins” on my ESP32-WROOM-32U are apparently reserved for internal use according to multiple sources I should not have anything on those pins. I’ve tried using PINS 33,34,16,17,TX,RX and am having no luck getting a reading. Home Assistant sees the ESP32 board but the air quality readings remain as “unknown”.
I do believe that the PMS5003T does work, as I do hear the fan turn on when the ESP32 is powered up.
Here is the last config I tried and have also tried (I added some comments which hopefully will better explain things).
Any help would be greatly appreciated. Thanks in advance!
esphome:
name: esphome-node-2
platform: ESP32
board: nodemcu-32s
# Enable logging
logger:
baud_rate: 0
level: DEBUG
# Enable Home Assistant API
api:
ota:
password: "511c0c9b8bf6d6b6ab51f5d9161f9fd6"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.16
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Node-2 Fallback Hotspot"
password: <removed>
captive_portal:
uart:
tx_pin: TX # Also tried pin GPIO1
# tx_pin: GPIO33 #Tried this when physically connected to pin 33
# tx_pin: GPIO17 #Tried this when physically connected to pin 17
rx_pin: RX
# tx_pin: GPIO32 #Tried this when physically connected to pin 32
# tx_pin: GPIO16 #Tried this when physically connected to pin 16
baud_rate: 9600
sensor:
- platform: pmsx003
type: PMSX003
pm_1_0:
name: "Particulate Matter <1.0µm Concentration"
pm_2_5:
name: "Particulate Matter <2.5µm Concentration"
pm_10_0:
name: "Particulate Matter <10.0µm Concentration"
# Commented the rest out for testing
# temperature:
# name: "Temperature"
# humidity:
# name: "Humidity"
# formaldehyde:
# name: "Formaldehyde Concentration"
#switch:
# - platform: gpio
# pin:
# number: GPIO26
# id: pms_set
# name: "Start measuring"
#interval:
# - interval: 120s
# then:
# - switch.turn_on: pms_set
# - delay: 20s
# - switch.turn_off: pms_set