Comment choisir un capteur
Partez de ce que vous devez savoir, pas du capteur fourni dans votre kit. Pour un thermomètre d’intérieur, ±0,5 °C suffit ; contre les moisissures ou dans une serre, un capteur d’humidité à ±2 % HR vaut la peine ; une station météo qui compare la pression aux prévisions demande une bonne précision absolue, tandis qu’un altimètre demande une bonne précision relative.
Regardez ensuite comment il se branche. Les capteurs I²C partagent deux fils avec d’autres composants tant que leurs adresses diffèrent ; les DHT11 et DHT22 utilisent leur propre protocole à fil unique, le DS18B20 utilise le 1-Wire et la plupart des capteurs de CO₂ et de particules passent par une UART. Avec un ESP32 ou un Raspberry Pi Pico, préférez les capteurs qui fonctionnent en 3,3 V ou dont les lignes de données sont en 3,3 V.
Température et humidité : l’emplacement compte plus que la puce
L’humidité relative dépend de la température : un capteur plus chaud de 2 °C que la pièce affiche une humidité trop basse de plusieurs points, quoi que dise sa datasheet. Placez-le loin du microcontrôleur, du régulateur et de l’antenne Wi-Fi, idéalement au bout d’un câble court ou dans un boîtier ventilé, et à l’abri du soleil direct.
Les DHT11 et DHT22 sont bon marché et simples, mais lents et moins précis. Les AHT20, SHT31, SHT4x, HTU21D, Si7021 et HDC1080 sont des capteurs I²C à ±0,2 à ±0,3 °C typiques ; parmi eux, le SHT4x est le plus précis en humidité. Le BME280 ajoute la pression au prix d’un peu de précision, et les DS18B20 et TMP117 ne mesurent que la température.
CO₂ réel ou eCO₂
Les capteurs NDIR et photoacoustiques (MH-Z19C, SCD30, SCD40, SCD41) mesurent le CO₂ lui-même, ce qui indique quand une pièce a besoin d’air. Les capteurs à oxyde métallique (SGP30, SGP40, SGP41, ENS160, CCS811, BME680) réagissent aux composés organiques volatils : certains en tirent une estimation de « eCO₂ », mais ce n’est pas une mesure du CO₂. Ils repèrent bien la cuisine, les produits ménagers ou la peinture, et sont plus petits et moins chers.
Ultrasons, infrarouge ou laser pour la distance
Les modules à ultrasons comme le HC-SR04 ont un faisceau large et fonctionnent sur le verre et les surfaces sombres, mais les matériaux mous absorbent l’écho. Les capteurs laser à temps de vol (VL53L0X, VL53L1X, VL53L4CD) et le LiDAR TF-Luna ont un faisceau étroit et conviennent aux petites cibles, mais le soleil et les surfaces sombres réduisent leur portée. Pour une cuve d’eau, le choix habituel est le JSN-SR04T étanche.
Chaque capteur I²C renvoie à sa fiche dans la liste des adresses I²C, avec le câblage, les résistances de rappel et les conflits. Pour un projet sur batterie, ajoutez le courant du capteur à celui du reste de la carte dans le calcul d’autonomie de batterie.
Sources : datasheets et pages produit des fabricants (Sensirion, Bosch Sensortec, Texas Instruments, Analog Devices, Silicon Labs, TE Connectivity, Aosong, Infineon, STMicroelectronics, Benewake, Sharp, ROHM, ams OSRAM, Vishay, Winsen, ScioSense, Plantower, Nova Fitness) et documentation d’ESPHome, vérifiées en novembre 2026.
Questions fréquentes
Quel est le meilleur capteur de température et d’humidité pour un ESP32 ?
Pour la précision, un Sensirion SHT4x ou SHT31 en I²C : ±0,2 °C et ±1,8 ou ±2 % HR typiques. L’AHT20 coûte moins cher et s’en approche (±0,3 °C, ±2 % HR). Prenez le BME280 si vous voulez aussi la pression, et gardez le DHT22 pour les projets simples. Quel que soit votre choix, montez-le loin des parties chaudes de la carte.
DHT22 ou BME280 : lequel choisir ?
Le DHT22 est donné pour ±0,5 °C et ±2 % HR typiques, le BME280 pour ±1 °C (±0,5 °C à 25 °C) et ±3 % HR. Le BME280 ajoute la pression, fonctionne en I²C ou en SPI et consomme 0,1 µA en veille contre environ 50 µA, il convient donc aux projets sur batterie ; le DHT22 est lent et utilise son propre protocole à fil unique. Pour une humidité précise, un SHT4x fait mieux que les deux.
Pourquoi mon capteur affiche-t-il une humidité trop basse à l’intérieur ?
Le plus souvent parce qu’il est plus chaud que la pièce. L’humidité relative baisse quand la température monte, donc un capteur chauffé par le microcontrôleur, le régulateur ou le soleil voit un air trop sec. Éloignez-le de la carte, au bout d’un câble court ou dans un boîtier ventilé, et comparez-le à un autre capteur après quelques minutes.
Les SGP30, ENS160 ou CCS811 mesurent-ils le CO₂ ?
Non. Ce sont des capteurs de gaz à oxyde métallique qui réagissent aux composés organiques volatils et en tirent une estimation de « eCO₂ ». Pour connaître le vrai taux de CO₂, par exemple pour savoir quand aérer une pièce, utilisez un capteur NDIR ou photoacoustique comme le SCD40, le SCD41, le SCD30 ou le MH-Z19C.
HC-SR04 ou VL53L0X ?
Le HC-SR04 atteint 4 m avec un faisceau large et voit le verre, mais il demande du 5 V et un pont diviseur sur sa broche d’écho avec une carte en 3,3 V. Le VL53L0X est un petit capteur laser I²C en 3,3 V au faisceau étroit : environ 1,2 m sur du blanc en intérieur, jusqu’à 2 m dans le noir, moins au soleil. Pour une cuve d’eau, prenez le JSN-SR04T étanche.
Puis-je brancher deux capteurs qui ont la même adresse I²C ?
Seulement si le capteur permet de la changer : beaucoup ont une broche d’adresse (BME280, SHT31, TMP117), les VL53 se renumérotent par logiciel et, sur le SHT4x, l’adresse dépend de la référence. Sinon, utilisez un multiplexeur comme le TCA9548A, ou un second bus I²C sur l’ESP32.
Lesquels de ces capteurs fonctionnent avec ESPHome ?
Presque tous ont un composant ESPHome officiel, indiqué dans le tableau. Ce n’est pas le cas des VL53L1X, VL53L4CD et Sharp GP2Y0A21 ; le capteur Sharp peut tout de même être lu avec le composant adc. Le générateur ESPHome de ce site écrit la configuration des DHT11, DHT22, BME280, SHT3x et DS18B20.