{"id":298582,"name":"CanAirIO","description":"A citizen science project using mobile and static sensors to measure air quality with cell phones and low-cost technology.","url":"https://github.com/kike-canaries/canairio_firmware","last_synced_at":"2026-04-17T09:00:41.709Z","repository":{"id":38197890,"uuid":"136413087","full_name":"kike-canaries/canairio_firmware","owner":"kike-canaries","description":"CanAirIO is a citizen science initiative. We are developing a mobile application that is able to set a PM2.5 or CO2 sensors, and other related sensors, as a fixed station using WiFi or mobile station with an smartphone by using a Bluetooth connection.","archived":false,"fork":false,"pushed_at":"2025-09-18T19:55:49.000Z","size":25804,"stargazers_count":124,"open_issues_count":29,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-04-11T06:03:07.078Z","etag":null,"topics":["airquality","android","arduino","canairio-firmware","covid-19","esp32","firmware","platformio"],"latest_commit_sha":null,"homepage":"https://canair.io","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/kike-canaries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"liberapay":"CanAirIO","github":"hpsaturn"}},"created_at":"2018-06-07T02:50:16.000Z","updated_at":"2026-02-20T12:34:38.000Z","dependencies_parsed_at":"2024-01-05T20:59:41.958Z","dependency_job_id":"cb0f3e78-e8d4-459a-897c-86f0b454a3ff","html_url":"https://github.com/kike-canaries/canairio_firmware","commit_stats":{"total_commits":1456,"total_committers":9,"mean_commits":"161.77777777777777","dds":0.1208791208791209,"last_synced_commit":"9580f7da82a23ab76264eabccaa7ba31291de232"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/kike-canaries/canairio_firmware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31831849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T07:17:56.427Z","status":"ssl_error","status_checked_at":"2026-04-15T07:17:30.007Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"kike-canaries","name":"CanAirIO","uuid":"38092532","kind":"organization","description":"CanAirIO is a citizen science initiative for air quality tracking, visualization and dissemination","email":"info@canair.io","website":"http://canair.io","location":"@canairq","twitter":"canairq","company":null,"icon_url":"https://avatars.githubusercontent.com/u/38092532?v=4","repositories_count":11,"last_synced_at":"2023-03-06T13:14:07.242Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kike-canaries","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T15:02:07.939Z","updated_at":"2023-03-06T13:14:07.245Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries/repositories"},"packages":[{"id":11733164,"name":"github.com/kike-canaries/canairio_firmware","ecosystem":"go","description":null,"homepage":null,"licenses":"gpl-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/kike-canaries/canairio_firmware","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2023-05-30T21:48:26.000Z","latest_release_published_at":"2025-09-18T16:39:30.000Z","latest_release_number":"v0.7.0","last_synced_at":"2026-04-15T10:25:38.139Z","created_at":"2025-06-05T11:14:39.945Z","updated_at":"2026-04-15T10:25:38.139Z","registry_url":"https://pkg.go.dev/github.com/kike-canaries/canairio_firmware","install_command":"go get github.com/kike-canaries/canairio_firmware","documentation_url":"https://pkg.go.dev/github.com/kike-canaries/canairio_firmware#section-documentation","metadata":{},"repo_metadata":{"id":38197890,"uuid":"136413087","full_name":"kike-canaries/canairio_firmware","owner":"kike-canaries","description":"CanAirIO is a citizen science initiative. We are developing a mobile application that is able to set a PM2.5 or CO2 sensors, and other related sensors, as a fixed station using WiFi or mobile station with an smartphone by using a Bluetooth connection.","archived":false,"fork":false,"pushed_at":"2025-09-18T19:55:49.000Z","size":25804,"stargazers_count":114,"open_issues_count":26,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-23T19:02:17.980Z","etag":null,"topics":["airquality","android","arduino","canairio-firmware","covid-19","esp32","firmware","platformio"],"latest_commit_sha":null,"homepage":"https://canair.io","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/kike-canaries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"liberapay":"CanAirIO","github":"hpsaturn"}},"created_at":"2018-06-07T02:50:16.000Z","updated_at":"2025-10-22T10:25:52.000Z","dependencies_parsed_at":"2024-01-05T20:59:41.958Z","dependency_job_id":"cb0f3e78-e8d4-459a-897c-86f0b454a3ff","html_url":"https://github.com/kike-canaries/canairio_firmware","commit_stats":{"total_commits":1456,"total_committers":9,"mean_commits":"161.77777777777777","dds":0.1208791208791209,"last_synced_commit":"9580f7da82a23ab76264eabccaa7ba31291de232"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/kike-canaries/canairio_firmware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280982873,"owners_count":26424653,"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","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"kike-canaries","name":"CanAirIO","uuid":"38092532","kind":"organization","description":"CanAirIO is a citizen science initiative for air quality tracking, visualization and dissemination","email":"info@canair.io","website":"http://canair.io","location":"@canairq","twitter":"canairq","company":null,"icon_url":"https://avatars.githubusercontent.com/u/38092532?v=4","repositories_count":11,"last_synced_at":"2023-03-06T13:14:07.242Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kike-canaries","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T15:02:07.939Z","updated_at":"2023-03-06T13:14:07.245Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kike-canaries/repositories"},"tags":[{"name":"v0.7.0","sha":"643dc04b3faff724230ee8fa1de365c98cbbcf48","kind":"tag","published_at":"2025-09-18T19:46:09.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/v0.7.0","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.7.0/manifests"},{"name":"v0.6.1","sha":"22e32b2aa6d09d004f15cee835979a2d7fd8ba09","kind":"tag","published_at":"2024-01-09T15:57:11.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/v0.6.1","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.6.1/manifests"},{"name":"v0.5.8","sha":"91f87bdd9c23322d7a665cad0cfeeb1db837fdae","kind":"tag","published_at":"2023-05-30T22:30:04.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/v0.5.8","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@v0.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/v0.5.8/manifests"},{"name":"rev918","sha":"899e641ae118ee83e6e3e0dd77f8352d6536ddaf","kind":"commit","published_at":"2022-08-27T21:11:46.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev918","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev918","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev918","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev918","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev918/manifests"},{"name":"rev910","sha":"4fa9c3d795c4d9ec27a2ac0ca25e26cec8b2569a","kind":"commit","published_at":"2022-06-27T09:36:05.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev910","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev910","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev910","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev910","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev910/manifests"},{"name":"rev907","sha":"b2a8af676e260ad917d55406236802146ec3b690","kind":"commit","published_at":"2022-03-04T11:04:23.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev907","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev907","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev907","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev907","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev907/manifests"},{"name":"rev896","sha":"56484963b373e5fe6572cb573fe9f8e6a28f5e62","kind":"commit","published_at":"2022-02-08T10:55:38.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev896","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev896","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev896","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev896","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev896/manifests"},{"name":"rev873","sha":"88ec1b29924916b9714b3f083ae63c9849bd90f0","kind":"commit","published_at":"2021-12-08T09:22:39.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev873","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev873","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev873","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev873","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev873/manifests"},{"name":"rev863","sha":"9c048d78cf3c0ebb4c052661870cf0ed363fd346","kind":"commit","published_at":"2021-12-02T12:34:16.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev863","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev863","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev863","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev863","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev863/manifests"},{"name":"rev851","sha":"12a3d94b3a18861899b5cbebeaf268c5e7fd3c2a","kind":"commit","published_at":"2021-11-24T12:17:00.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev851","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev851","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev851","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev851","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev851/manifests"},{"name":"rev841","sha":"d96754e11259c8012861411326edd4a29f71535e","kind":"commit","published_at":"2021-11-12T08:31:51.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev841","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev841","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev841","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev841","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev841/manifests"},{"name":"rev838","sha":"7d6de69359622c8ff7529914e44a2a8fbc5c99b6","kind":"commit","published_at":"2021-11-01T18:49:54.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev838","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev838","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev838","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev838","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev838/manifests"},{"name":"rev824","sha":"af2942bed47b2e4c24f61582c9ffe4ea8047a3aa","kind":"commit","published_at":"2021-09-15T20:46:28.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev824","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev824","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev824","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev824","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev824/manifests"},{"name":"rev818","sha":"db97555a6089c8a2142ba37874fd72b7e093c569","kind":"commit","published_at":"2021-08-27T21:10:42.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev818","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev818","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev818","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev818","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev818/manifests"},{"name":"rev815","sha":"1a9e9512a4f4db230486da1b0ab1b414b47eb051","kind":"commit","published_at":"2021-08-25T09:27:46.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev815","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev815","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev815","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev815","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev815/manifests"},{"name":"rev807","sha":"8ee72e27c6fb0f43ca8829ab52751dd5710bd527","kind":"commit","published_at":"2021-07-28T18:50:31.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev807","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev807","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev807","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev807","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev807/manifests"},{"name":"rev799","sha":"da5c69654c2d2e0f0cd65b5c1901d7c1a784c4c2","kind":"commit","published_at":"2021-06-27T11:28:42.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev799","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev799","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev799","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev799","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev799/manifests"},{"name":"rev798","sha":"d635bbfe9b9cd73fbbdbeb0b112e70f39e5c4691","kind":"commit","published_at":"2021-06-19T11:58:05.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev798","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev798","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev798","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev798","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev798/manifests"},{"name":"rev781","sha":"8c210e3473868a7f8f517ff3f19f556f52abc97c","kind":"commit","published_at":"2021-05-19T18:31:45.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev781","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev781","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev781","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev781","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev781/manifests"},{"name":"rev777","sha":"1fdff3539e3da287d40c01775f7bd9a45ee7d0ab","kind":"commit","published_at":"2021-03-20T15:05:15.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev777","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev777","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev777","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev777","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev777/manifests"},{"name":"rev774","sha":"75fc8a49b947eed40a560e9c600247b6fb0f1cdf","kind":"commit","published_at":"2021-03-11T15:11:19.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev774","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev774","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev774","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev774","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev774/manifests"},{"name":"rev733","sha":"12c4b1b8f37defeca416121104a1fa2913901b0b","kind":"commit","published_at":"2021-02-25T10:46:07.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev733","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev733","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev733","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev733","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev733/manifests"},{"name":"rev731","sha":"f3f18cdeeda2e2dc4142244ca487208ce269ea57","kind":"commit","published_at":"2021-02-25T09:05:49.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev731","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev731","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev731","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev731","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev731/manifests"},{"name":"rev680","sha":"421c28f9488d720cd89d1ee8525a96416723d74a","kind":"commit","published_at":"2020-11-20T23:59:42.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev680","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev680","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev680","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev680","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev680/manifests"},{"name":"rev667","sha":"af3eb7d0c090b6ca55accb8dcd35eda0ce3209d6","kind":"commit","published_at":"2020-11-16T14:28:52.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev667","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev667","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev667","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev667","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev667/manifests"},{"name":"rev649","sha":"71eb5a037ac805ef35256d431b675e966e3787aa","kind":"commit","published_at":"2020-10-17T18:48:17.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev649","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev649","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev649","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev649","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev649/manifests"},{"name":"rev633","sha":"d1a9c46230fdd1abe70eaee11bdd4504f80c942c","kind":"commit","published_at":"2020-10-06T19:56:09.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev633","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev633","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev633","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev633","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev633/manifests"},{"name":"rev565","sha":"4e56fa95afbed38a07557e38e272a063540e1445","kind":"commit","published_at":"2020-08-28T08:20:14.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev565","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev565","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev565","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev565","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev565/manifests"},{"name":"rev527","sha":"48f657c01087779b65cc4e46fd6addb3bb25a35a","kind":"commit","published_at":"2020-05-25T09:46:19.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev527","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev527","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev527","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev527","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev527/manifests"},{"name":"rev495","sha":"e4b1be971f14e1f80ffd91f8d17b611b4585bedb","kind":"commit","published_at":"2019-12-27T01:44:55.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev495","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev495","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev495","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev495","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev495/manifests"},{"name":"rev457","sha":"5e793fe0267df0164cee21db8ea5126218afb47a","kind":"commit","published_at":"2019-11-29T23:11:08.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev457","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev457","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev457","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev457","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev457/manifests"},{"name":"rev414","sha":"1e9d73c9e9e75cfb9d3188a56fefe33f10fb0262","kind":"commit","published_at":"2019-08-29T09:00:40.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev414","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev414","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev414","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev414","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev414/manifests"},{"name":"rev405","sha":"235b67cbe90cc4b49394ba21e3ff14ddf038f3e9","kind":"commit","published_at":"2019-08-26T22:20:11.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev405","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev405","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev405","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev405","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev405/manifests"},{"name":"rev393","sha":"a770135db3b2a832906e34cb9f66c0cde6634614","kind":"commit","published_at":"2019-08-21T20:15:25.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev393","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev393","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev393","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev393","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev393/manifests"},{"name":"rev321","sha":"1bd2dbe3b01ce0cea9f2446ac1dc3278d0dad4a1","kind":"commit","published_at":"2019-05-04T23:10:56.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev321","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev321","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev321","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev321","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev321/manifests"},{"name":"rev323_bme680_alpha","sha":"678f7f88f8b76ceef384b59054dd52316a4a8f0d","kind":"commit","published_at":"2019-05-04T21:50:03.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev323_bme680_alpha","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev323_bme680_alpha","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev323_bme680_alpha","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev323_bme680_alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev323_bme680_alpha/manifests"},{"name":"rev301","sha":"c4144d6c997d8c3923f6ee400c5d224d296e7096","kind":"commit","published_at":"2019-04-13T00:04:48.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev301","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev301","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev301","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev301","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev301/manifests"},{"name":"rev273","sha":"3fb2d8ab559249f7b6b15c872ccc94224aa2db3e","kind":"commit","published_at":"2019-03-23T19:39:57.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev273","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev273","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev273","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev273","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev273/manifests"},{"name":"rev212","sha":"ba11da71ec58bd59b857a13b4b18820e88b0ce57","kind":"commit","published_at":"2019-02-19T20:46:20.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev212","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev212","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev212","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev212","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev212/manifests"},{"name":"rev134","sha":"75946a82b81ff7ceb74261690b25763370accb33","kind":"commit","published_at":"2018-10-14T07:16:59.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev134","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev134","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev134","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev134","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev134/manifests"},{"name":"rev81","sha":"b578dd3cb953be5b7d7bd0acbb7be1fa18034808","kind":"commit","published_at":"2018-08-19T03:23:09.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev81","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev81","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev81","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev81","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev81/manifests"},{"name":"rev66","sha":"f9c3d0cd4c05c09ddc6b43afdb19362023a77245","kind":"commit","published_at":"2018-08-06T07:09:51.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev66","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev66","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev66","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev66","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev66/manifests"},{"name":"rev38","sha":"a347ca7812b5dfe75b23419c996fc255db0c088e","kind":"commit","published_at":"2018-07-22T17:06:48.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev38","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev38","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev38","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev38","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev38/manifests"},{"name":"rev35","sha":"0fca35ac54f87eaeb72830bbfe7c5702152e84f2","kind":"commit","published_at":"2018-07-12T16:57:06.000Z","download_url":"https://codeload.github.com/kike-canaries/canairio_firmware/tar.gz/rev35","html_url":"https://github.com/kike-canaries/canairio_firmware/releases/tag/rev35","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kike-canaries/canairio_firmware@rev35","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/tags/rev35/manifests"}]},"repo_metadata_updated_at":"2025-10-26T09:10:22.674Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/kike-canaries/canairio_firmware","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/kike-canaries/canairio_firmware","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/kike-canaries/canairio_firmware","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/kike-canaries/canairio_firmware/dependencies","status":null,"funding_links":["https://liberapay.com/CanAirIO","https://github.com/sponsors/hpsaturn"],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-19T18:09:31.605Z","issues_count":51,"pull_requests_count":137,"avg_time_to_close_issue":37981943.87179487,"avg_time_to_close_pull_request":1071825.0322580645,"issues_closed_count":39,"pull_requests_closed_count":124,"pull_request_authors_count":6,"issue_authors_count":6,"avg_comments_per_issue":0.7843137254901961,"avg_comments_per_pull_request":0.12408759124087591,"merged_pull_requests_count":118,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":46,"past_year_avg_time_to_close_issue":3716891.4,"past_year_avg_time_to_close_pull_request":319945.3888888889,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":36,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5333333333333333,"past_year_avg_comments_per_pull_request":0.021739130434782608,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":36,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/issues","maintainers":[{"login":"hpsaturn","count":152,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hpsaturn"},{"login":"roberbike","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roberbike"}],"active_maintainers":[{"login":"hpsaturn","count":51,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hpsaturn"},{"login":"roberbike","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roberbike"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fkike-canaries%2Fcanairio_firmware/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fkike-canaries%2Fcanairio_firmware/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fkike-canaries%2Fcanairio_firmware/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fkike-canaries%2Fcanairio_firmware/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fkike-canaries%2Fcanairio_firmware/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2099008,"maintainers_count":0,"namespaces_count":781751,"keywords_count":112812,"github":"golang","metadata":{"funded_packages_count":53481},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-16T05:07:48.212Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1642229,"full_name":"kike-canaries/canairio_firmware","default_branch":"master","total_commits":1582,"total_committers":9,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":175.77777777777777,"dds":0.11314791403286983,"past_year_total_commits":29,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":29.0,"past_year_dds":0.0,"last_synced_at":"2026-04-15T08:01:03.015Z","last_synced_commit":"643dc04b3faff724230ee8fa1de365c98cbbcf48","created_at":"2024-08-18T00:13:44.089Z","updated_at":"2026-04-15T08:00:46.351Z","committers":[{"name":"Antonio Vanegas","email":"hpsaturn@gmail.com","login":"hpsaturn","count":1403},{"name":"danielbernalb","email":"danielbernalb@gmail.com","login":"danielbernalb","count":88},{"name":"roberbike","email":"roberbike@gmail.com","login":"roberbike","count":78},{"name":"iw2lsi","email":"iw2lsi@gmail.com","login":"iw2lsi","count":3},{"name":"Nelson Castillo","email":"nelsoneci@gmail.com","login":"arhuaco","count":3},{"name":"humano","email":"humano@alien.cubil","login":null,"count":3},{"name":"BRKMK","email":"84018539+BRKMK","login":"BRKMK","count":2},{"name":"Sebastian Rios Sabogal","email":"sebaxtianrioss@gmail.com","login":"sebaxtian","count":1},{"name":"Mac Tinoco","email":"mac_tinoc@outlook.es","login":null,"count":1}],"past_year_committers":[{"name":"Hpsaturn","email":"hpsaturn@gmail.com","login":"hpsaturn","count":29}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:13.716Z","repositories_count":6214477,"commits_count":900552641,"contributors_count":34926302,"owners_count":1145038,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"kike-canaries/canairio_firmware","html_url":"https://github.com/kike-canaries/canairio_firmware","last_synced_at":"2026-04-12T01:02:42.522Z","status":null,"issues_count":52,"pull_requests_count":139,"avg_time_to_close_issue":37981943.87179487,"avg_time_to_close_pull_request":1071825.0322580645,"issues_closed_count":39,"pull_requests_closed_count":124,"pull_request_authors_count":6,"issue_authors_count":6,"avg_comments_per_issue":0.7692307692307693,"avg_comments_per_pull_request":0.1223021582733813,"merged_pull_requests_count":118,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":5,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":741071.5,"past_year_avg_time_to_close_pull_request":148621.76923076922,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":13,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"created_at":"2024-08-18T00:14:23.692Z","updated_at":"2026-04-12T01:02:42.523Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kike-canaries%2Fcanairio_firmware/issues","issue_labels_count":{"bug":28,"enhancement":17,"Minor":5,"help wanted":4},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":37,"NONE":12,"CONTRIBUTOR":3},"pull_request_author_associations_count":{"MEMBER":123,"CONTRIBUTOR":13,"NONE":3},"issue_authors":{"hpsaturn":36,"Marvin-YYC":7,"arttesano":4,"danielbernalb":3,"Geelhem":1,"roberbike":1},"pull_request_authors":{"hpsaturn":116,"danielbernalb":12,"roberbike":7,"humano":2,"sebaxtian":1,"arhuaco":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:09.649Z","repositories_count":14294729,"issues_count":34555309,"pull_requests_count":113089886,"authors_count":11236671,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":4,"enhancement":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"MEMBER":4,"NONE":1},"past_year_pull_request_author_associations_count":{"MEMBER":18},"past_year_issue_authors":{"hpsaturn":4,"Marvin-YYC":1},"past_year_pull_request_authors":{"hpsaturn":15,"roberbike":3},"maintainers":[{"login":"hpsaturn","count":152,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hpsaturn"},{"login":"roberbike","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roberbike"}],"active_maintainers":[{"login":"hpsaturn","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hpsaturn"},{"login":"roberbike","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/roberbike"}]},"events":{"total":{"DeleteEvent":21,"PullRequestEvent":46,"ForkEvent":2,"IssuesEvent":37,"WatchEvent":7,"IssueCommentEvent":27,"PushEvent":59,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":4,"CreateEvent":20},"last_year":{"DeleteEvent":8,"PullRequestEvent":16,"ForkEvent":2,"IssuesEvent":9,"WatchEvent":4,"IssueCommentEvent":1,"PushEvent":22,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":2,"CreateEvent":5}},"keywords":["airquality","android","arduino","canairio-firmware","covid-19","esp32","firmware","platformio"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/platformio.yml","sha":null,"kind":"manifest","created_at":"2023-01-29T18:00:52.973Z","updated_at":"2023-01-29T18:00:52.973Z","repository_link":"https://github.com/kike-canaries/canairio_firmware/blob/master/.github/workflows/platformio.yml","dependencies":[{"id":7228789144,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7228789147,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7228789150,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pull-request.yml","sha":null,"kind":"manifest","created_at":"2023-01-29T18:00:53.041Z","updated_at":"2023-01-29T18:00:53.041Z","repository_link":"https://github.com/kike-canaries/canairio_firmware/blob/master/.github/workflows/pull-request.yml","dependencies":[{"id":7228789468,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7228789469,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-29T18:00:53.098Z","updated_at":"2023-01-29T18:00:53.098Z","repository_link":"https://github.com/kike-canaries/canairio_firmware/blob/master/Dockerfile","dependencies":[{"id":7228789492,"package_name":"python","ecosystem":"docker","requirements":"3.9.0-slim","direct":true,"kind":"build","optional":false}]}],"score":null,"created_at":"2024-08-18T00:13:42.233Z","updated_at":"2026-04-17T09:00:41.714Z","avatar_url":"https://github.com/kike-canaries.png","language":"C++","category":"Natural Resources","sub_category":"Air Quality","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003ch1 align=\"center\"\u003eCanAirIO Project\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/kike-canaries/canairio_firmware/actions/\"\u003e\u003cimg alt=\"Discord\" src=\"https://github.com/kike-canaries/canairio_firmware/workflows/PlatformIO/badge.svg\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://t.me/canairio\"\u003e \u003cimg src=\"https://img.shields.io/endpoint?color=neon\u0026style=flat-square\u0026url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fcanairio\" alt=\"Support Group\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/kike-canaries/canairio_firmware\"\u003e\u003cimg src=\"https://views.whatilearened.today/views/github/kike-canaries/canairio_firmware.svg\" alt=\"Visitors\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://liberapay.com/CanAirIO/\"\u003e\u003cimg alt=\"Liberapay patrons\" src=\"https://img.shields.io/liberapay/patrons/CanAirIO\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://canair.io/docs\"\u003e\u003cimg src=\"https://img.shields.io/badge/user-docs-white.svg\" alt=\"CanAirIO Documentation\"/\u003e\u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?label=license\u0026message=GPLv3\u0026color=white\u0026style=flat\" alt=\"License\"/\u003e\u003c/a\u003e\n    \u003cbr\u003e\n    \u003cbr\u003e\u003ca href=\"https://canair.io\"\u003eCanAirIO\u003c/a\u003e‎ ‎ |‎ ‎ \u003ca href=\"https://canair.io/docs/\"\u003eDocumentation\u003c/a\u003e ‎ ‎ |‎ ‎ \u003ca href=\"https://canair.io/installer\"\u003eWeb Installer\u003c/a\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003e [!NOTE]\n\u003e **CanAirIO 0.7.0** is almost here.\n\u003e\n\u003e Please help test the [development branch](https://github.com/kike-canaries/canairio_firmware/tree/devel) and share your experience in our [Telegram Group](https://t.me/canairio). Please install the \"testing version\" from the [CanAirIO installer](https://canair.io/installer), configure your WiFi, and you'll receive the latest version soon.\n\n\u003cbr\u003e\n\n\u003cimg alt=\"CanAirIO AirQuality Project\" src=\"https://raw.githubusercontent.com/kike-canaries/canairio_firmware/master/images/canairio_collage_community.jpg\"\u003e\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=hpsaturn.pollutionreporter\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kike-canaries/android-hpma115s0/master/assets/googleplay/gplayicon.png\" align=\"left\" style=\"margin: 2px\" width=\"140\" \u003e\u003c/a\u003e\n\nA citizen science project that employs both mobile and fixed sensors to measure air quality (PM 2.5 or CO2) and environmental variables. This is achieved using low-cost sensors and smartphones. The project is built around an ESP32 module board integrated with the [CanAirIO Android client app](https://github.com/kike-canaries/canairio_android).\n\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003e\n\t\t\tDon't forget to star ⭐ this repository\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e [!NOTE]\n\u003e **CanAirIO Android App is down now!** sorry, we are working on that, please download a signed version of our [GitHub](https://github.com/kike-canaries/canairio_android/releases)\n\n## Features\n\n- Super easy [web installer](https://canair.io/installer), via Chrome or Edge\n- Mobile station (via Bluetooth LE for tag GPS variables)\n- Fixed station, (using only your WiFi)\n- Fast WiFi credentials provisioning via Bluetooth or via\n- [CLI tool](https://canair.io/docs/cli.html) alternative for configuration and provisioning\n- Based on [CanAirIO Sensors Library](https://github.com/kike-canaries/canairio_sensorlib#readme) to support more sensors in the future\n- Automatic firmware OTA updates (with stable/testing channels)\n- Share mobile tracks via [mobile.canair.io](https://mobile.canair.io) or [CanAirIO app](https://github.com/kike-canaries/canairio_android)\n- [Home Assistant](https://www.home-assistant.io/) integration, discovery and multisensor support\n- Share your fixed station quickly via [Anaire Cloud](https://portal.anaire.org/d/detail/detalle?orgId=1\u0026var-uid=U33TTGOTDA3D46\u0026var-name=\u0026refresh=1m)\n- PAX Counter feature (default wifi sniffer sensor to count people)\n- Multiple boards and sensors supported with only one firmware\n\n## Boards supported\n\nThe [last release](https://github.com/kike-canaries/canairio_firmware/releases) of CanAirIO Device supports the next boards:\n\n| Firmware Name | Boards supported |   Display  | Config supported | Guide and schematics  |\n| ------------- |:-------------:| :-------------:| :-------------: |:----------------------:|\n| **TTGO_TDISPLAY**     | TTGO T-Display | eTFT | BLE, WiFi, USB | [CanAirIO Bike](https://canair.io/docs/canairio_bike.html),  [CanAirIO Plantower](https://canair.io/docs/canairio_plantower.html) |\n| **TTGO_T7**     | TTGO T7, D1Mini, ** | OLED 64x48/128x64 | BLE, WiFi, USB | [CanAirIO v2.1](https://www.hackster.io/canairio/build-a-low-cost-air-quality-sensor-with-canairio-bbf647), [CanAirIO IKEA](https://canair.io/docs/canairio_ikea.html) |\n| **M5STICKCPLUS** | M5StickC Plus | eTFT | BLE, WiFi, USB |[CanAirIO M5StickC Plus](https://www.youtube.com/watch?v=TdX1AZ4PzBA) |\n| **M5ATOM** | M5Atom Lite | OLED 64x48/128x64 | BLE, WiFi, USB |[M5Atom Lite sample](https://canair.io/docs/canairio_m5stack.html#m5atom-lite)|\n| **ESP32DevKit** | ESP32DevKit, NodeMCU V3, ** | OLED 128x64 | BLE, WiFi, USB |[HacksterIO](https://www.hackster.io/canairio/build-low-cost-air-quality-sensor-canairio-without-soldering-d87494) |\n| **TTGO_TQ** | TTGO TQ | Builtin OLED  | BLE, WiFi, USB | [TTGO_TQ board](https://de.aliexpress.com/item/10000291636371.html) |\n| **WEMOSOLED** | WemosOLED and similar boards | OLED 128x64 | BLE, WiFi, USB |[ESP32 OLED board](https://de.aliexpress.com/item/33047481007.html) |\n| **HELTEC** |  ESP32 Heltec board |  OLED 128x64 | BLE, WiFi, USB | |\n| **ESP32C3** | M5STAMPC3** | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **AG_OPENAIR** | ESP32C3 AirGradient | OLED 64x48/128x64 | BLE, WiFi, USB | [AirGradient Outdoor](https://www.airgradient.com/outdoor/) |\n| **ESP32C3OIPLUS** | TTGO-T-OI-Plus | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **ESP32C3LOLIN** | LOLIN Mini C3 | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **ESP32C3SEEDX** | Seeed_xiao_esp32c3 | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **TTGO T7S3** | LilyGO ESP32S3 T7S3 | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **ESP32S3** | ESP32S3 CAM Freenove | OLED 64x48/128x64 | BLE, WiFi, USB | |\n| **ESP32S2** | ESP32S2 Lolin Mini | OLED 64x48/128x64 | WiFi, USB | |\n\n** is possible that the **current firmware supports more boards** and sensors. Also you can choose the sensor brand or type on the CanAirIO Android app or on the firmware CLI.\n\n# Installation alternatives\n\nWe have different alternatives to load the current firmware. By complexity order, they are:\n\n## Via CanAirIO Web Installer (RECOMMENDED)\n\nIf you already have a ESP32 board, you can test our CanAirIO firmware on one click, with our web installer:\n\n[![canairio web installer on m5stickcplus](https://user-images.githubusercontent.com/423856/152767232-81c11957-26f0-4a83-bf63-6a4bee41a168.gif)](https://youtu.be/TdX1AZ4PzBA)  \n[Full video](https://youtu.be/TdX1AZ4PzBA) - [Web installer](https://canair.io/installer.html)\n\n## Via CanAirIO loader\n\nYou will able to install the last version of CanAirIO firmware using a simple Arduino sketch that it will doing all for you, you only need to use the official [Arduino IDE](https://www.arduino.cc/en/software) or [Arduino Droid app for Android](https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid2\u0026hl=en\u0026gl=US) for load this [simple sketch](https://github.com/hpsaturn/esp32-canairio-loader/blob/master/canairio_loader/canairio_loader.ino). Please follow the instructions [here](https://github.com/hpsaturn/esp32-canairio-loader) or follow the next [YouTube video guide](https://youtu.be/FjfGdnTk-rc) for Android OTG installation alternative.\n\n## Via binaries\n\nYou can download the last firmware version in [releases](https://github.com/kike-canaries/esp32-hpma115s0/releases) section. For example, download the last **production** release from `assets` section, like this:  \n\n![releases assets](images/assets.jpg)\n\nplease uncompress the zip file and connect your CanAirIO device to your USB and execute the next command to upload the firmware to your board, for example for an ESP32DevKit board you should run the next commands:\n\n### Linux and MacOSx\n\n``` bash\nunzip canairio_rev414_20190829.zip\ncd canairio_installer\nesptool --port /dev/ttyUSB0 -b 1500000 write_flash 0x0 canairio_ESP32DEVKIT_rev932_merged.bin\n```\n\n(You should install [esptool](https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html) in your system.)\n\n### Windows\n\nPlease read the [Espressif Uploader](https://canair.io/docs/firmware_upload.html#espressif-uploader) section in the main documentation to have details of how load the firmware via the official **Espressif Download Tool** in Windows.\n\n## Via PlatformIO (Compiling on Linux, Mac or Windows)\n\nPlease install first [PlatformIO](http://platformio.org/) open source ecosystem for IoT development compatible with **Arduino** IDE and its command line tools (Windows, MacOs and Linux). Also, you may need to install [git](http://git-scm.com/) in your system.\n\nFor the **default** board `TTGO_TDISPLAY` (CanAirIO Bike), clone and upload firmware via USB cable:\n\n``` bash\ngit clone https://github.com/kike-canaries/canairio_firmware\ncd canairio_firmware\npio run --target upload\n```\n\nFor a specific firmware for example for a TTGO-T7 board, only change the last line for:\n\n``` bash\npio run -e TTGO_T7 --target upload\n```\n\n## Via Docker\n\nFirst, build the Docker image for your system, using the following command line:\n\n```bash\ndocker build --build-arg DOCKER_USER=$USER --build-arg DOCKER_USERID=$UID -t canairio_pio:master .\n```\n\nThis will build a basic compiler image with all PlatformIO stuff. You could need perform this, just only one time.\n\nThen, for build the project or default firmware, you only needs run the next command, each time that you need:\n\n```bash\n./docker_build run\n```\n\nSimilar, for build and upload to your device, for instance here, we are choosing a specific firmware flavor:\n\n```bash\n./docker_build run -e TTGO_T7 --target upload\n```\n\nif you have issues with the upload port, please edit `docker_build` and change the PORT variable.\n\n## OTA WAN updates\n\nCanAirIO offers two channels for remote OTA (Over-The-Air) updates for your device: the production channel and the development channel. This means you won't need to reinstall the firmware manually for any updates; it's all automatic. You only need to have Wi-Fi enabled on your device to receive these firmware updates.\n\nIf you're interested in the latest testing updates, please go to the releases section and choose and download the development firmware (a zip file with `dev` in its name), then upload it to your board to receive these kind of updates.\n\n# CanAirIO device HOWTO guide\n\nWe have some build guides with different alternatives, please visit our [CanAirIO documentation](https://canair.io/docs).\n\n![CanAirIO CO2 and Mini](https://canair.io/docs/images/canairio_bike_co2_mini.jpg)\n\n\u003ca href=\"https://canair.io/docs\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kike-canaries/canairio_firmware/master/images/collage.jpg\" height=\"400\" \u003e\u003c/a\u003e\n\n## Building Guide\n\n\u003ca href=\"https://youtu.be/V2eO1UN5u7Y\" target=\"_blank\" style=\"padding-left: 20px\" \u003e\u003cimg src=\"images/canairio_bike_make_of_youtube.jpg\" width=\"420\" \u003e\u003c/a\u003e\n\n## Soldering Guide (some improvements)\n\n\u003ca href=\"https://youtu.be/Oarq0K0Sz3c\" target=\"_blank\" style=\"padding-left: 20px\" \u003e\u003cimg src=\"images/canairio_bike_soldering_on_youtube.jpg\" width=\"420\" \u003e\u003c/a\u003e\n\n## Box STL files\n\n** W A R N N I N G **\n\nThe last versions for all box versions, are in the [official repository](https://github.com/kike-canaries/canairio_firmware/tree/master/box) because it is more easy for handling the versions than Thingiverse.\n\n## Contributions\n\nIf you want to contribute to the code or documentation, consider posting a bug report, feature request or a pull request.\n\nWhen creating a pull request, we recommend that you do the following:\n\n- Clone the repository\n- Create a new branch for your fix or feature. For example, git checkout -b fix/my-fix or git checkout -b feat/my-feature.\n- Run to any clang formatter if it is a code, for example using the `vscode` formatter. We are using Google style. More info [here](https://clang.llvm.org/docs/ClangFormatStyleOptions.html)\n- Document the PR description or code will be great\n- Target your pull request to be merged with `devel` branch\n\n### Donations\n\nAlso you can consider make a donation, be a patron or buy a device:  \n\n- Via **Ethereum**:\n- 0x1779cD3b85b6D8Cf1A5886B2CF5C53a0E072C108\n- Be a patron: [Github Sponsors](https://github.com/sponsors/hpsaturn), [LiberaPay](https://liberapay.com/CanAirIO)\n- **Buy a device**: [CanAirIO Bike in Tindie](https://www.tindie.com/products/hpsaturn/canairio-bike/)\n- Inviting us **a coffee**: [buymeacoffee](https://www.buymeacoffee.com/hpsaturn), [Sponsors](https://github.com/sponsors/hpsaturn?frequency=one-time)  \n\n\u003ca href=\"https://raw.githubusercontent.com/kike-canaries/canairio_firmware/master/images/ethereum_donation_address.png\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/kike-canaries/canairio_firmware/master/images/ethereum_donation_address.png\" align=\"left\" style=\"margin: 10px\" width=\"140\" \u003e\u003c/a\u003e  \n\n**NOTE:**  \nSupporting our Citizen Science Initiative many people be able to fight for air quality rights in many countries with this kind of problems. More info in [CanAir.IO](https://canair.io)  \n\n\u003cbr\u003e\n\n\n# Credits\n\nWe want to thank the CanAirIO community on [Telegram](https://t.me/canairio) and our social networks for performing tests with our firmware and for contributing new features and guides.\n\nSpecial thanks also to:\n\n| GitHub Username       |  Key Contributions                                                            |\n|-----------------------|-------------------------------------------------------------------------------|\n| `@roberbike`          | NH₃/CO/NO₂/Geiger sensors, LoRaWAN and Solar Station and Community Engagement |\n| `@cedancp`            | [Web Mobile Map](https://github.com/cedancp/mobile_map) for CanAirIO mobile tracks development  |\n| `@sebaxtian`          | Documentation, testing, initiative replication and Community engagement       |\n| `@wes-la`             | Documentation, management and support                                         |\n| `@jcomas`             | Windows support, Spanish translations and thrid party libraries development   |\n| `@ikks`               | Community support and Engagement. Landing page development.                   |\n| `@iw2lsi`             | Geiger sensor integration and field testing                                   |\n| `@markusvankempen`    | IKEA Vindriktning hardware integration, field testing                         |\n| `@melkati`            | CanAirIO Sensors Library contributions                                        |\n| `@lemeit`             | CanAirIO Sensors Library contributions                                        |\n| `@Mac-Tinoco`         | 3D-printed enclosure designs alternative (Bike version)                       |\n\n\n","funding_links":["https://liberapay.com/CanAirIO","https://github.com/sponsors/hpsaturn","https://liberapay.com/CanAirIO/","https://www.buymeacoffee.com/hpsaturn","https://github.com/sponsors/hpsaturn?frequency=one-time"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/298582","html_url":"https://ost.ecosyste.ms/projects/298582"}