My boring Blog

Home page di Mauro Frigerio

Migliora l'aria del tuo ufficio (o di casa) con un sensore DIY e Home Assistant

12-06-2025 Tempo di lettura 3 minuti Article

L’aria che respiriamo in casa o in ufficio è cruciale per il nostro benessere e la nostra produttività. Spesso, però, la qualità dell’aria interna può risentire di fattori come l’eccesso di anidride carbonica (CO2), che porta a sonnolenza e difficoltà di concentrazione. Per un po’ di tempo, ho cercato una soluzione per monitorare l’aria nel mio ufficio casalingo, ma le opzioni commerciali erano spesso costose e poco flessibili da integrare con la mia configurazione di Home Assistant.

Poi, quasi per caso, la “rivelazione”! Mi sono imbattuto nel sensore Sensirion SCD40. Questo piccolo gioiello prometteva di misurare CO2, temperatura e umidità. So che la qualità dell’aria include molti altri parametri, ma iniziare con questi tre dati fondamentali è un ottimo punto di partenza per avere un quadro generale.

Il cuore intelligente: ESP32-C3 e ESPHome

Un sensore da solo non basta. Per renderlo davvero integrabile nel mio ecosistema, ho deciso di collegarlo a un ESP32-C3, nello specifico la sua versione “supermini”, incredibilmente compatta e potente. La “programmazione” (e qui il virgolettato è d’obbligo, data la semplicità) è stata affidata a ESPHome, uno strumento fantastico che permette di configurare dispositivi IoT basati su ESP con una facilità disarmante, senza dover scrivere una riga di codice C++.

Connessioni semplici e veloci

Per far funzionare il tutto, bastano davvero pochi collegamenti. Ecco lo schema essenziale:

SCD40ESP32-C3Descrizione
GNDGNDMassa
VDD3.3VAlimentazione (3.3 Volt)
SCLGPIO 9Linea di clock I2C
SDAGPIO 8Linea dati I2C

Configurazione di ESPHome: pochi passi per grandi risultati

La vera magia avviene con la configurazione di ESPHome. È qui che definiamo come il sensore si interfaccia con l’ESP32-C3 e come i dati verranno esposti a Home Assistant. Ecco il file di configurazione YAML che ho utilizzato:

esphome:
  name: qualita-aria
  friendly_name: Qualità aria
  min_version: 2024.11.0 # Assicurati di avere una versione recente di ESPHome
  name_add_mac_suffix: false # Per un nome pulito in Home Assistant

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf # Il framework preferito per ESP32-C3

# Abilita il logging per il debug
logger:

# Abilita l'API di Home Assistant per l'integrazione diretta
api:

# Consente aggiornamenti del firmware "Over-The-Air" (OTA)
ota:
  - platform: esphome

# Configurazione Wi-Fi (le credenziali sono nascoste per sicurezza)
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Configurazione del bus I2C
i2c:
  sda: GPIO8 # Pin SDA del sensore
  scl: GPIO9 # Pin SCL del sensore
  scan: true # Scansiona per dispositivi I2C al boot
  id: bus_a # Identificatore del bus I2C

# Definizione dei sensori SCD4x
sensor:
  - platform: scd4x
    co2:
      name: "CO2" # Nome più descrittivo per Home Assistant
    temperature:
      name: "Temperatura"
    humidity:
      name: "Umidità"
    # Compensazione dell'altitudine per misurazioni CO2 più accurate
    altitude_compensation: "320m" # Sostituisci con l'altitudine della tua zona!

Con questa configurazione, in pochi istanti avrete tutti i valori letti dal sensore disponibili direttamente in Home Assistant, pronti per essere visualizzati, automatizzati o utilizzati in qualsiasi modo desideriate.

Un tocco di professionalità: la custodia stampata in 3D

Certo, un sensore “nudo” e un ESP collegato con cavi volanti possono sembrare un po’ troppo “artigianali”. Per dare al progetto un aspetto più rifinito e professionale, ho pensato a una custodia.

Grazie ai modelli 3D disponibili su GrabCAD (per l’ESP32-C3 supermini e l’SCD40), ho potuto progettare e iterare una custodia su misura. Il risultato è un case funzionale, stampabile con una stampante 3D domestica in pochi minuti.

Trovate tutti i file della custodia (base e coperchio) su Printables: Case for SCD40 and ESP32-C3.

Questo piccolo progetto DIY mi ha fornito una soluzione di monitoraggio dell’aria completamente integrata e personalizzabile, proprio come piace a me! Fatemi sapere se avete provato a realizzare un progetto simile o se avete domande!