{"id":15417261,"url":"https://github.com/hpsaturn/co2_m5coreink","last_synced_at":"2025-04-19T14:35:53.237Z","repository":{"id":38814607,"uuid":"334498595","full_name":"hpsaturn/co2_m5coreink","owner":"hpsaturn","description":"M5Coreink Multi Sensor Air Station","archived":false,"fork":false,"pushed_at":"2024-04-19T17:30:18.000Z","size":3381,"stargazers_count":9,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T08:43:37.448Z","etag":null,"topics":["arduino","co2","esp32","multi-sensor","plaformio","pm25"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hpsaturn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"hpsaturn","liberapay":"hpsaturn"}},"created_at":"2021-01-30T19:51:37.000Z","updated_at":"2024-04-19T17:30:22.000Z","dependencies_parsed_at":"2024-10-19T23:23:39.261Z","dependency_job_id":"e35ebdf2-4094-464f-b946-a6fdd1a7df07","html_url":"https://github.com/hpsaturn/co2_m5coreink","commit_stats":{"total_commits":69,"total_committers":1,"mean_commits":69.0,"dds":0.0,"last_synced_commit":"914fe77980cc14ee91efa1c932b222888d9719b0"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpsaturn%2Fco2_m5coreink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpsaturn%2Fco2_m5coreink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpsaturn%2Fco2_m5coreink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hpsaturn%2Fco2_m5coreink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hpsaturn","download_url":"https://codeload.github.com/hpsaturn/co2_m5coreink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249715596,"owners_count":21315056,"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","esp32","multi-sensor","plaformio","pm25"],"created_at":"2024-10-01T17:15:02.158Z","updated_at":"2025-04-19T14:35:53.212Z","avatar_url":"https://github.com/hpsaturn.png","language":"C++","funding_links":["https://github.com/sponsors/hpsaturn","https://liberapay.com/hpsaturn"],"categories":[],"sub_categories":[],"readme":"\n[![PlatformIO](https://github.com/hpsaturn/co2_m5coreink/workflows/PlatformIO/badge.svg)](https://github.com/hpsaturn/co2_m5coreink/actions/) ![ViewCount](https://views.whatilearened.today/views/github/hpsaturn/co2_m5coreink.svg) \n\n\n# M5CoreInk Multi Sensor\n\nThis project use the [CanAirIO Sensors Library](https://github.com/kike-canaries/canairio_sensorlib) to have a complete air quality device. Thanks to this library you able to have many posibilities of sensors and variables automatically, for example you can connect one CO2 sensor or the combination of it with particulate meter sensors (PM2.5) or environment sensors (T, H, P, Alt, etc). The library able to detect and select each driver and thrid party library for handling these sensors and give you the complete list of variables with a few lines of code. Plese see the [demo video](#demo)\n\nAlso the installation of this firmware in your device is possible only with one click via an easy [Web installer](#installation) without WiFi or compiling anything.\n\n\n# Demo\n\n[![CanAirIO Sensors Lib DEMO with M5CoreInk](images/demo_sensorlib.jpg)](https://youtu.be/i15iEF47CbY)\n\n# Features\n\n- [x] Multi variable - multi sensor support with auto configuration\n- [x] CO2 sensor calibration via wheel button\n- [x] Continuos mode or low power consumption mode\n- [x] Automatic sensor refresh interval on USB connection \n- [x] Partial update (fast refresh without blink) in USB mode\n- [x] Support two I2C channel (Hat or external port).\n- [x] Auto selection of sample time by sensor type\n- [x] Low power consumption in Battery mode (Deep sleep via RTC)\n- [x] Able to set beep alarm for PM2.5 or CO2\n- [x] Redraw complete screen and first setup via midle button\n- [x] Demo mode with button down\n- [ ] UART implementation for ext port via menu\n- [ ] Auto selection of sample time in order of sensor type\n- [ ] NTP sync via WiFi or Bluetooth\n- [ ] Compatibility with [CanAirIO](https://canair.io) project \n\n# Installation\n\nWe have some alternartives for install the firmware:\n\n## Easy way via CanAirIO Web Installer\n\nIt's the more easy alternative, you only need a USB cable and **Chrome or Edge browser**, then only enter to [CanAirIO Web Installer](https://canair.io/installer.html) page and choose on `special versions` section the option: **M5CoreInk Basic Air Station** and follow the instructions.\n\n[![video_2021-11-13_23-36-10](https://user-images.githubusercontent.com/423856/141661066-0fafcaa9-98b4-419b-b1e7-4371f3cb99b8.gif)](https://canair.io/installer.html)\n\n## Alternative: Build your own firmware \n\nAlternative to compiling and inatall your own firmware via PlatformIO with your favourite IDE (i.e. VSCode). Follow [this](https://platformio.org/platformio-ide) instructions. Also, you may need to install [git](http://git-scm.com/) in your system.\n\n### Clone the repo\n\n```sh\ngit clone https://github.com/hpsaturn/co2_m5coreink.git\n```\nand after that:\n\n### Via IDE (vscode)\n\nConnect the M5CoreInk or compatible board via USB. In Windows 10, drivers are installed automatically. I guess with other OS will be automatically installed too.\n\nOpen cloned folder with your PlatformIO IDE and build \u0026 upload it. For details please see the [documentation](https://docs.platformio.org/en/latest/integration/ide/vscode.html#quick-start), but the process flow is more easy than Arduino IDE flow, but you can also import it to the Arduino IDE if you want.\n\n![PlatformIO Build tool](https://docs.platformio.org/en/latest/_images/platformio-ide-vscode-toolbar.png)\n\n### Via PlatformIO CLI\n\nAfter the clone, enter to directory and you can build and upload the current firmware from CLI:\n\n```shell\npio run --target upload\n```\n\nand that it is! :D\n\n\n# Usage\n\nThis firmware works out of box without any configuration, but it has 3 modes:\n\n### Button Middle\n\nFor full refresh of the screen, only use that for example the screen is corrupted when the battery over.\n\n### Button Up\n\nFor enter to CO2 calibration mode. Only send the command when you are with the sensor on outdoors for more than 10 minutes. Please read the documentation.\n\n### Button Down\n\nIn this mode the green LED turn on and the device try to detect in execution any sensor, also it show the variables continously. For exit, only press the middle button. This mode consume the battery.\n\n![M5CoreInk Air statation Calibration mode](images/calibration.jpg)\n\n\n---\n\n\n# 3D Printed sensors\n\n## Ext-port multi-sensor alternative\n\n![M5Core Ink Ext port sensor alternative ](images/multisensor_collage.jpg) \n\nYou can have one of this on [Tindie](https://www.tindie.com/products/hpsaturn/3d-printed-box-parts-for-a-diy-scd30-co2-device/) for support my work or build one.\n\n## CO2 Hat alternative\n\nIn this repo you able to download the 3DPrint files for making a CO2 hat for M5CoreInk/M5StickC, this use a Sensirion SCD30 sensor for get CO2 values.\n\n\u003ca href=\"https://youtu.be/im0LNFRrHCg\" target=\"_blank\"\u003e\u003cimg src=\"images/youtube.jpg\"\u003e\u003c/a\u003e\n\n## Components\n\n| Description  | Store link |\n|----------------------------|-------------------------------|\n| M5CoreInk    |[M5Stack](https://m5stack.com/collections/m5-core/products/m5stack-esp32-core-ink-development-kit1-54-elnk-display) |\n| M5Stack Proto | [M5Stack](https://m5stack.com/collections/m5-core/products/m5stack-esp32-core-ink-development-kit1-54-elnk-display) |\n| Sensirion SCD30 | [Mouser](https://eu.mouser.com/ProductDetail/Sensirion/SCD30/?qs=rrS6PyfT74fdywu4FxpYjQ%3D%3D)\n|      |      |\n| M5StickC (compatible) | [M5Stack](https://m5stack.com/collections/m5-core/products/stick-c)\n| M5StickC Plus (compatible) | [M5Stack](https://m5stack.com/collections/m5-core/products/m5stickc-plus-esp32-pico-mini-iot-development-kit)\n|      |      |\n\n![M5coreInk CO2 hat](images/collage.jpg)\n\n## 3D print Files\n\n\u003ca href=\"https://github.com/hpsaturn/co2_m5coreink/tree/master/box\" target=\"_blank\"\u003e\u003cimg src=\"images/3Dpreview.jpg\"\u003e\u003c/a\u003e\n\n# Credits\n\nThanks to [CanAirIO communitie](https://canair.io/) for the feedback and tests.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpsaturn%2Fco2_m5coreink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhpsaturn%2Fco2_m5coreink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhpsaturn%2Fco2_m5coreink/lists"}