{"id":16991437,"url":"https://github.com/cdfer/kea-co2","last_synced_at":"2025-04-12T03:31:56.266Z","repository":{"id":143570915,"uuid":"601379670","full_name":"CDFER/Kea-CO2","owner":"CDFER","description":"Firmware for a ESP32 Based true CO2 Monitor","archived":false,"fork":false,"pushed_at":"2024-08-27T06:11:10.000Z","size":3746,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T23:34:50.361Z","etag":null,"topics":["arduino","co2","co2-sensor","esp32","open","open-source","openhardware","platformio","scd4x-sensor","webserver","ws2812b"],"latest_commit_sha":null,"homepage":"https://keastudios.co.nz","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CDFER.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-13T23:59:45.000Z","updated_at":"2024-08-18T11:32:12.000Z","dependencies_parsed_at":"2023-06-01T22:45:48.675Z","dependency_job_id":"9feb5d9a-1c4e-409c-8ef8-dc76ff832824","html_url":"https://github.com/CDFER/Kea-CO2","commit_stats":{"total_commits":40,"total_committers":4,"mean_commits":10.0,"dds":"0.19999999999999996","last_synced_commit":"26e174f1b877fcc32b7db436c0e5c0536fcb574e"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDFER%2FKea-CO2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDFER%2FKea-CO2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDFER%2FKea-CO2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CDFER%2FKea-CO2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CDFER","download_url":"https://codeload.github.com/CDFER/Kea-CO2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248512793,"owners_count":21116681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","co2","co2-sensor","esp32","open","open-source","openhardware","platformio","scd4x-sensor","webserver","ws2812b"],"created_at":"2024-10-14T03:25:54.064Z","updated_at":"2025-04-12T03:31:55.687Z","avatar_url":"https://github.com/CDFER.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kea CO2 ✨\n\n[![Hippocratic License HL3-CL-EXTR-FFD-MEDIA-MIL-MY-SV-TAL](https://img.shields.io/static/v1?label=Hippocratic%20License\u0026message=HL3-CL-EXTR-FFD-MEDIA-MIL-MY-SV-TAL\u0026labelColor=5e2751\u0026color=bc8c3d)](https://firstdonoharm.dev/version/3/0/cl-extr-ffd-media-mil-my-sv-tal.html)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d99afdea32c7452dbb50257498cd0df7)](https://www.codacy.com/gh/CDFER/OSAQS-Firmware/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=CDFER/OSAQS-Firmware\u0026amp;utm_campaign=Badge_Grade)\n\nKea CO2 is an ESP32-based device designed to visualize CO2 levels. It offers real-time graphing capabilities through a web interface, an external backup clock, fail-safe data storage, timezone support, and time synchronization via an unlocked Wi-Fi network server (STA + AP mode). The PCB also supports JTAG debugging through a breakout connector.\n\n![User interface](/images/ui1.png)\n\n## Known Limitations with Current Version\n- Fixed 1-minute data recording interval.\n- Fixed 2 MB maximum size data file (~60 days at 1-minute interval).\n\n## Getting Started\n\nIf you encounter any issues while testing this code on a device, please consider adding them to this repository.\n\n### Prerequisites\nThe following libraries are used in Kea CO2:\n\n- espressif32 Arduino Framework\n- AsyncTCP-esphome (LGPL (c) Hristo Gochkov @me-no-dev and others)\n- ESPAsyncWebServer-esphome (LGPL (c) Hristo Gochkov @me-no-dev and others)\n- NeoPixelBus (LGPL-3.0 license (c) Michael C. Miller and others)\n- ArduinoJson (The MIT License (c) Benoit blanchon)\n- Apex Charts (JavaScript) (The MIT License)\n\n### Installation\n1. Clone the repository.\n2. Install the required libraries (PlatformIO does this automatically).\n3. Compile and upload the code to the ESP32 device.\n\n### Usage\n\nThe Kea CO2 device illuminates a strip of WS2812B addressable RGB LEDs to display the ambient CO2 level scale. The CO2 data is obtained from a Sensirion SCD4X sensor, and the LEDs are adjusted based on the ambient light conditions.\n\nThe device is capable of downloading a spreadsheet containing CO2, temperature, and humidity data. The data is stored in a fixed 2 MB file, which can hold up to 60 days of data at a fixed 1-minute recording interval.\n\nTo Sync the Time through Wifi just setup a hotspot with the name time and password 12345678\nOn Power the device will connect to the network and sync the time (Green Pulse if successful).\n\n### Useful Extensions\n- Better C++ Syntax\n- Code Spell Checker\n- Live Server\n- PlatformIO IDE\n- PuTTY for Standalone Serial Logger\n\n### Wiring\n![Schematic](/images/Schematic.png)\n| Name               | Designator    | Footprint | Quantity | Manufacturer Part   |\n|--------------------|---------------|-----------|----------|---------------------|\n| CR1220             | BT1           | CR1220    | 1        | BS-12-B2AA002       |\n| 4.7uF              | C1            | C0402     | 1        | CL05A475MP5NRNC     |\n| 10uF               | C2-C18        | C0402     | 7        | CL05A106MQ5NUNC     |\n| 100nF              | C3-58         | C0402     | 31       | CL05B104KO5NNNC     |\n| 100uF              | C7            | L3.5-W2.8 | 1        | TAJB107K006RNJ      |\n| 22uF               | C10           | C0603     | 1        | CL10A226MQ8NRNC     |\n| 22pF               | C21-23,C33    | C0402     | 4        | 0402CG220J500NT     |\n| 47uF               | C25,C27,C60   | C0805     | 3        | CL21A476MQYNNNE     |\n| 1nF                | C31,C61       | C0402     | 2        | 0402B102K500NT      |\n| 1N148              | D2            | SOD-323   | 1        | 1N4148WS            |\n| ZMM3V3             | D3            | LL-34     | 1        | ZMM3V3-M            |\n| ZMM5V6             | D4            | LL-34D    | 1        | ZMM5V6-M            |\n| Ferrite Bead 800ma | FB1           | FB0805    | 1        | GZ2012D101TF        |\n| XC6220B331MR-G     | LDO1          | SOT-25-5  | 1        | XC6220B331MR-G      |\n| XC6206P332MR       | LDO2          | SOT-23-3  | 1        | XC6206P332MR        |\n| WS2812B            | LED1-32       | 3535RGB   | 22       | XL-3535RGBC-WS2812  |\n| RTC                | LED33         | LED0603   | 1        | KT-0603R            |\n| 3V3_SCD4x          | LED36         | LED0603   | 1        | 19-217/GHC-YR1S2/3T |\n| 3V3                | LED103        | LED0603   | 1        | 19-217/GHC-YR1S2/3T |\n| RX                 | LED104        | LED0603   | 1        | 19-213/Y2C-CQ2R2L   |\n| TX                 | LED105        | LED0603   | 1        | 19-213/Y2C-CQ2R2L   |\n| IO2                | LED106        | LED0603   | 1        | KT-0603R            |\n| SN74LV1T34DBVR     | LS1           | SOT-23-5  | 1        | SN74LV1T34DBVR      |\n| 100kΩ              | R1,R5,R14,R15 | R0402     | 4        | 0402WGF1003TCE      |\n| 100Ω               | R2,R4         | R0402     | 2        | 0402WGF1000TCE      |\n| 10kΩ               | R3,R6-R9,R25  | R0402     | 6        | 0402WGF1002TCE      |\n| 200kΩ              | R10,R16       | R0402     | 2        | 0402WGF2003TCE      |\n| 200Ω               | R11           | R0402     | 1        | 0402WGF2000TCE      |\n| 1MΩ                | R13           | R0402     | 1        | 0402WGF1004TCE      |\n| 330Ω               | R17           | R0402     | 1        | 0402WGF3300TCE      |\n| 5.1kΩ              | R18,R19       | R0402     | 2        | 0402WGF5101TCE      |\n| 4.7kΩ              | R29,R30       | R0402     | 2        | 0402WGF4701TCE      |\n| LTR303 Lux         | U4            | SOT-363   | 1        | LTR-303ALS-01       |\n| PCF8563T RTC       | U6            | SOIC-8    | 1        | PCF8563T/5,518      |\n| 918-418K2024S40004 | USBC1         | USB-C-SMD | 1        | 918-418K2024S40004  |\n| 32.768kHz          | X1            | FC-135R   | 1        | Q13FC1350000400     |\n\n## ✌️ Other\n\nSome of the foundational work was done as part of a project with Terrestrial Assemblages with the support of Govett-Brewster Art Gallery / Len Lye Centre.\n\nThanks to everyone at @Espressif Systems for making a really awesome chip and porting it to Arduino.\n\nThanks to @LTRTNZ for putting up with my never-ending shit and @vincentd123 for helping me.\n\nMade with love by Chris Dirks (@cd_fer) in Aotearoa New Zealand.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdfer%2Fkea-co2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdfer%2Fkea-co2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdfer%2Fkea-co2/lists"}