Aquí tienes las respuestas a las preguntas más frecuentes sobre el proyecto CO₂ Gadget: qué es, cómo se construye, qué sensores usar, cómo configurarlo, integrarlo con Home Assistant, resolver problemas comunes y mucho más.
Muchos de los cambios aplicados a través de la página web requieren un reinicio del medidor.
En la propia página de configuración tienes un botón que te permite hacer el reinicio (recuerda guardar primero los cambios).
Por motivos de seguridad, los campos de contraseña están deshabilitados de forma predeterminada. Esto se debe a que las contraseñas se transmiten en texto plano a través de la red, lo que podría permitir su captura mediante un “sniffer” u otras técnicas.
El método recomendado y más seguro para configurar la contraseña es a través del menú en pantalla, el menú USB, o mediante Bluetooth utilizando la aplicación MyAmbiance.
Si deseas habilitar la edición de la contraseña, deberás agregar el parámetro relaxedSecurity=true a la URL:
http://ip_del_medidor/preferences.html?relaxedSecurity=true
CO2 Gadget está completamente soportado por Home Assistant. ¡No tienes que hacer nada!
Gracias al MQTT Discovery, Home Assistant detectará CO2 Gadget automáticamente y lo verás en Home Assistant sin tener que hacer nada.
¡Por supuesto!
En cuanto configures CO2 Gadget para que se conecte a tu broker MQTT, Home Assistant descubrirá el medidor de CO2 automáticamente y lo verás en Home Assistant sin que tengas que hacer nada.
La configuración a través de la página web tiene un control de errores limitado, por lo que es muy importante que seas muy cuidadoso con los datos que introduces.
Si los cambios impiden que CO2 Gadget se inicie o configurarlo correctamente, puede que tengas que borrar la memoria flash.
Si necesitas reiniciar la configuración de CO2 Gadget, tendrás que borrar su memoria flash.
La forma más fácil de hacerlo es mediante el grabador web, seleccionando la opción “Erase device”:
Esto puede deberse a que tu instalación de Windows no tiene los drivers necesarios para comunicarse con él.
Normalmente Windows 10 debería descargarlo desde internet automáticamente, pero puede haber casos en los que no sea así.
Dependiendo del chip de comunicaciones que lleve tu placa ESP32 necesitarás uno u otro.
Elige la opción correspondiente a tu placa ESP32 y el sistema operativo de tu ordenador.
Drivers para CP2102 en Windows
Windows 10 – Windows 10 – Windows 10 debería descargarlo automáticamente
Windows 7/8/8.1
Drivers para CH341 en Windows
Windows – Windows 10 debería descargarlo automáticamente
Drivers para MacOS
MacOS – NodeMCU con chip CP2102
MacOS – NodeMCU con chip CH341
Drivers para Linux
No hace falta instalar los drivers. Puedes verificarlo con dmesg
Drivers para ch9102x en Windows
Algunas placas NodeMCU (pocas, de momento) llevan el chip ch9102x. Aquí puedes descargar el driver de ch9102x para Windows (página en chino, no la he encontrado en inglés) selecciona el primer enlace):
Parece ser que para que el ch9102x funcione correctamente es preferible no pasar de 115200 bps.
Esto es ANTES de que CO2 Gadget se cargue y normalmente tiene que ver con error de hardware (algo mal conectado, problemas de alimentación, cable USB, etc).
Aunque CO2 Gadget soporta otros sensores, y todos los sensores soportados son de buena calidad, te recomiendo uno de estos sensores:
Sensor Sensirion SCD30 (recomendado)
Senseair S8 LP (recomendado)
Esto suele deberse a un problema con la alimentación o el cableado.
Asegúrate de estar utilizando un cargador de buena calidad. Cualquier cargador de móvil que tenga una salida de más de 500 mA reales (te recomiendo 1 Amperio), servirá.
Si tienes problemas de funcionamiento o te da lecturas erróneas, prueba con un cargador que ponga que da 1000 o 2000 mA. Muchas veces los datos que dan los cargadores están muy lejos de su capacidad real.
Te recomiendo que uses un alimentador o cargador de calidad. La inmensa mayoría de problemas son debidos a problemas de alimentación.
Ten cuidado también con los cables. No te imaginas cuantos cables hay que dan problemas por su baja calidad.
Si te da problemas alimentándolo por USB prueba con otro cable USB. Hemos visto aquí muchos casos de cables USB de mala calidad que han dado problemas y al cambiar el cable por uno mejor se han resuelto todos los problemas.
Con la versión sándwich no deberías tener problemas con la conexión entre la placa y el sensor pero si estás haciendo la versión con el sensor unido a la placa mediante cables, procura que los cables sean lo más cortos que sea posible y que no sean extremadamente finos.
Si estás alimentando el sensor con una batería conectada directamente al terminal de batería de la placa TTGO T-Display (no una batería o powerbank conectado al puerto USB) y tienes lecturas erróneas o reinicios puede ser por uno de estos motivos:
1. Estás utilizando una batería en malas condiciones (o de muy poca capacidad)
El sensor necesita 3.3V estables para funcionar correctamente. Una batería en malas condiciones (vieja, muy gastada o que ha sufrido mal uso) puede no ser capaz de dar la intensidad necesaria sin que baje su voltaje, lo que podría causar que al sensor le llegaran menos de 3.3V
También puede haber caídas de voltaje si se utiliza una batería demasiado pequeña. Por ejemplo, una batería de 300mAh (por decir una capacidad ya que depende de la batería concreta) podría no ser capaz de mantener el voltaje cuando el medidor esté consumiendo 300mA.
2. El voltaje de la batería está por debajo del voltaje mínimo que el medidor necesita para funcionar.
El medidor necesita para funcionar a través de su conector interno de batería que el voltaje sea de al menos 3.5-3.6V (un poco más o menos dependiendo de la tolerancia de los componentes de tu placa particular). Por debajo de determinado voltaje de batería, no saldrán 3.3V por el pin 3V y el sensor dará medidas erróneas o tendrá un comportamiento extraño.
Este voltaje mínimo de 3.5-3.6V es el responsable, además, de que el medidor no “exprima” al máximo la energía de la batería y su autonomía se vea reducida. Puedes mejorar este punto utilizando un step up externo para alimentar el sensor a 5V (o step up down para alimentar el sensor a 3.3V) o un regulador de voltaje de baja caída de voltaje, como el MCP1700-3.3V, para alimentar el sensor de forma independiente directamente desde la batería sin pasar por la placa T-Display. En cuanto tenga tiempo ampliaré este asunto en el tutorial.
En condiciones normales las medidas del sensor son bastante estables y no debería haber grandes saltos en la concentración que reportan salvo que realmente se produzca esa diferencia brusca en el aire.
Si consideras que las medidas de concentración de CO2 son demasiado inestables (por ejemplo, en una habitación interior con poco movimiento), suele ser debido a uno de los siguientes motivos:
1. Problemas en la alimentación de sensor de CO2: Los sensores de CO2 necesitan una tensión muy estable para funcionar bien. Si la tensión no es estable debido, por ejemplo, a cargadores/alimentadores y/o cables de baja calidad. Revisa el punto anterior “Parece que el medidor se volviera “loco” algunas veces”.
2. Corrientes de aire: Los sensores de CO2 que utilizamos son muy sensibles a las corrientes de aire directas (unos más y otros menos) por lo que es importante que estén protegidos y no les dé el aire directamente. Lo ideal es que estén metidos en una caja adecuada.
Incluso si vas a calibrarlo en exterior y hay cierto viento puedes ver inestabilidad en las medidas. En este caso puedes incluso meter el medidor en una bolsa de plástico transparente, no hermética completamente hermética, y pulsar el botón de calibración a través suyo. Si ya está en su caja no deberías tener problema.
Los sensores de CO2 en caja no necesitan de mucha entrada de aire para funcionar perfectamente. Con que haya alguna pequeña apertura es suficiente (puede ser suficiente, incluso, las pequeñas ranuras que quedan en la caja de los botones, pulsadores, pantalla, etc).
Para saber si estás sufriendo el problema 1 o el problema 2 te sugiero que metas el medidor en una caja (transparente si es necesario) y observes sus medidas. Si las medidas se estabilizan probablemente sea un problema con las corrientes de aire, si las medidas no se estabilizan probablemente sea un problema con la alimentación.
La alimentación del sensor de CO2 es extremadamente importante para obtener buenas lecturas.
No sólo el voltaje debe estar dentro de las especificaciones indicadas por el fabricante, sino que también debe ser estable. No se debe alimentar un sensor de CO2 directamente de la batería, porque a medida que el voltaje cae a medida que la batería se descarga, las mediciones cambiarán.
Es más, debes calibrar el sensor de CO2 con el voltaje que se utilizará posteriormente. Si calibras el sensor de CO2 con un voltaje y más tarde utilizas el sensor con un voltaje diferente, las mediciones serán erróneas.
La solución para utilizar sensores de CO2 de 5V con batería es utilizar un step up o “módulo elevador”. Más sobre esto aquí: Añadir cargador de batería a ESP8266 y ESP32 (bien hecho).
Nota: El tutorial con Placa TTGO T-Display y sensor de CO2 SCD30 alimenta el sensor a 3.3V (dentro de las especificaciones del fabricante) a través de un regulador integrado en la placa por lo que no tiene este problema. Tienes que prestar atención si lo sustituyes por otro sensor.
Debes tener en cuenta que los sensores de temperatura y humedad se ven afectados por el calor generado por la electrónica del medidor (especialmente en montajes metidos en una caja muy compacta, donde la temperatura del interior de la caja puede subir bastante).
Si quieres tener medidas precisas no te quedará más remedio que aislar estos sensores del resto de electrónica del medidor.
Puedes hacer que la temperatura mostrada sea más cercana a la real ajustando el “Offset” en el menú “Temp Config”. Por ejemplo, yo tengo configurado un Offset de 13.5ºC en el medidor compacto con placa TTGO T-Display porque genera bastante calor (relativamente).
Los sensores SCD30, SCD40 y SCD41 ajustan además automáticamente las desviaciones en humedad en base al ajuste en temperatura (offset) por lo que las medidas obtenidas son también bastante cercanas a la realidad.
La humedad relativa es dependiente de la temperatura.
En los sensores SCD30, SCD40 y SCD41, que ajustan el cálculo de la humedad relativa en base a la temperatura, si la temperatura leída no es correcta, la humedad tampoco lo será.
Intenta corregir la temperatura aplicando un offset como se indica aquí.
Si estás utilizando un sensor Sensirion SCD30, SCD40 o SCD41, el offset de temperatura es procesado por el propio firmware del sensor (el programa que carga el fabricante en el sensor).
El firmware de estos sensores está implementado de forma que el offset de temperatura es aplicado a lo largo del tiempo por lo que no lo verás aplicado de golpe, sino a lo largo de varios minutos.
Simplemente, configura el offset que necesitas y espera varios minutos y verás que va teniendo efecto poco a poco.
El voltaje de la batería que se visualiza en pantalla es una mera orientación. La circuitería no permite una gran precisión en la lectura de la batería y no creo que merezca la pena la complicación para mejorar este punto.
Sí quieres tener una indicación más exacta del voltaje puedes ajustar la referencia de voltaje en el menú “Battery config”.
Cuando la carga de la batería es muy baja, el cargador entra en acción para recargarla. Esta carga adicional puede provocar una caída en el voltaje de la batería. La magnitud de esta caída de voltaje varía según el hardware específico que estés utilizando. Se necesita cierto tiempo para que el voltaje se recupere y supere un umbral determinado (actualmente alrededor de 4.45V) que CO2 Gadget utiliza para determinar si está funcionando con alimentación externa.
Como resultado, puede llevar un tiempo que el icono de la batería refleje el cambio a la alimentación externa.
Es importante tener en cuenta que una caída de voltaje similar puede ocurrir cuando el sensor de CO2 realiza una medición. Por ejemplo, con un sensor SCD30, la corriente puede aumentar de alrededor de 70mA a más de 270mA durante una medición, lo que potencialmente puede hacer que el voltaje caiga por debajo del umbral de 4.45V, llevando a CO2 Gadget a suponer erróneamente que está funcionando con alimentación de la batería.
Esta fluctuación puede hacer que el icono de la batería alterne entre los modos de batería y alimentación externa.
De manera similar, si la pantalla está configurada para estar encendida cuando está conectada a la alimentación externa y apagada cuando está con la batería, la caída de voltaje al cambiar al modo de batería puede hacer que la pantalla se apague. Este menor consumo de energía puede hacer que el voltaje vuelva a subir, lo que resulta en un ciclo de encendido/apagado/encendido/apagado, con el icono de la batería reflejando este comportamiento.
Vale la pena señalar que estos problemas pueden ocurrir dependiendo del hardware utilizado. Si bien no podemos controlar el hardware de la placa, el uso de cables de calidad, un adaptador de corriente confiable y una batería de buena calidad puede ayudar a mitigar estos problemas.
Juega un poco con los botones y familiarízate con su comportamiento. Haz pruebas para conseguir la sensación de qué es una pulsación larga y qué es una pulsación corta.
Experimenta con cómo se introducen los datos de texto (como el SSID y la contraseña WiFi).
Al principio puede parecer un poco errático y confuso pero pronto te habituarás a ello. Verás que el sistema no es difícil en absoluto y nos permite hacerlo todo con solo dos botones (si no tendríamos que poner botones adicionales).
El sensor es un instrumento de medida delicado. Deberías tomar las siguientes precauciones al montarlo:
– Suéldalo rápido, no te entretengas. El sensor es muy sensible al calor extremo.
– El sensor es sensible a la electricidad estática. Evita tocar los pines y componentes con los dedos todo lo que te sea posible.
– Antes de tocar el sensor toca algo con la mano, que esté puesto a tierra, para descargarte de electricidad estática (una tubería del agua o calefacción, por ejemplo).
– La carcasa del sensor no es solo una caja, forma parte activa del sensor. Ten cuidado de no hacer fuerza sobre ella.
Normalmente todo te va a funcionar a la primera si sigues el tutorial paso a paso.
Si te encuentras en la situación en la que ya has grabado el firmware del medidor y no sabes lo que está haciendo, puedes saber qué pasa a través del puerto serie (el USB) de la placa.
Cuando enciendes CO2 Gadget y este empieza a arrancar, empieza a sacar información sobre su arranque y sobre lo que está haciendo a través del puerto USB.
Puedes ver esta información instalando en tu ordenador un programa de terminal serie (el Arduino IDE, Putty u otro) al puerto USB o, simplemente, seleccionando la opción “LOGS & CONSOLE” en el grabador web.
CO2 Gadget soporta los siguientes sensores de CO2:
Sensor Sensirion SCD30 (recomendado)
Senseair S8 LP (recomendado)
Sensirion SCD40
Sensirion SCD41
MH-Z19
Cubic CM1106
Si vas a utilizar un sensor de CO2 alimentado a 5V es muy importante que leas el punto “¿Cómo de importante es la alimentación del sensor de CO2?”
Si. CO2 Gadget soporta, y ha sido probado con, los siguientes sensores conectados por puerto serie:
– Senseair S8 LP
– MH-Z19 (A/B/C/D)
– Cubic CM1106 (y posiblemente el CM1107 aunque no tengo reportes de gente que lo haya probado).
Los pines para conectar el sensor dependen de la placa que estés utilizando.
En este momento, hay soporte para placas ESP32 genéricas (casi cualquier placa) y la TTGO T-Display de forma específica.
CO2 Gadget soporta muchas placas y pantallas diferentes.
Puedes una placa de desarrollo ESP32 normal, por ejemplo la Placa ESP32 DevKitC-32D, y como display utilizar, por ejemplo, una pantalla OLED I2C con controlador SSH1106 de 128*64 pixeles
Pregunta en el grupo de Telegram si necesitas ayuda.
Si. Puedes medir el voltaje conectando el positivo de la batería a un pin de tu placa. En la tabla Pines utilizados por CO2 Gadget tienes el utilizado por defecto en tu placa.
Piensa que en la mayoría de placas el máximo valor admisible en este pin es de 3.3V, mientras que una batería li-ion completamente cargada puede dar 4.2V, por lo que deberás poner un divisor resistivo a la entrada como este, que divide el voltaje de entrada entre 2:
Puedes utilizar cualquier batería Li-ion o Li-Po de 3.7v nominales. Dependerá sobre todo de las medidas de la caja.
La placa TTGO T-Display utiliza un chip cargador TP4056 sin protecciones adicionales (solo de sobrecarga), por lo que la batería debe tener, como mínimo, protección contra cortocircuitos, sobredescarga, y sobrecorriente.
Si la batería no tiene protecciones internas, sería conveniente que le pongas una placa de protección como esta o una similar.
Puedes utilizar una pantalla OLED SSH1106 de 128×64 pixels.
La pantalla OLED tiene una gran calidad de visualización, incluso en exteriores, con un consumo bastante contenido (unos 20mA).
Su conexión no puede ser más sencilla. Al conectarse mediante bus I2C, igual que el sensor SCD30 o el SCD4x, solo tienes que conectarla en paralelo con el sensor como se muestra en el siguiente diagrama. 
Puedes utilizar las dos salidas de CO2 Gadget para conectar relés o contactores para activar y desactivar extractores, ventiladores, filtradores de aire, etc cuando los niveles se CO2 llegan a determinados niveles.
Las concentraciones a las que estas salidas se activan son personalizables y coinciden con las que hayas configurado en el menú de opciones “CO2 Sensor” como colores naranja y rojo.
En este ejemplo, cuando el CO2 alcanza las 700 ppm, CO2 Gadget activará la salida naranja y al llegar a 1000 ppm activará la salida roja (la naranja permanecerá también activa).
La salida roja se desactivará cuando la concentración baje por debajo de 900 ppm (1000 ppm menos 100 de histéresis) y la naranja cuando baje por debajo de las 600 ppm (700 ppm menos 100 de histéresis).
La histéresis de 100 ppm evita que las salidas se puedan encender y apagar continuamente si la concentración se mantiene fluctuando alrededor de la concentración correspondiente.
El soporte de mDNS (Multicast-DNS) no está disponible en todos los ordenadores, depende de tu sistema operativo y su versión. Si utilizas Windows y tu versión no soporta mDNS la forma más rápida y sencilla de hacer que lo soporte es instalando los Servicios de impresión Bonjour para Windows de Apple.
CO2 Gadget está en continua mejora y ampliación y son muchas las funcionalidades que se van añadiendo.
Tienes disponible un Roadmap de CO2 Gadget en el que puedes ver lo que está previsto y en qué punto de desarrollo se encuentra.
Puedes pedir que se incluya una nueva funcionalidad de CO2 Gadget aquí. Si hay algo que no encuentras en CO2 Gadget y te gustaría que se implementara, anímate y pídelo. Todas las peticiones son estudiadas con mucho interés.
No solo puede ser tan preciso como un medidor comercial, sino que probablemente será más preciso que un medidor comercial.
Por ejemplo el sensor SCD30, utilizado en CO2 Gadget, es un sensor de mejor calidad que los utilizados en la inmensa mayoría de medidores comerciales de menos de 500€ que puedes encontrar en el mercado.
El resultado dependerá de que lo montes bien y que lo calibres correctamente.
Lee el artículo ¿Son los medidores de CO₂ caseros tan fiables, exactos y precisos como los comerciales? si quieres saber más.
Si encuentras cualquier dificultad y necesitas ayuda o tienes cualquier tipo de consulta, tienes dos opciones:
1. Únete al Grupo de Telegram de eMariete . Un grupo donde hablamos de cacharreo, en el que varios usuarios, y yo mismo, podremos ayudarte. Este grupo es principalmente en español.
2. Escribe tu duda, problema o petición en la sección Issues de CO2 Gadget en GitHub (recomendado para consultas en inglés).
Este artículo está destinado a los usuarios del firmware CO2 Gadget. Para cualquier tema relacionado con su desarrollo, dudas, problemas o peticiones, por favor, dirígete al repositorio de CO2 Gadget en proyecto en GitHub.
Para cualquier tema relacionado con su desarrollo, dudas, problemas o peticiones, por favor, dirígete al repositorio de CO2 Gadget en proyecto en GitHub.
Este artículo está destinado a los usuarios del firmware CO2 Gadget.
¿No encuentras tu duda? Únete a la comunidad en Telegram o abre un issue en GitHub.