Guia del Menu CO2 Gadget: Navegacion, Configuracion y Calibracion

CO2 Gadget incluye un menu completo y uniforme que funciona tanto en la pantalla del medidor como a traves del puerto serie (USB). Lo que ves en la pantalla lo ves en el terminal serie, y viceversa, simultaneamente. Esto significa que puedes configurar tu medidor aunque no tenga pantalla ni botones, usando solo un programa de terminal.

Desde el menu puedes ver informacion del dispositivo, configurar todos los parametros (WiFi, MQTT, BLE, sensores, pantalla, bajo consumo, etc.), calibrar los sensores, guardar las preferencias y reiniciar el medidor.

Navegacion basica

Con botones (pantalla)

  • Pulsacion larga en el boton superior = Enter / seleccionar opcion
  • Pulsacion larga en el boton inferior = Atras / deseleccionar
  • Pulsacion corta en el boton superior = Arriba / anterior opcion
  • Pulsacion corta en el boton inferior = Abajo / siguiente opcion

Por puerto serie (USB)

Abre un terminal serie a 115200 baudios. Una vez conectado, pulsa la tecla * para entrar al menu. La navegacion se hace con las siguientes teclas:

  • Tecla * = Enter / seleccionar opcion
  • Tecla / = Atras / deseleccionar
  • Tecla + = Abajo / siguiente opcion
  • Tecla – = Arriba / anterior opcion

Ademas, los numeros y letras del teclado se usan directamente para introducir valores (SSID, contrasena, broker MQTT, etc.).

Atencion: Los caracteres /, *, + y - estan reservados para la navegacion del menu. Si necesitas introducir alguno de ellos en un campo (por ejemplo en el SSID o la contrasena WiFi), no podras hacerlo por el puerto serie y tendras que hacerlo desde la pantalla o la interfaz web.

Menu principal CO2 Gadget
Menu principal de CO2 Gadget

Estructura del menu

El menu principal tiene seis opciones. Desde aqui accedes a toda la funcionalidad del firmware:

  • Information — Informacion de solo lectura del dispositivo
  • Configuration — Ajuste de todos los parametros del medidor
  • Calibration — Calibracion del sensor de CO2
  • Save preferences — Guarda la configuracion actual en memoria no volatil (NVR)
  • Reboot — Reinicia el medidor (con confirmacion previa)
  • Exit — Sale del menu y vuelve a la pantalla principal con las mediciones

1. Information

Muestra datos de solo lectura del medidor: voltaje de bateria, fecha de compilacion del firmware, version completa, sabor de placa, tiempo de actividad (uptime), direccion IP y BLE Device ID. Util para diagnosticos rapidos.

Menu Information CO2 Gadget
Menu de informacion del dispositivo

2. Configuration

Es el nucleo del menu. Contiene los siguientes submenus, cada uno con sus propios ajustes:

Menu configuracion CO2 Gadget 1
Menu de configuracion (parte 1)
Menu configuracion CO2 Gadget 2
Menu de configuracion (parte 2)

CO2 Sensor

Selecciona el tipo de sensor de CO2 conectado y ajusta los parametros relacionados:

  • Sensor: Auto (I2C, Sensirion SCD30/SCD40/SCD41), MH-Z19, CM1106, Senseair S8
  • Autom. Cal: Activa o desactiva la calibracion automatica (ABC)
  • Pres. Comp: Compensacion por presion atmosferica en mbar (0-2000)
  • Altitude: Altitud en metros para correccion (0-9999)
  • Orange / Red: Umbrales de CO2 para los niveles naranja y rojo
  • Debug Sensors: Activa logs de sensores por el puerto serie para depuracion
Menu configuracion sensor CO2
Configuracion del sensor de CO2
Menu seleccion sensor CO2
Seleccion del tipo de sensor

BLE

Configuracion del Bluetooth Low Energy. Requiere que la placa ESP32 tenga BLE soportado:

  • BLE Enable: Activa o desactiva el modulo BLE completo
  • MyAmbiance: Activa la salida de datos para la app Sensirion MyAmbiance
  • BTHome: Activa el protocolo BTHome v2 para Home Assistant
  • BTHome Enc: Activa la encriptacion AES-CCM de los datos BTHome
  • BTHome key: Configura la bind key para BTHome encriptado
  • Publish Sensors: Selecciona que sensores se publican por BTHome (CO2, temperatura, humedad, bateria, PM2.5, presion, PM10, voltaje, PM1.0, PM4.0)
Menu configuracion BLE
Configuracion BLE y BTHome

WiFi

Configura la conexion WiFi del medidor: SSID, contrasena y hostname. Tambien permite cambiar de red sin necesidad de la app MyAmbiance.

Menu configuracion WiFi
Configuracion WiFi

MQTT

Configura el broker MQTT: servidor, puerto, topic, client ID, usuario y contrasena. Incluye soporte para MQTT Discovery de Home Assistant. Guia MQTT completa.

Menu configuracion MQTT
Configuracion MQTT

ESP-NOW

Configura la comunicacion peer-to-peer con otros dispositivos ESP32 sin necesidad de router. Parametros: direccion MAC del peer y canal WiFi. Guia ESP-NOW completa.

Menu configuracion ESP-NOW
Configuracion ESP-NOW

Battery

Ajusta los parametros de bateria: voltaje de referencia (por defeco 3.3V), voltaje de bateria llena y vacia, para un calculo preciso del porcentaje de carga. Guia Low Power completa.

Menu configuracion bateria
Configuracion de bateria

Temperature

Permite ajustar un offset de temperatura (por ejemplo si el sensor esta en una camara cerrada que se calienta por el propio ESP32). Tambien permite cambiar las unidades del display entre Celsius y Fahrenheit.

Menu configuracion temperatura
Configuracion de temperatura

Display

Opciones de la pantalla del medidor (segun el tipo de display conectado):

  • Brightness: Brillo de la pantalla (solo TFT y OLED)
  • Off on USB: Apaga la pantalla cuando el medidor recibe alimentacion USB
  • Orient: Normal o invertido (rota 180 grados la pantalla)
  • Wake on CO2: Activa la pantalla al detectar CO2 alto (umbral naranja)
Menu configuracion display
Configuracion del display

Outputs

Configuracion de las salidas fisicas del medidor:

  • GPIO Outputs: Selecciona si las salidas GPIO se usan para LEDs o reles
  • Buzzer: OFF (sin alarma), One time (pita una vez al alcanzar el rojo), Every x (se repite cada x segundos, configurable de 5s a 5 min)
  • NeoPixel: Configura la tira de LEDs direccionables
Menu configuracion salidas
Configuracion de salidas
Menu configuracion buzzer
Configuracion del buzzer

Low Power

Configura el modo de bajo consumo: intervalos de sueño profundo, activacion por CO2, activacion por timer, activacion por boton y que sensores/publicaciones se activan al despertar. Guia Low Power completa.

3. Calibration

Acceso directo a la calibracion del sensor de CO2:

  • Autom. Cal. Activa o desactiva la calibracion automatica (ABC)
  • Calibrate at 400ppm — Calibracion forzada con referencia de aire limpio (400 ppm)
  • Custom Cal — Introduce un valor de referencia personalizado (400-2000 ppm)
  • Calibrate at custom ppm — Ejecuta la calibracion con el valor personalizado
Menu calibracion
Menu de calibracion

4. Save preferences

Guarda todas las preferencias actuales en la memoria no volatil (NVR) del ESP32. Es importante guardar antes de salir del menu o desconectar el medidor, especialmente si has cambiado parametros de WiFi o MQTT.

Al guardar, el sistema comprueba automaticamente: si MQTT esta activo al despertar, activa WiFi al despertar si es necesario. Lo mismo con ESP-NOW.

5. Reboot

Reinicia el medidor. Aparece un mensaje de confirmacion “Reboot w/o saving” para evitar reinicios accidentales. Si seleccionas “Yes”, se ejecuta un reinicio completo del ESP32. El sensor SCD30 se resetea antes del reinicio si esta presente.

Low Power (bajo consumo)

Este submenu es uno de los mas importantes del firmware, especialmente si quieres que tu medidor funcione con bateria. CO2 Gadget utiliza un sistema binario con dos modos: HIGH_PERFORMANCE (medicion continua) y LOW_POWER (deep sleep). Desde aqui se configuran todos los parametros relacionados.

  • L.P. Mode: Muestra el modo actual. En LOW_POWER el medidor entra en deep sleep entre mediciones.
  • Wait: Tiempo de espera (en segundos) antes de entrar en deep sleep tras la ultima medicion. Permite que el sensor estabilice la lectura.
  • Sleep: Tiempo minimo (en segundos) que el medidor permanece en deep sleep entre ciclos.
  • WiFi every: Cada cuantos ciclos de deep sleep se activa el WiFi para enviar datos (0 = nunca, 1 = cada ciclo, etc.).
  • Redraw every: Cada cuantos ciclos se redibuja la pantalla completa. Ahorra energia en displays E-Ink.
  • BLE wake: Si esta ON, el medidor anuncia BLE/BTHome al despertar.
  • WiFi wake: Si esta ON, conecta WiFi al despertar (necesario para MQTT).
  • MQTT wake: Si esta ON, publica los datos por MQTT al despertar. Requiere WiFi wake.
  • ESP-NOW wake: Si esta ON, envia datos por ESP-NOW al despertar. Requiere WiFi wake.
  • Display wake: Si esta ON, enciende la pantalla al despertar. Util para no encenderla si solo quieres enviar datos.
  • Display reverse wake: Si esta ON, enciende la pantalla cuando el CO2 BAJA del umbral naranja. Util para mostrar “todo bien” tras una alerta.

Nota: Las capturas de pantalla de este menu estan pendientes de actualizar. La configuracion exacta depende de tu placa y del tipo de pantalla. Consulta la Guia de Bajo Consumo para una explicacion detallada.

BTHome Publish Sensors

Dentro del submenu BLE > BTHome, la opcion “Publish Sensors” permite seleccionar exactamente que sensores se anuncian por BTHome. Los sensores se organizan en tres grupos:

  • Core: CO2, Temperature, Humidity, Battery (activados por defecto)
  • Optional: PM2.5, Pressure, PM10, Battery Voltage
  • No BTHome object: PM1.0, PM4.0 (usan IDs no estandar 0xEE/0xEF; Home Assistant no los parsea)

Cada sensor es un toggle ON/OFF. El menu muestra automaticamente que sensores estan disponibles segun el hardware conectado, y cuales se omiten por presupuesto de bytes del anuncio BLE. Los sensores de PM se desactivan automaticamente en LOW_POWER (el ventilador no tiene tiempo de calentarse en una ventana de wake corta).

La opcion “BTHome key” inicia un asistente por puerto serie para introducir o generar una bind key de 32 caracteres hexadecimales para encriptacion AES-CCM. Tambien se puede generar automaticamente dejando el campo en blanco.

WiFi Config (detalle)

Ademas de SSID, contrasena y hostname, el menu WiFi incluye:

  • WIFI Enable: Activa o desactiva el modulo WiFi. Cuando esta OFF, el medidor funciona solo por BLE.
  • Web pwd visible: Muestra u oculta los caracteres de la contrasena WiFi al escribirla en el menu.
  • Fixed IP: Permite configurar una IP estatica si no quieres usar DHCP (direccion IP, mascara, puerta de enlace).

Display Config (detalle ampliado)

Las opciones de pantalla se han ampliado respecto a versiones anteriores:

  • Brightness: Brillo de la pantalla (solo TFT y OLED, rango 0-255).
  • Off on USB: Apaga la pantalla cuando el medidor recibe alimentacion por USB (util para no tener luz por la noche).
  • Orient: Normal o Reversed. Rota la pantalla 180 grados. Al invertirla, los botones intercambian su funcion arriba/abajo.
  • Temp / Humidity / Battery / CO2 / PM2.5: Toggles Show/Hide para cada parametro en la pantalla principal.
  • Time to display off: Tiempo en segundos tras el cual la pantalla se apaga automaticamente (solo TFT/OLED).

ESP-NOW Config

La configuracion de ESP-NOW incluye un toggle de activacion y dos campos adicionales:

  • ESP-NOW Enable: Activa o desactiva ESP-NOW.
  • Time between ESP-NOW publish: Intervalo (en segundos) entre envios de datos por ESP-NOW.
  • Board ID: Identificador unico del dispositivo en la red ESP-NOW.
  • Peer MAC: Direccion MAC del dispositivo destino. Por defecto esta en broadcast (FF:FF:FF:FF:FF:FF).

Battery Config

Configuracion precisa de la bateria para un calculo correcto del porcentaje:

  • Battery Voltage: Muestra el voltaje actual en vivo (solo lectura).
  • vRef: Voltaje de referencia del ADC del ESP32 (tipicamente 3.3V o 1.1V segun la placa).
  • Battery Full: Voltaje en milivoltios cuando la bateria esta completamente cargada.
  • Battery Empty: Voltaje en milivoltios cuando la bateria esta practicamente descargada.

Estos valores permiten a CO2 Gadget calcular el porcentaje de bateria restante de forma precisa. Si los valores no son correctos para tu bateria, ajustalos desde este menu.

Temperature Config

Configuracion del sensor de temperatura:

  • Offset: Permite compensar la lectura de temperatura si el sensor esta cerca del ESP32 y se calienta. Por ejemplo, en un montaje sandwich, un offset de -2 a -5 grados suele ser adecuado.
  • Dec places: Numero de decimales a mostrar en la temperatura en el display.

Outputs Config (detalle)

Ademas del buzzer, el menu de salidas incluye configuracion de los LEDs NeoPixel:

  • GPIO Outputs: Selecciona si las salidas GPIO se usan para LEDs o reles (modo de funcionamiento).
  • Buzzer: OFF, One time (pita una vez al llegar al rojo), Every x (se repite cada N segundos, configurable entre 5s y 5 min).
  • Neopixels: Tipo de tira NeoPixel conectada.
  • Neopixel brightness: Brillo de los LEDs NeoPixel (0-255).

Capturas de pantalla adicionales

Para referencia visual, aqui tienes el aspecto del menu en las distintas pantallas compatibles:


Te ha sido util? Comparte este articulo. Tienes dudas? Pregunta en el grupo de Telegram.

Deja un comentario