ESP32 sensor modules compared

The sensors people actually wire to ESP32s, organised around the questions you're really asking: does it work with ESPHome? (the ESPHome column links the exact component) · which of these near-identical part numbers do I want? (each page has a "vs" answer) · is the cheap one fake? (the clone-risk column — counterfeit DS18B20s and BMP280s sold as BME280s are rampant) · will it run on battery?

Specs and prices are community/vendor-sourced (checked July 2026), not datasheet-verified. Street prices move; clone quality moves more.

40 of 40 sensors

Sensor Category Measures Interface ESPHome Clone risk Battery Price Buy
Sensirion SCD41risingAir qualityco2, temperature, humidityI2Cnativelow$9–16Buy →
Sensirion SCD40Air qualityco2, temperature, humidityI2Cnativelow$8–13Buy →
Winsen MH-Z19B/C/EdecliningAir qualityco2UARTnativehigh$10–14Buy →
SenseAir S8Air qualityco2UARTnativemedium$12–20Buy →
Sensirion SGP41Air qualityvoc, noxI2Cnativelow$4–8Buy →
ENS160 (+AHT21 combo)risingAir qualityvoc, co2I2Cnativemedium$3–5Buy →
Bosch BME680 / BME688Air qualityvoc, temperature, humidity, pressureI2Cnativemedium$4–9Buy →
Plantower PMS5003 / PMS7003Air qualitypmUARTnativelow$10–16Buy →
Sensirion SHT40/SHT41/SHT45risingTemperature & humiditytemperature, humidityI2Cnativelow$1–3Buy →
Sensirion SHT31 (GY-SHT31-D)Temperature & humiditytemperature, humidityI2Cnativelow$1–3Buy →
AHT20 / AHT30Temperature & humiditytemperature, humidityI2Cnativelow$1–2Buy →
Bosch BME280Temperature & humiditytemperature, humidity, pressureI2Cnativehigh$2–4Buy →
Bosch BMP280Temperature & humiditytemperature, pressureI2Cnativelow$1–2Buy →
DHT22 / AM2302decliningTemperature & humiditytemperature, humidity1-Wirenativemedium$2–3Buy →
DS18B20 (waterproof probe)Temperature & humiditytemperature1-Wirenativehigh$1–2Buy →
VL53L0X (ToF)Distance & leveldistanceI2Cnativelow$1–3Buy →
VL53L1X (ToF, 4 m)Distance & leveldistanceI2Cexternalmedium$3–5Buy →
HC-SR04 (ultrasonic)Distance & leveldistanceGPIOnativelow$1–2Buy →
JSN-SR04T (waterproof ultrasonic)decliningDistance & leveldistanceGPIOnativelow$4–6Buy →
Capacitive soil moisture v1.2/v2.0Garden & weathersoil-moistureanalogadc-generichigh$1–2Buy →
AS3935 lightning detectorGarden & weatherlightningI2Cnativehigh$5–9Buy →
BH1750 (GY-302)Light & UVluxI2Cnativelow$1–2Buy →
VEML7700risingLight & UVluxI2Cnativelow$2–3Buy →
LTR390 (UV)Light & UVuv, luxI2Cnativelow$2–4Buy →
HX711 + load cellsMore staplesweightGPIOnativemedium$1–4Buy →
MPU6050 (GY-521)eolMore staplesaccelerationI2Cnativehigh$1–2Buy →
DS3231 RTCMore staplestimeI2Cnativemedium$1–2Buy →
u-blox NEO-6M (GPS)decliningMore stapleslocation, timeUARTnativehigh$3–5Buy →
MQ-series gas (MQ-2/135…)avoidMore staplesgasanalogadc-genericmedium$1–2Buy →
INA219Power & energyvoltage, current, powerI2Cnativelow$1–2Buy →
INA226risingPower & energyvoltage, current, powerI2Cnativemedium$2–4Buy →
PZEM-004T v3Power & energyvoltage, current, power, energyUARTnativelow$7–11Buy →
SCT-013 CT clampPower & energycurrentanalognativelow$3–6Buy →
HLK-LD2410 (B/C)Presence & motionpresence, motionUARTnativemedium$3–6Buy →
HLK-LD2450risingPresence & motionpresence, motion, positionUARTnativemedium$6–10Buy →
HLK-LD2412risingPresence & motionpresence, motionUARTnativelow$5–8Buy →
HLK-LD2420Presence & motionpresence, motionUARTnativehigh$2–3Buy →
DFRobot C4001 (SEN0609/SEN0610)risingPresence & motionpresence, motionUARTexternalnone$12–15Buy →
HC-SR501 PIRPresence & motionmotionGPIOadc-genericmedium$1–2Buy →
AM312 mini PIRPresence & motionmotionGPIOadc-genericmedium$1–2Buy →

The short version, by job

Guides

Before you buy: the three traps

  1. Fakes are the norm in some categories. Essentially all AliExpress DS18B20 probes are counterfeit, "BME280" listings routinely ship humidity-less BMP280s, and black-PCB MH-Z19 clones read dangerously low. The full exposé, with detection checks — plus the clone-risk column above.
  2. "eCO2" is not CO2. Sensors that "estimate CO2 from VOC" (ENS160, BME680, the late SGP30) won't notice a room full of sleeping people. If the number matters, buy NDIR (SCD41, SenseAir S8).
  3. Calibration is part of ownership. CO2 sensors auto-calibrate assuming weekly fresh air (wrong in bedrooms — disable it), soil probes need per-unit wet/dry values, and mmWave needs gate tuning before you trust it.

Looking for the board to wire these to? See the dev boards and the display-board comparison.