{"id":243103,"date":"2026-07-02T14:03:25","date_gmt":"2026-07-02T12:03:25","guid":{"rendered":"https:\/\/emariete.com\/?p=243103"},"modified":"2026-07-05T12:26:44","modified_gmt":"2026-07-05T10:26:44","slug":"co2-gadget-why","status":"publish","type":"post","link":"https:\/\/emariete.com\/en\/co2-gadget-por-que\/","title":{"rendered":"Why CO\u2082 Gadget? \u2013 Reasons to use this firmware"},"content":{"rendered":"<p class=\"wp-block-paragraph\">If you\u2019ve got this far, you probably already know how important it is to measure indoor CO\u2082 levels. Poor ventilation causes CO\u2082 levels to rise above 1000 ppm, leading to drowsiness, loss of concentration and, at high levels (&gt;2000 ppm), health problems. But the key question is: <strong>Why CO\u2082 Gadget and not just any other meter on the market?<\/strong><\/p>\n<div style=\"background:#fff8dc;border:1px solid #e6c300;border-radius:8px;padding:12px 16px;margin:12px 0;font-size:14px;line-height:1.5;color:#333\">\n<strong>Documentation is currently being updated.<\/strong> We are currently reviewing and improving all our pages. You may come across a broken link or some content that hasn\u2019t been finalised yet. If you spot anything that isn\u2019t quite right, please help us fix it at <a href=\"https:\/\/github.com\/melkati\/CO2-Gadget\/issues\" style=\"color:#0066cc\">GitHub<\/a>.\n<\/div>\n<h2 class=\"wp-block-heading\">The problem with commercial meters<\/h2>\n<p class=\"wp-block-paragraph\">Over the last few years, I have tested dozens of commercial and DIY CO\u2082 meters. The commercial ones have a number of recurring problems:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Mandatory cloud storage<\/strong> \u2014 Many \u201csmart\u201d meters require an account, an app and a subscription. Your data leaves your home without your control.<\/li>\n<li><strong>No real integration with Home Assistant<\/strong> \u2014 If you have a home automation system, commercial meters rarely offer deep integration. When they do, it is usually partial and slow.<\/li>\n<li><strong>Calibration not possible or restricted<\/strong> \u2014 CO\u2082 (NDIR) sensors require regular calibration. Commercial devices either do not allow this or make it difficult.<\/li>\n<li><strong>Proprietary hardware<\/strong> \u2014 You cannot add sensors, change the control logic or adapt the firmware to suit your needs.<\/li>\n<li><strong>High price for what they offer<\/strong> \u2014 A good commercial air quality monitor costs \u20ac100\u2013200 and rarely features a high-quality display, a particle sensor or decent connectivity.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Why build one yourself?<\/h2>\n<p class=\"wp-block-paragraph\">Building your own CO\u2082 monitor using the ESP32 has clear advantages:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Full control over the firmware and data<\/strong> \u2014 Nothing leaves your local network without your permission.<\/li>\n<li><strong>Full customisation<\/strong> \u2014 You choose the sensors, the display, the wake-up logic, the alarm thresholds, and anything else you can think of.<\/li>\n<li><strong>Native integration with Home Assistant<\/strong> \u2014 MQTT Discovery automatically detects the device and creates all the entities (sensors, settings, controls).<\/li>\n<li><strong>Cost-effective<\/strong> \u2014 For \u20ac30\u201350, you get an ESP32, an NDIR sensor, a display and a case \u2013 all of a higher quality than many off-the-shelf models.<\/li>\n<li><strong>Learning<\/strong> \u2014 You\u2019ll learn about sensors, MQTT, BLE, deep sleep, calibration and ESP32 programming. It\u2019s an excellent educational project.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Why CO\u2082 Gadget and not other DIY firmware options?<\/h2>\n<p class=\"wp-block-paragraph\">There are other firmware options for CO\u2082 sensors using the ESP32. Some of them are excellent. But CO\u2082 Gadget stands out in several ways:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Sensor coverage<\/strong> \u2014 Supports over 20 sensors for CO\u2082, particulate matter, temperature, humidity, pressure, VOCs and NOx. You\u2019re not tied to a single model.<\/li>\n<li><strong>5 communication protocols<\/strong> \u2014 Wi-Fi (REST + WebSocket), BLE (GATT + BTHome v2), MQTT with Discovery, ESP-NOW, and HTTP API. You choose whichever one you need.<\/li>\n<li><strong>High-quality web interface<\/strong> \u2014 Apple-inspired design with light\/dark themes, real-time charts, and full configuration via the browser. It\u2019s not just a basic HTML5 page.<\/li>\n<li><strong>Low actual fuel consumption<\/strong> \u2014 Aggressive deep sleep mode (10\u201330 \u00b5A), wake-up via CO\u2082 threshold, wake-up via timer, wake-up via button. Up to 3 months on a single 18650 battery.<\/li>\n<li><strong>Advanced calibration<\/strong> \u2014 Manual and automatic (ABC), with support for sensors set to forced calibration (SCD4x forced mode).<\/li>\n<li><strong>Full documentation in Spanish<\/strong> \u2014 Step-by-step guides, an FAQ with over 33 questions, a documented REST API, and an explanation of the build configuration.<\/li>\n<li><strong>Active community<\/strong> \u2014 Telegram, GitHub with issues resolved, frequent releases.<\/li>\n<li><strong>GPLv3 Licence<\/strong> \u2014 Genuinely open source. You can fork, modify and redistribute it.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Project philosophy<\/h2>\n<p class=\"wp-block-paragraph\">CO\u2082 Gadget is based on a simple premise: <strong>A useful CO\u2082 meter must be reliable, integrable and open source<\/strong>. Reliability is ensured by using high-quality NDIR sensors (Sensirion SCD4x, SCD30, MH-Z19) and by implementing correct calibration. Integration is provided by MQTT Discovery, the REST API and BTHome v2. The open-source nature of the project is ensured by the GPLv3 licence and the public repository on GitHub.<\/p>\n<p class=\"wp-block-paragraph\">There\u2019s no hidden telemetry, no \u201cpremium features\u201d, no lock-in. What you see in the code is what your device actually runs.<\/p>\n<h2 class=\"wp-block-heading\">Who is CO\u2082 Gadget for?<\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>Classrooms and offices<\/strong> \u2014 Monitor air quality in real time and receive alerts when ventilation is insufficient.<\/li>\n<li><strong>Bedrooms<\/strong> \u2014 Silent mode without a display, with wake-up triggered by high CO\u2082 levels and BLE notifications to your mobile.<\/li>\n<li><strong>Meeting rooms<\/strong> \u2014 E-Ink display visible to everyone, integrated with the cinema\u2019s booking system.<\/li>\n<li><strong>Homes with Home Assistant<\/strong> \u2014 Automated systems based on CO\u2082, particulate matter or VOCs: activate ventilation, open windows, switch on extractor fans.<\/li>\n<li><strong>Hobbyists and makers<\/strong> \u2014 An educational project featuring real sensors, MQTT, BLE, deep sleep mode and a fully-fledged web interface.<\/li>\n<li><strong>Researchers and educators<\/strong> \u2014 Export data to CSV\/JSON for analysis in Python\/R, or via MQTT to InfluxDB\/Grafana.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Getting started is easy<\/h2>\n<p class=\"wp-block-paragraph\">If you\u2019re interested in the project, you have two options:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Quick installation (recommended)<\/strong> \u2014 Use the web installer from the <a href=\"https:\/\/emariete.com\/en\/co2-meter-gadget\/\">home page<\/a>. Select your hardware, flash it from your browser, and in 5 minutes you\u2019ll have a working meter.<\/li>\n<li><strong>Build from source code<\/strong> \u2014 Clone the repository, configure platformio.ini with your hardware and feature flags, and build with PlatformIO. More control, more possibilities.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">For specific queries, please refer to the <a href=\"https:\/\/emariete.com\/en\/co2-gadget-guide-faq\/\">FAQ<\/a> or join the <a href=\"https:\/\/t.me\/emariete_chat\">Telegram channel<\/a>.<\/p>\n<div class=\"essb_break_scroll\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Find out why CO2 Gadget is the best.<\/p>","protected":false},"author":1,"featured_media":243264,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[13],"tags":[24,71,27],"class_list":["post-243103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-co2-gadget","tag-co2-gadget","tag-co2-gadget-guias","tag-esp32"],"modified_by":"Bautista","uagb_featured_image_src":{"full":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4.jpeg",1376,768,false],"thumbnail":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4-150x150.jpeg",150,150,true],"medium":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4-300x167.jpeg",300,167,true],"medium_large":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4-768x429.jpeg",768,429,true],"large":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4-1024x572.jpeg",1024,572,true],"1536x1536":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4.jpeg",1376,768,false],"2048x2048":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4.jpeg",1376,768,false],"trp-custom-language-flag":["https:\/\/emariete.com\/wp-content\/uploads\/2026\/07\/Blue_banner_with_white_text_202607050739_4-18x10.jpeg",18,10,true]},"uagb_author_info":{"display_name":"Mariete","author_link":"https:\/\/emariete.com\/en\/author\/admin_xlyz052h\/"},"uagb_comment_info":0,"uagb_excerpt":"Descubre por qu\u00e9 CO2 Gadget es superior.","_links":{"self":[{"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/posts\/243103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/comments?post=243103"}],"version-history":[{"count":7,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/posts\/243103\/revisions"}],"predecessor-version":[{"id":243250,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/posts\/243103\/revisions\/243250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/media\/243264"}],"wp:attachment":[{"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/media?parent=243103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/categories?post=243103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emariete.com\/en\/wp-json\/wp\/v2\/tags?post=243103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}