β οΈ Affiliate Disclosure: This post contains Amazon affiliate links. If you purchase through our links, we may earn a small commission at no extra cost to you. Every product below was checked against its live Amazon listing before publishing. Prices change often, so we don’t list them here. Tap any Buy Here button to see the current price on Amazon.
Ultimate Buying Guide
π‘οΈ Best Sensors for ESP32
15 sensors that work well with the ESP32’s 3.3 V logic: climate, true CO2, air quality, mmWave presence, motion, distance, light, power and soil moisture. Each one has a verified Amazon link, the right library to use and honest wiring notes.
β
15 Sensors Compared
β
Verified Amazon ASINs
β
3.3 V Wiring Notes
β
ESPHome Friendly
π§
Comparing ESP32 chips? Our
ESP32 chip comparison hub compares every ESP32 chip side by side and links to all of our ESP32 buying guides.
Sensors are what turn an ESP32 into something useful: a weather station, a CO2 monitor for a bedroom or classroom, a presence sensor that turns lights off when a room is empty, a plant-watering system, or a power meter for a solar battery. The ESP32 talks to nearly all of them over I2C, UART, one-wire or its ADC, and almost every sensor here has ready-made support in Arduino, ESP-IDF components and ESPHome.
This guide compares 15 sensors across nine categories. For each, we chose the specific Amazon listing with the strongest reviews or best value, and noted the one thing that trips people up, usually voltage levels, pull-up resistors or calibration.
π‘ Before you buy: ESP32 GPIOs are 3.3 V only and not 5 V tolerant. Most I2C breakouts here run happily at 3.3 V, but 5 V sensors such as the HC-SR04 need a voltage divider on their output. For analog sensors, use ADC1 pins (GPIO 32β39 on the original ESP32), because ADC2 is unavailable while Wi-Fi is on. And for accurate temperature readings, mount climate sensors away from the ESP32 board, which warms up when Wi-Fi is active.
β‘ Quick Comparison: All 15 Sensors
| Sensor | Measures | Interface | Best For | Buy |
|---|
| π₯ BME280 | Temp, humidity, pressure | I2C / SPI | Best Overall | Buy Here β |
| π
SCD41 | True CO2 + temp, humidity | I2C | Indoor Air (CO2) | Buy Here β |
| π― SHT31-D | Temp, humidity (Β±2% RH) | I2C | Accurate Humidity | Buy Here β |
| π«οΈ BME680 | Temp, humidity, pressure, VOC | I2C / SPI | 4-in-1 Air Quality | Buy Here β |
| π§ DHT22 / AM2302 (2-Pack) | Temp, humidity | Single-wire | Beginner Climate | Buy Here β |
| π DS18B20 Waterproof (5-Pack) | Temperature, β55 to 125 Β°C | 1-Wire | Liquids & Outdoors | Buy Here β |
| π PMS5003 | PM1.0, PM2.5, PM10 | UART | Particulate Matter | Buy Here β |
| π‘ LD2410C mmWave (3-Pack) | Human presence (24 GHz) | UART + GPIO | Room Presence | Buy Here β |
| πΆ AM312 Mini PIR (3-Pack) | Motion | Digital out | Battery Motion Sensors | Buy Here β |
| π¦ VL53L0X ToF (5-Pack) | Laser distance | I2C | Precise Short Range | Buy Here β |
| π¦ HC-SR04 Ultrasonic (2-Pack) | Ultrasonic distance | Trigger / echo | Tank Levels & Robots | Buy Here β |
| π§ MPU6050 GY-521 (3-Pack) | Accel + gyro (6-axis) | I2C | Motion & Tilt | Buy Here β |
| βοΈ BH1750 GY-302 (3-Pack) | Light (lux) | I2C | Light Automation | Buy Here β |
| π INA219 (2-Pack) | DC voltage, current, power | I2C | Battery & Solar Monitoring | Buy Here β |
| π± Songhe Capacitive Soil Moisture | Soil moisture | Analog (ADC) | Plant Watering | Buy Here β |
Specs come from the live Amazon listings and sensor datasheets. Pack sizes are for the specific listings linked.
π What to Look for in an ESP32 Sensor
β‘
3.3 V Compatibility
Choose breakouts that run at 3.3 V or have onboard regulators and level shifting. A 5 V output connected straight to an ESP32 GPIO can damage the pin over time.
π
Digital Over Analog
The ESP32’s ADC is noisy and slightly non-linear. Digital sensors (I2C, UART, 1-Wire) give calibrated readings without fiddly ADC tuning, so prefer them where you can.
π§΅
I2C Addresses
Many sensors can share one I2C bus as long as their addresses differ. Two identical sensors may need an address jumper, or the ESP32’s second I2C port.
π―
Accuracy vs Price
The DHT22 is cheap and fine for trends. For a thermostat or mold monitoring, an SHT31 or BME280 is more accurate and more stable over time.
π
Power Draw
For battery nodes with deep sleep, pick sensors with low standby current (BME280, SHT31, AM312). Fan-based particulate sensors and mmWave radar draw much more and suit mains-powered devices.
π Detailed Reviews: Sensors for ESP32
π₯ BEST OVERALL
BME280 Temperature, Humidity and Pressure Sensor
β 4.6/5 Β· The Sensor Every ESP32 Maker Should Own
3-in-1
TEMP Β· HUMIDITY Β· PRESSURE
Buy on Amazon β

Bosch’s BME280 measures temperature, humidity and barometric pressure in one tiny chip, which covers weather stations, room climate monitors and altitude estimation with a single breakout. This listing (about 4.6 stars from 110 ratings) supports both I2C and SPI and works from 3.3 V or 5 V, so it’s easy to wire to any ESP32. It draws only microamps between readings, which makes it ideal for battery-powered deep-sleep nodes, and it’s supported by the Adafruit and SparkFun BME280 libraries, ESP-IDF components and ESPHome’s bme280 platform. If you want more reviews, HiLetgo’s 3.3 V version (B01N47LZ4P, 236 ratings) is a solid alternative. Some cheap “BME280” boards actually carry a BMP280, which has no humidity sensor; if humidity reads zero, that’s why.
β
Pros- 3 measurements in one
- I2C or SPI, 3.3/5 V
- Very low sleep current
- Excellent library support
β Cons- BMP280 look-alikes exist
- Self-heats if read too often
- No air-quality reading
π― Verdict: The best all-round climate sensor for ESP32 projects.
π Check Price on Amazon β
π
BEST CO2 SENSOR
Teyleten Robot SCD41 CO2 Sensor Module
β 4.0/5 Β· True CO2, Not an Estimate
+ T/RH
BUILT-IN TEMP & HUMIDITY
2.4β5.5 V
I2C, <0.4 mA AVG
Buy on Amazon β

CO2 is the best single indicator of whether a room needs fresh air, and the Sensirion SCD41 measures it directly using photoacoustic sensing, rather than estimating it from VOCs the way “eCO2” sensors do. This Teyleten breakout (about 4.0 stars from 30 ratings) gives you Β±(40 ppm + 5%) accuracy, built-in temperature and humidity sensing, an I2C interface, a 2.4β5.5 V supply range and low average current (under 0.4 mA at 5 V in low-power mode). It’s the heart of most DIY CO2 monitors for bedrooms, offices and classrooms, and ESPHome supports it with the scd4x platform. Leave automatic self-calibration on and give it regular access to fresh outdoor air, or calibrate it manually outdoors.
β
Pros- Real CO2 measurement
- Temp + humidity included
- Small and low power
- ESPHome support
β Cons- Costs more than other sensors
- Needs calibration care
- Modest review count
π― Verdict: The sensor to buy if you want to know when to open a window.
π Check Price on Amazon β
π― BEST ACCURATE HUMIDITY Β· β 4.7/53. Teyleten Robot SHT31-D Temperature and Humidity Sensor
Sensirion SHT31 Β· 0β100% RH, Β±2% RH Β· β40 to 125 Β°C Β· I2C Β· 2.4β5.5 V
Buy Here β

When humidity accuracy matters, for mold prevention, a humidor, a greenhouse or an incubator, Sensirion’s SHT31 is a step up from the DHT22. This breakout (about 4.7 stars from 36 ratings) specifies Β±2% RH across the full 0β100% range and measures temperature from β40 to 125 Β°C over I2C, at 2.4β5.5 V. It has a built-in heater to clear condensation in very humid environments, and it’s supported by ESPHome’s sht3xd platform and common Arduino libraries. Sensirion’s newer SHT40 is similar and even smaller if you see a well-reviewed listing.
β
Pros: Β±2% RH; wide temp range; built-in heater; I2C.
β Cons: No pressure reading; fewer reviews than DHT22.
π― Verdict: The best ESP32 sensor for accurate, stable humidity readings.
π«οΈ BEST 4-IN-1 AIR QUALITY Β· β 4.2/54. ACEIRMC BME680 Environmental Sensor
Bosch BME680 Β· temperature, humidity, pressure and VOC gas Β· I2C or SPI
Buy Here β

The BME680 is the BME280’s bigger sibling: it adds a heated metal-oxide VOC gas sensor to temperature, humidity and pressure, so one breakout can flag cooking smells, cleaning products or a stuffy room. This ACEIRMC board (about 4.2 stars from 45 ratings) works over I2C or SPI. The raw gas reading is a resistance that changes with VOCs; to turn it into an IAQ index, use Bosch’s BSEC library, which ESPHome supports with its bme680_bsec platform. Note that its “eCO2” output is an estimate from VOCs, not real CO2, so pair it with an SCD41 if CO2 is what you need. HiLetgo’s version (B0CDWXZNY7) is also well rated.
β
Pros: 4 measurements; VOC trend; I2C or SPI.
β Cons: IAQ needs BSEC; eCO2 isn’t real CO2; burn-in period.
π― Verdict: The best single-chip air-quality and climate sensor for ESP32.
π§ BEST BEGINNER CLIMATE SENSOR Β· β 4.4/55. HiLetgo DHT22 / AM2302 Temperature and Humidity Sensor (2-Pack)
AOSONG AM2302 Β· single-bus digital output Β· module with mounting hole Β· 2 pieces
Buy Here β

The DHT22 (also sold as the AM2302) is the classic first sensor for ESP32 tutorials, and this HiLetgo 2-pack is the most-reviewed climate sensor in this guide (about 4.4 stars from 709 ratings). It uses a single data wire, the module includes the pull-up resistor, and libraries like DHT sensor library or ESPHome’s dht platform read it in a few lines. The trade-offs are speed and precision: it can only be read every two seconds, it’s less accurate and stable than an SHT31 or BME280, and its timing-sensitive protocol occasionally returns failed reads. It’s perfect for learning and for rooms where a degree either way doesn’t matter.
β
Pros: Cheap; one data wire; huge review base; endless tutorials.
β Cons: Slow; less accurate; occasional failed reads.
π― Verdict: The easiest climate sensor to start with, if not the most accurate.
π BEST FOR LIQUIDS & OUTDOORS Β· β 4.4/56. HiLetgo DS18B20 Waterproof Temperature Probe (5-Pack)
Stainless steel probe Β· β55 to 125 Β°C Β· 1-Wire bus Β· red VCC, yellow data, black GND
Buy Here β

For aquariums, pools, hot-water tanks, fermenters, freezers and soil temperature, the DS18B20 in a stainless-steel waterproof probe is the standard choice. This HiLetgo 5-pack (about 4.4 stars from 378 ratings) covers β55 to 125 Β°C on the 1-Wire bus, which means you can connect several probes to a single ESP32 GPIO and read each by its unique address. Add one 4.7 kΞ© pull-up resistor between the data and 3.3 V lines, since bare probes don’t include it. Use the OneWire and DallasTemperature libraries or ESPHome’s dallas_temp platform. Only 5 were left in stock when we checked.
β
Pros: Waterproof; many probes on one pin; wide range.
β Cons: Needs a pull-up; temperature only; low stock.
π― Verdict: The temperature sensor to use anywhere it might get wet.
π BEST PARTICULATE SENSOR Β· β 4.3/57. PMS5003 Laser PM2.5 / PM10 Particle Sensor with Cable
Plantower PMS5003 (G5) Β· laser scattering Β· PM1.0, PM2.5, PM10 Β· UART Β· cable included
Buy Here β

Smoke from wildfires, cooking or a wood stove shows up as fine particulates, which CO2 and VOC sensors can’t see. Plantower’s PMS5003 uses a small fan and a laser to count particles and reports PM1.0, PM2.5 and PM10 concentrations over UART. It’s the sensor behind many community air-quality monitors, and this listing (about 4.3 stars from 72 ratings) includes the connector cable. Power it from 5 V (the fan needs it) while its serial lines use 3.3 V logic that suits the ESP32. ESPHome supports it via the pmsx003 platform. Because the fan draws continuous current and wears over time, use the SET pin to sleep it between readings.
β
Pros: Measures PM1/2.5/10; UART; widely supported.
β Cons: Needs 5 V; fan noise and wear; mains-powered use.
π― Verdict: The standard sensor for smoke and PM2.5 monitoring.
π‘ BEST PRESENCE SENSOR Β· β 4.4/58. HLK-LD2410C 24 GHz mmWave Human Presence Sensor (3-Pack)
24 GHz FMCW radar Β· detects stationary and moving people Β· UART + digital output Β· Bluetooth configuration
Buy Here β

A PIR sensor only sees movement, so lights switch off while you’re sitting still reading. The LD2410C is a 24 GHz FMCW radar that detects people who are sitting or lying still by picking up breathing-level motion, which makes it the go-to sensor for reliable room occupancy in Home Assistant. This 3-pack (about 4.4 stars from 57 ratings) gives you a sensor for several rooms. It has a simple digital presence output plus UART for distance and per-zone sensitivity, which ESPHome exposes through its ld2410 component, and the “C” version can also be tuned over Bluetooth with HiLink’s app. Power it from 5 V; its signal pins use 3.3 V logic.
β
Pros: Detects still people; tunable zones; ESPHome support; 3-pack.
β Cons: Needs tuning to avoid false triggers; higher current than PIR.
π― Verdict: The best sensor for “is anyone in this room?” automations.
πΆ BEST BATTERY MOTION SENSOR Β· β 4.2/59. HiLetgo AM312 Mini PIR Motion Sensor (3-Pack)
Passive infrared Β· digital output Β· DC 2.7β12 V Β· miniature size
Buy Here β

For battery-powered motion sensors, hallway night-lights and wake-on-motion cameras, the tiny AM312 PIR is a better match for the ESP32 than the larger HC-SR501. It runs from 2.7β12 V, so it works directly from the ESP32’s 3.3 V rail, and its digital output can wake an ESP32 from deep sleep as an external wake-up source. This HiLetgo 3-pack has about 4.2 stars from 250 ratings. It has a fixed short hold time and no adjustment pots, which keeps it simple. Only 6 were in stock when we checked.
β
Pros: Runs at 3.3 V; tiny; very low power; deep-sleep wake-up.
β Cons: Motion only; no adjustments; shorter range.
π― Verdict: The best motion sensor for battery-powered ESP32 devices.
π¦ BEST PRECISE DISTANCE Β· β 4.4/510. VL53L0X Time-of-Flight Laser Distance Sensor (5-Pack)
ST VL53L0X Β· 940 nm laser Β· time-of-flight ranging Β· I2C
Buy Here β

ST’s VL53L0X measures distance by timing a pulse of invisible 940 nm laser light, so it’s far more precise and has a much narrower beam than ultrasonic sensors, and it works on soft surfaces that absorb sound. It’s ideal for robot obstacle detection, gesture-triggered switches, mailbox and parcel sensors, and short-range object counting, typically up to about 1β2 m depending on the surface and lighting. This 5-pack (about 4.4 stars from 33 ratings) uses I2C. All units share the same default address, so use the XSHUT pins to assign new addresses at boot when using several. ESPHome supports it with vl53l0x.
β
Pros: Precise; narrow beam; I2C; small; 5-pack.
β Cons: Short range; affected by strong sunlight.
π― Verdict: The best ESP32 sensor for precise short-range distance.
π¦ BEST ULTRASONIC DISTANCE Β· β 4.6/511. WWZMDiB HC-SR04 Ultrasonic Distance Sensor (2-Pack)
40 kHz ultrasonic Β· trigger and echo pins Β· 5 V module Β· 2 pieces
Buy Here β

The HC-SR04 is the familiar two-eyed ultrasonic sensor, and it’s still the cheapest way to measure distances of several metres, such as water-tank levels, parking sensors and robot bumpers. This WWZMDiB 2-pack has about 4.6 stars from 228 ratings. The important ESP32 caveat: the classic HC-SR04 is a 5 V module and its ECHO pin outputs 5 V, so put a simple voltage divider (for example 1 kΞ© and 2 kΞ©) between ECHO and the ESP32 GPIO. The TRIG input is happy with a 3.3 V pulse. ESPHome supports it with the ultrasonic platform. For wet environments like tanks, look for a waterproof JSN-SR04T instead.
β
Pros: Several metres of range; cheap; great reviews.
β Cons: 5 V echo needs a divider; wide beam; not waterproof.
π― Verdict: The budget long-range distance sensor; just remember the voltage divider.
π§ BEST MOTION & TILT SENSOR Β· β 4.5/512. HiLetgo GY-521 MPU6050 Accelerometer and Gyroscope (3-Pack)
3-axis accelerometer + 3-axis gyroscope Β· onboard DMP Β· I2C Β· 3 pieces
Buy Here β

The MPU6050 on a GY-521 breakout is the most-reviewed sensor in this guide (about 4.6 stars from 802 ratings for this HiLetgo 3-pack). It combines a 3-axis accelerometer and 3-axis gyroscope over I2C, which is everything you need for tilt sensing, step and vibration detection, self-balancing robots, gesture controllers and drone experiments. Its onboard motion processor can fuse the readings into orientation, and libraries like Adafruit MPU6050 and I2Cdevlib make it straightforward. TDK has discontinued the original chip, so modules on the market vary; it remains fine for hobby use, while newer IMUs like the ICM-42688 suit precision work.
β
Pros: 6-axis; cheap 3-pack; huge community; I2C.
β Cons: Chip discontinued; gyro drift; no magnetometer.
π― Verdict: The easiest way to add motion and tilt sensing to an ESP32.
βοΈ BEST LIGHT SENSOR Β· β 4.5/513. HiLetgo GY-302 BH1750 Light Intensity Sensor (3-Pack)
ROHM BH1750FVI Β· ambient light in lux Β· I2C Β· 3 pieces
Buy Here β

An LDR (photoresistor) on the ADC only gives a rough “bright or dark” value. The BH1750 reports calibrated ambient light in lux over I2C, so automations like “turn on the lights below 50 lux” or “close the blinds above 20,000 lux” behave consistently. This HiLetgo 3-pack has about 4.5 stars from 81 ratings, with 16 in stock. Two units can share one I2C bus by setting the ADDR pin, and ESPHome supports it with the bh1750 platform. It’s also handy for plant-growth monitoring and display auto-brightness.
β
Pros: Calibrated lux; I2C; two addresses; cheap.
β Cons: Not weatherproof; no UV or colour data.
π― Verdict: The light sensor to use for reliable brightness-based automations.
π BEST POWER MONITOR Β· β 4.2/514. HiLetgo INA219 Bi-Directional DC Current and Power Sensor (2-Pack)
TI INA219 Β· high-side DC voltage, current and power Β· I2C Β· 2 pieces
Buy Here β

The INA219 measures DC bus voltage, current and power on the high side of a circuit and reports it over I2C, which makes it the easy way to monitor a solar panel, a 12 V battery, a USB device or your own ESP32’s deep-sleep current. This HiLetgo 2-pack has about 4.2 stars from 84 ratings. The common breakout uses a 0.1 Ξ© shunt for roughly Β±3.2 A, and the chip handles bus voltages up to 26 V DC. Up to four can share one bus with address jumpers, and ESPHome supports it with the ina219 platform. For mains (AC) power, use a dedicated isolated energy-monitoring module instead.
β
Pros: Voltage + current + power; I2C; addressable; 2-pack.
β Cons: DC only, up to 26 V; ~3.2 A with stock shunt.
π― Verdict: The best ESP32 sensor for battery, solar and DC power monitoring.
π± BEST SOIL MOISTURE SENSOR Β· β 4.3/515. Songhe Capacitive Soil Moisture Sensor
Capacitive sensing Β· corrosion resistant Β· analog output Β· garden watering
Buy Here β

Cheap two-prong resistive soil probes corrode within weeks. A capacitive soil moisture sensor measures moisture through a coated PCB with no exposed metal, so it lasts far longer in damp soil. This Songhe listing (about 4.3 stars from 227 ratings) is a popular choice for ESP32 plant monitors and automatic watering systems. It gives an analog output, so connect it to an ADC1 pin and calibrate by recording the reading in dry air and in a glass of water, then map between them. Seal the top electronics with heat-shrink or nail polish for outdoor use, and power it only when reading to save battery and reduce drift. Quality varies between capacitive sensor batches, so test each one.
β
Pros: Corrosion resistant; cheap; strong reviews; simple.
β Cons: Analog, needs calibration; electronics need sealing.
π― Verdict: The soil sensor to use for long-lasting ESP32 plant monitors.
π Which Sensor Do You Need?
π¦οΈ
Weather station?
BME280 + BH1750, with a DS18B20 for ground temperature.
π«
Indoor air quality monitor?
SCD41 for CO2 + PMS5003 for particulates, or a BME680 for VOCs.
π‘
Lights that know you’re there?
LD2410C mmWave for presence, AM312 for battery motion.
πͺ΄
Plant monitor?
Capacitive soil sensor + BH1750 + SHT31.
π’οΈ
Tank level or parking sensor?
HC-SR04 for metres, VL53L0X for precise short range.
βοΈ
Solar or battery monitor?
The INA219 for DC voltage, current and power.
π Sensor Wiring and Library Cheat Sheet
| Sensor | Power | ESP32 Wiring Note | ESPHome Platform |
|---|
| BME280 / BME680 | 3.3 V | I2C (SDA/SCL), address 0x76 or 0x77 | bme280 / bme680_bsec |
| SCD41 | 3.3β5 V | I2C, address 0x62 | scd4x |
| SHT31-D | 3.3 V | I2C, address 0x44 or 0x45 | sht3xd |
| DHT22 | 3.3 V | One GPIO; read every β₯2 s | dht |
| DS18B20 | 3.3 V | 4.7 kΞ© pull-up on data β οΈ | dallas_temp |
| PMS5003 | 5 V β οΈ | UART RX/TX at 3.3 V logic | pmsx003 |
| LD2410C | 5 V β οΈ | UART + OUT pin, 3.3 V logic | ld2410 |
| AM312 PIR | 3.3 V | Digital out; can wake from deep sleep | binary_sensor: gpio |
| VL53L0X | 3.3 V | I2C 0x29; XSHUT for multiple units | vl53l0x |
| HC-SR04 | 5 V β οΈ | Divider on ECHO to 3.3 V β οΈ | ultrasonic |
| MPU6050 | 3.3 V | I2C 0x68 or 0x69 | mpu6050 |
| BH1750 | 3.3 V | I2C 0x23 or 0x5C | bh1750 |
| INA219 | 3.3 V | I2C 0x40β0x45; in series with load | ina219 |
| Capacitive soil | 3.3 V | ADC1 pin only (Wi-Fi uses ADC2) β οΈ | adc |
I2C addresses are the common defaults for these breakouts; check your board’s address jumpers. β οΈ marks the wiring detail that most often causes problems.
β Frequently Asked Questions
Can I connect 5 V sensors to an ESP32?
You can power them from the 5 V (VIN) pin, but their output signals must not exceed 3.3 V at the ESP32’s GPIO. Use a resistor voltage divider for slow digital signals like the HC-SR04’s ECHO, or a bidirectional level shifter for I2C on 5 V-only modules. Most modern I2C breakouts run happily at 3.3 V, so no shifting is needed.
Why does my temperature sensor read too high?
The ESP32 and its voltage regulator warm up, especially with Wi-Fi on, and a sensor mounted on or near the board picks up that heat. Put the sensor on a short cable away from the board, read it less often, and use deep sleep between readings where you can. An offset correction in software can handle any remaining bias.
How many I2C sensors can I connect to one ESP32?
Many, as long as each has a different address and the total bus capacitance stays reasonable. The ESP32 has two I2C controllers, so two identical sensors with fixed addresses can go on separate buses. For more identical sensors, use an I2C multiplexer such as the TCA9548A.
What’s the difference between eCO2 and real CO2?
Sensors like the BME680, CCS811 and SGP30 estimate an “equivalent CO2” from VOC readings, which can be far off in real rooms. NDIR and photoacoustic sensors like the SCD41 measure CO2 molecules directly. If you’re making ventilation decisions, use a true CO2 sensor.
Should I buy a 37-in-1 sensor kit instead?
Assortment kits are fun for exploring, and HiLetgo’s 37-sensor kit (B01N5910XS) is a popular one, but most modules in them are basic analog or digital boards built for 5 V Arduinos. For real projects, the individual digital sensors in this guide are more accurate and work better at 3.3 V.
π Final Verdict: Best ESP32 Sensor for Every Job
The right sensor for what you want to measure:
π Best Waterproof Temperature: DS18B20 5-Pack
Buy Here βπ± Best Soil Moisture: Songhe Capacitive Sensor
Buy Here βIf you buy just one sensor, make it a BME280: three measurements, low power and excellent support. Add an SCD41 for real CO2, an LD2410C for rooms that know when you’re there, and DS18B20 probes anywhere that gets wet. Stick to digital, 3.3 V-friendly sensors where possible, and remember the voltage divider on 5 V outputs. To get started, see our ESP32 ESP-IDF getting started tutorial, publish your readings with our MQTT client tutorial, and run battery nodes for months with our deep sleep guide. To display your data, see our displays for ESP32 guide, and for every chip, our ESP32 chip comparison hub.
π¬ Building a weather station, an air monitor or a smart plant pot? Tell us what you want to measure in the comments below, and we’ll suggest the right sensors.
All Amazon links above use our affiliate tag (esp32tutorials-20). Purchasing through them supports esp32tutorials.com at no extra cost to you. Prices and availability change frequently, so always confirm the current price on Amazon before buying.
We are a team of experienced Embedded Software Developers with skills in developing Embedded Linux, RTOS, and IoT products from scratch to deployment with a demonstrated history of working in the embedded software industry. Contact us for your projects: admin@esp32tutorials.com