Medidor de CO2 Display TFT Color con TTGO T-Display Sensirion SCD30 – El CO2 Gadget

Modificado por última vez hace 12 meses

Un medidor de CO2 con display TFT en color de alta calidad con pantalla en color, conexión con tu móvil mediante bluetooth, comunicación por Wifi, ESP-NOW y MQTT, que puedes llevarlo a todas partes gracias a su batería recargable (opcional) y saber, discretamente y en todo momento, la calidad del aire que respiras.

Aquí te traigo el medidor TUTORIAL PARA LA CONSTRUCCIÓN DEL HARDWARE DEL CO2 GADGET. El medidor de CO2 más avanzado que existe (que yo conozca, al menos).

CO2 Gadget y App Sensirion MyAmbience

Este tutorial está acompañado de un video, que podrás encontrar más abajo, con todo explicado paso a paso y con detalle para que puedas construir el medidor de CO2 con display TFT en Color, CO2 Gadget, fácilmente.

Vas as a ver, de una forma muy fácil, como preparar el hardware de CO2 Gadget y cómo conectar de sensor SCD30 a la Placa TTGO T-Display

Más abajo encontrarás algo que estoy seguro de que te encantará: Mi propia versión ampliada y mejorada del firmware del CO2 Gadget con nuevas características interesantes:

  • Múltiples modos de comunicación: Bluetooth, WIFI, y ESP-Now
  • Más sensores soportados, tanto de CO2 como de temperatura, humedad y presión
  • Soporte para más pantallas
  • Envío de datos por MQTT
  • Funciona con muchos sensores y pantallas diferentes

Este tutorial contiene mi propia versión mejorada, con pantalla en color y batería recargable, de otro proyecto publicado previamente: Medidor de CO2 en tu móvil con ESP32 y sensor Sensirion SCD30. Si aún no lo has visto, te sugiero que lo veas ahora, ya que contiene información básica:

Material necesario

Para completar este tutorial, y construir tu medidor de CO2 con display TFT en Color, CO2 Gadget, vas a necesitar:

Más adelante, en la sección «La cesta de la compra» te doy algunos consejos sobre el material a comprar, así como algunos enlaces útiles a sitios donde puedes comprarlos a buen precio y con garantías.

Preparar el Hardware

La preparación del hardware del CO2 Gadget es muy sencilla.

Te doy dos opciones para su montaje: una versión en la que sensor y placa están unidos mediante unos cablecillos y una versión super compacta en que sensor y placa están unidos como un solo bloque compacto.

Versión «normal»

Para la primera versión, conecta, con cuidado, la Placa TTGO T-Display al Sensor Sensirion SCD30 como te explico a continuación. Presta atención a cada cable para que vaya del pin correcto del sensor al pin correcto de la placa.

Tienes que conectar mediante unos cablecillos:

  • El pin VIN del SCD30 al pin marcado 3V de la placa TTGO
  • El pin GND del SCD30 al pin marcado G de la placa TTGO
  • El pin SCL del SCD30 al pin marcado 22 de la placa TTGO
  • El pin SDA del SCD30 al pin marcado 21 de la placa TTGO
Imagen con propósitos ilustrativos tomada del tutorial de Sensirion en Github

Versión sándwich

El objetivo de este montaje es conseguir un medidor de CO2 con display TFT en Color lo más compacto posible.

La versión sándwich del medidor va unida mediante unos pines o cables rígidos. De esta forma la Placa TTGO T-Display y el Sensor Sensirion SCD30 forman un único bloque.

  • El pin VIN del SCD30 al pin marcado 3V de la placa TTGO
  • El pin GND del SCD30 al pin marcado G de la placa TTGO
  • El pin SCL del SCD30 al pin marcado 21 de la placa TTGO
  • El pin SDA del SCD30 al pin marcado 22 de la placa TTGO

Fíjate que la diferencia con la versión normal es que los pines 21 y 22 van invertidos.

Más abajo tienes el video con todos los detalles de montaje de esta versión.

Ten en cuenta que esta versión es muy compacta y que el calor generado afectará al sensor de temperatura y no tendrá mucha precisión (en la versión avanzada del firmware, puedes activar un offset de temperatura y desactivar la temperatura en pantalla, si quieres).

La cesta de la compra

Te dejo aquí algunos consejos y enlaces a sitios de internet donde comprar los materiales.

Comprando los componentes en estos enlaces te asegurarás de tener exactamente los mismos componentes del tutorial y que todo coincida (no todas las placas, por ejemplo, aunque parezcan casi iguales y se llamen igual, tienen todos los pines en el mismo lugar o los tienen rotulados de la misma forma) y evitarás posibles fraudes o falsificaciones.

Comprar el sensor Sensirion SCD30

Sensor Sensirion SCD30

Esta es la misma tienda de AliExpress donde yo lo compré y me llegó a casa en 7 días.

Casi todos los usuarios de eMariete han comprado el sensor en este enlace y lo han recibido rápidamente.

Te recomiendo que lo compres aquí: Sensor Sensirion SCD30

Tienes también la opción de comprar el sensor en Amazon. Es más caro, pero lo tendrás en casa rápidamente.

Comprar la placa LILYGO® TTGO T-Display

Placa TTGO T-Display

Esta es la tienda oficial del LILYGO®, el fabricante de la placa, por lo que tienes garantía de seriedad y de que la placa es original.

Te recomiendo comprarla aquí: Placa TTGO T-Display

Verás que hay varias versiones. Te recomiendo que compres la que pone «4MB CH340K Chip».

Las versiones con 16MB no están soportadas, por el momento.

Tienes también la opción de comprar la placa en Amazon. Es algo más cara, pero la tendrás en tu casa rápidamente.

ICQUANZX T-Display ESP32 WiFi y Placa de Desarrollo del módulo Bluetooth para Arduino LCD de 1.14 Pulgadas
  • Chipset: ESPRESSIF-ESP32 (Wi-Fi y Bluetooth) Microprocesador LX6 de 32 bits Xtensa de 240MHz de un solo núcleo / doble núcleo
  • FLASH: QSPI flash 4MB / PSRAM 8MB
  • Pantalla: IPS ST7789V 1.14 pulgadas, USB: Tipo-C
  • Corriente de trabajo: aproximadamente 67MA, corriente de reposo: aproximadamente 350uA
  • Interfaz modular: UART 、 SPI 、 SDIO 、 I2C 、 LED PWM 、 TV PWM 、 I2S 、 IRGPIO 、 ADC sensor sensor táctil del capacitor pre preamplificador DACLNA

Video-tutorial paso a paso

En el siguiente video tienes instrucciones paso a paso para la construcción del medidor CO2 Gadget para que te resulte muy fácil montarlo.

Actualización desde el video

Si quieres conseguir un montaje aún más limpio, poder colocar el cable de alimentación del sensor de esta manera:

Fíjate que tendrás que quitar el plástico del último pin de la tira para poder soldar el positivo por la parte interior (te recomiendo hacerlo antes de soldar el sándwich, te resultará mucho más sencillo).

Hacer estos videos lleva mucho trabajo. Si te gusta el video no te olvides de darle a «Me gusta» y suscribirte al canal. Eso me motivará a seguir haciendo más videos como estos.

Caja impresa en 3D

Con la idea de que el CO2 Gadget sea un medidor pequeño y compacto, que puedas llevar a cualquier sitio, lo ideal es utilizar una caja impresa en 3D.

Aquí tienes una colección de cajas, específicamente pensadas para CO2 gadget, para que des a tu proyecto un resultado casi profesional:

Cajas de Polipropileno Celular (PP)

Si no tienes acceso a una impresora 3D, puedes hacer una caja de polipropileno celular (PP) muy fácilmente.

Aquí tienes el tutorial paso a paso completo:

Uso con batería

Lo primero que tienes que tener en cuenta, para tener las expectativas correctas, es que este no es un medidor de bajo consumo, aunque puedes alimentarlo con baterías para llevarlo contigo donde quieras fácilmente.

La placa TTGO T-Display cuenta con cargador de baterías incorporado y cargará la batería conectada a unos 300mA (por defecto, aunque se puede cambiar sustituyendo una resistencia) cuando esté conectada por USB.

El uso principal de este medidor es conectado a un alimentador o cargador y la batería es un extra para utilizarlo de forma autónoma durante unas horas de vez en cuando. Por supuesto, nada te impide poner una batería tan grande como quieras y conseguir autonomías mucho más largas.

En la siguiente fotografía puedes ver uno de los prototipos de caja impresa en 3D con una batería de 800mAh.

En la siguiente imagen puedes ver el perfil de consumo del medidor durante 10 segundos:

Perfil de consumo del medidor sin optimizaciones

Como ves, el medidor consume aproximadamente 97mA, que podemos redondear a 100mA.

Esto significa que teóricamente tendríamos una autonomía de aproximadamente 10 horas de funcionamiento continuo con una batería de 1000mAh, 20 horas con una batería de 2000mAh y unas 35 horas si le instalamos una batería de tipo 18650 de 3500mAh. En la práctica está autonomía será menor porque el hardware no está especialmente optimizado y no será capaz de exprimir toda la energía de la batería.

Debes tener en cuenta que, como en cualquier aparato alimentado por batería, debes utilizar una batería que cuente con las pertinentes protecciones. Como mínimo la batería debería tener protección contra cortocircuitos, sobrecarga, sobredescarga, y sobrecorriente.

Muchas baterías incluyen estas protecciones, pero si la tuya no las tuviera, tendrás que poner una placa de protección como esta:

Firmware avanzado CO2 Gadget

El firmware de CO2 Gadget es uno de los más avanzados que existen, tanto en dispositivos realizados por makers como en dispositivos comerciales, y dispone de muchísimas características avanzadas.

En el siguiente artículo puedes ver todo lo referente al firmware para CO2 Gadget, así como las instrucciones para grabarlo en el medidor que acabamos de construir, con solo un par de clicks y sin nacesidad de instalar nada en tu ordenador.

¿Tienes problemas? Preguntas más frecuentes del medidor

Aunque el proyecto es muy sencillo, siempre existe la posibilidad de que te surja alguna duda o que aparezca algún tipo de problema.

En esta lista tienes respuestas a las preguntas y dudas más habituales.

Comparte este artículo

Muchas gracias por colaborar con lo más difícil: COMPARTIRLO Y DARLO A CONOCER. De nada sirve lo mucho que yo pueda trabajar en estos tutoriales si la gente no los llega a conocer. ¡MUCHAS GRACIAS A TODOS LOS QUE COMPARTÍS!

Justo debajo tienes unos botones que te facilitarán compartirlo en Facebook, Twitter, WhatsApp y Telegram.

❤

20 comentarios en «Medidor de CO2 Display TFT Color con TTGO T-Display Sensirion SCD30 – El CO2 Gadget»

  1. Buenas.
    Soy primerizo y he hecho este montaje. Con el firmware del sandwich la pantalla se quedaba mostrando el logo de Sensirion. En la app se muestra siempre -45 grados Celsuis, 0 HR y 0 ppm en C02.
    He probado con la versión avanzada. Ahora sale el logo de emariete y después la pantalla ya muestra 0ppm en verde. La app también muestra lo mismo de antes.
    No sé si hay algo que pueda haber hecho mal… Ah, me costó dar con los drivers adecuados, creo que los que funcionaron bien fueron los del enlace de la página china.
    Gracias y enhorabuena por tu trabajo.
    P.

    Responder
    • Hola P.

      Es muy probable que se deba a un error en el cableado. Sería conveniente ver fotos detalladas del montaje, donde se aprecien bien las conexiones, para asegurarnos. También es muy importante cargar la versión adecuada del firmware (versión normal o sandwich), dependiendo del montaje que hayas hecho.

      De lo contrario lo mejor será conectar el medidor al ordenador por el puerto USB y con un monitor serie ver los mensajes que va sacando el medidor por el puerto USB, que son muchos e indican paso a paso lo que va sucediendo.

      Te recomiendo que te pases por el grupo de chat de Telegram dónde será mucho más fácil verlo: https://t.me/emariete_chat

      ¡Seguro que damos con el problema enseguida!

      Un saludo.

      Responder
        • Tan solo me paso de nuevo decir que está todo funcionando perfectamente y para agradecer la ayuda prestada y tu trabajo para hacer que cualquier manazas como yo pueda llegar a montar y hacer funcionar esto.
          Un saludo.
          P.

          Responder
          • Estupendo! Me alegro un montón de que te haya funcionado perfectamente! 😀

            Visita el grupo de Telegram de vez en cuando para no perderte las actualizaciones de firmware de CO2 Gadget. ¡Pronto habrá novedades interesantes!

  2. Hi, I like this idea, I did read your other articles. Great work. It is possible to use MH-Z19B or Senseair S8 LP sensor, with this TTGO as they are cheaper?

    Responder
  3. Great work! Thank you very much for your effort.
    I have a question about the battery. You said in the article that we must use battery with build in protection (overcharging etc.).
    But the ttgo t-display esp32 has a build in battery circuit. Doesn’t that take care of the charging? So would it be possible to use a simple cell like the panasonic ncr18650b?
    And alternatively, would it be possible to connect 3 x AA NiMh to the board?

    Responder
  4. Hi Patrick.

    The built-in circuit in the TTGO T-Display board is just a charger, that’s why you need additional protections.

    I don’t have any experience with the Panasonic NCR18650B battery, best that you check in the datasheet with the exact reference if it has built-in protection or not.

    The charger on board is only good for Li-Ion and Li-po batteries. It can’t charge NiMh batteries.

    Best regards! 😀

    Responder
    • Hi Mariete,
      Thank you for your answer.
      After some research I found that the the charging circuit in the TTGO protects against overcharging but NOT against over-discharging, which can also ruin the battery. The NCR18650B does not have protection.
      I also found this readit- thread where someone tried NIMH, with success, but it was only experimental, but it might work: https://www.reddit.com/r/esp32/comments/hcku6p/ttgo_tdisplay_with_nimh/
      For this project I will order a LiPo-pack (with protection), but when I have time I will also try some NiMh AA’s, because they are cheap and readily available.
      Kind Regards

      Responder
  5. Great work, thank you for sharing the results of your time and efforts !
    I’ll take a look to your code, trying to understand how you deal with clockstretching on esp32…
    And a question, the sensirion App do not fetch the data, and I do not see any part of your code that could possibly be related to this aspect. Do I miss something or this ability was left alone ?

    Responder
    • Hi Mathieu.

      The code in this tutorial is not mine. It’s from Sensirion. I only wrote the tutorial.
      When I tested it, few months ago, fetching the data from the meter to the phone via BLE was working fine. If the problem is with the Sensirion’s code you should open an issue at their GitHub repository (link in the post).

      My code is at the post «CO2 Gadget: Advanced CO2 Meter«. If the problem is with my code and you think it’s a bug you should, please, open the issue at CO2 Gadget’s GitHub repository.

      Responder
  6. Buenos dias. Primero decir que soy un completo inutil en esto de la electronica. Os llevo leyendo un tiempo y me da pena no enterderlo tan facil como vosotros. Intente hacer el medidor de co2 y ahi se quedo en el intento. Se queda en bucle dando un fallo 0x10 y 0x13. He cambiado las soldaduras de sandwich a cable y nada. No se si tiene solucion o dejarlo por imposible. Os podria mandar los sensores y os los quedais si me los he cargado o si tiene solucion me decis. Los envios los pagari con mucho gusto. Un saludo y gracias por vuestro tiempo.

    Responder
    • Hola Arkaitz.

      El error que te da probablemente no tenga nada que ver con que se haya estropeado nada, sino que será alguna otra cosa (puede que cualquier tontería).
      Lo mejor es que lo veamos a través del grupo de Telegram https://t.me/emariete_chat porque habrá que hacer un poco de investigación y alguna prueba para encontrar el problema…
      Seguro que lo dejamos solucionado enseguida.

      Un saludo.

      Responder
      • Buenos dias. Como soy novato en todo lo relacionado con la electronica las soldaduras tambien dejan mucho que desear. Gracias por el tiempo y en breve os pongo la chapuza y vemos si se puede solucionar. Muchas gracias

        Responder
  7. Hello,
    Thank you for the information and your blog.
    The reference of the TTGO I have is 19-6-28 V1.1 XY-CP / 16MB CH9102F Chip
    [ https://fr.aliexpress.com/item/33050667207.html ]

    The pins are different from the TTGO in the tutorial
    G – 36
    21 – 37
    22 – 38
    17 – 39
    2 – 32
    15 – 33
    13 – 25
    12 – 26
    G – 27
    G – G
    3V – 5V
    (connect for USB)
    How can I connect it to the SCD 30 captor to make the system work in wired version ?
    Is your firmware compatible ?
    Thank you for your answer.

    Responder
  8. As I am not sure you have received my message I am sending it again…
    Thank you in advance for your help.

    Hello,
    Thank you for the information and your blog.
    The reference of the TTGO I have is 19-6-28 V1.1 XY-CP / 16MB CH9102F Chip
    [ https://fr.aliexpress.com/item/33050667207.html ]

    The pins are different from the TTGO in the tutorial
    G – 36
    21 – 37
    22 – 38
    17 – 39
    2 – 32
    15 – 33
    13 – 25
    12 – 26
    G – 27
    G – G
    3V – 5V
    (connect for USB)
    How can I connect it to the SCD 30 captor to make the system work in wired version ?
    Is your firmware compatible ?
    Thank you for your answer.

    Responder

Deja un comentario