{"id":17458955,"url":"https://github.com/caseywebb/mayfly","last_synced_at":"2025-03-30T09:44:51.652Z","repository":{"id":146576405,"uuid":"612453050","full_name":"caseyWebb/mayfly","owner":"caseyWebb","description":"Environmental monitoring for Aquaculture and Hydroponics","archived":false,"fork":false,"pushed_at":"2023-06-02T01:01:24.000Z","size":442,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-18T07:13:07.088Z","etag":null,"topics":["aquaculture","aquaponics","atlas-scientific","circuitpython","environmental-monitoring","esp32","esp32-s2","hydroponics","iot","riscv","ulp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caseyWebb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/minielf.py","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-11T01:46:08.000Z","updated_at":"2023-06-26T21:53:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"6239556a-2323-4d5c-aeca-0ba46d4f31e5","html_url":"https://github.com/caseyWebb/mayfly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caseyWebb%2Fmayfly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caseyWebb%2Fmayfly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caseyWebb%2Fmayfly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caseyWebb%2Fmayfly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caseyWebb","download_url":"https://codeload.github.com/caseyWebb/mayfly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246301954,"owners_count":20755512,"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":["aquaculture","aquaponics","atlas-scientific","circuitpython","environmental-monitoring","esp32","esp32-s2","hydroponics","iot","riscv","ulp"],"created_at":"2024-10-18T04:38:20.275Z","updated_at":"2025-03-30T09:44:51.628Z","avatar_url":"https://github.com/caseyWebb.png","language":"Python","readme":"# Mayfly\n\n\u003e Low-power IOT Environmental Monitoring with CircuitPython and the ESP32-S2 RISC-V ULP\n\nThis project collects various sensor readings, shows them on an e-paper display, and records to ThingSpeak. It's intended to be used in aquaculture and hydroponics, but it could be used for any application where you want to monitor, display, and record values with a battery-powered device.\n\n```mermaid\nflowchart TD\n    INIT_ULP --\u003e ULP_BOOT\n    subgraph Shared Memory\n    RTC_MEMORY[(RTC Memory)]\n    end\n    subgraph Main Processor\n    MAIN_BOOT(Boot)\n    ULP_WAKE{ULP wake?}\n    INIT_WIFI[Initialize Wifi]\n    INIT_TIME[Initialize Time]\n    INIT_ULP[Start ULP]\n    MAIN_SLEEP(Sleep)\n    READ_RTC[Get Sensor Readings]\n    UPDATE_DISPLAY[Update Display]\n    MAIN_BOOT --\u003e ULP_WAKE\n    ULP_WAKE --\u003e|Yes| INIT_WIFI --\u003e INIT_TIME --\u003e INIT_ULP --\u003e MAIN_SLEEP\n    ULP_WAKE --\u003e|No| READ_RTC --\u003e UPDATE_DISPLAY --\u003e MAIN_SLEEP\n    RTC_MEMORY --\u003e READ_RTC\n    end\n    subgraph ULP\n    ULP_BOOT(Boot)\n    READ_SENSORS[Read Sensors]\n    SENSOR_DIFF{Values changed?}\n    UPDATE_RTC_MEMORY[Store Sensor Readings]\n    SET_ULP_WAKE_TIMER[Set ULP Wake Timer]\n    ULP_SHUTDOWN(ULP Shutdown)\n    ULP_WAKE_TIMER[/ULP Wake Timer/]\n    ULP_BOOT --\u003e READ_SENSORS --\u003e SENSOR_DIFF\n    SENSOR_DIFF --\u003e|Yes| UPDATE_RTC_MEMORY --\u003e SET_ULP_WAKE_TIMER\n    SENSOR_DIFF --\u003e|No| SET_ULP_WAKE_TIMER\n    UPDATE_RTC_MEMORY --\u003e RTC_MEMORY\n    ULP_WAKE_TIMER --\u003e ULP_BOOT\n    SET_ULP_WAKE_TIMER --\u003e ULP_WAKE_TIMER\n    SET_ULP_WAKE_TIMER --\u003e ULP_SHUTDOWN\n    RTC_MEMORY --\u003e SENSOR_DIFF\n    end\n```\n\n## Hardware\n\n- [UnexpectedMaker FeatherS2][feathers2]\n- [Adafruit Liquid Level Sensor][liquid-level-sensor]\n- [Atlas Scientific Gravity Analog pH Kit][ph-kit]\n- [Atlas Scientific Gravity Analog Dissolved Oxygen Kit][do-kit]\n- [DS18B20 Temperature Sensor][ds18b20]\n\n[feathers2]: https://feathers2.io/\n[liquid-level-sensor]: https://www.adafruit.com/product/1786\n[ph-kit]: https://atlas-scientific.com/kits/gravity-analog-ph-kit/\n[do-kit]: https://atlas-scientific.com/kits/gravity-analog-do-kit/\n[ds18b20]: https://www.digikey.com/en/datasheets/maxim-integrated/maxim-integrated-ds18b20\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaseywebb%2Fmayfly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaseywebb%2Fmayfly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaseywebb%2Fmayfly/lists"}