{"id":15142172,"url":"https://github.com/chasmack/seedling","last_synced_at":"2026-01-21T10:01:52.574Z","repository":{"id":96777307,"uuid":"247178935","full_name":"chasmack/seedling","owner":"chasmack","description":"Seedling heat mat controller","archived":false,"fork":false,"pushed_at":"2020-06-07T21:26:17.000Z","size":411,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T15:17:44.768Z","etag":null,"topics":["1-wire","bang-bang","circuit-python","ds18b20","ds2482","flask-application","systemd-service","temperature-control"],"latest_commit_sha":null,"homepage":null,"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/chasmack.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":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-13T23:31:25.000Z","updated_at":"2023-03-28T14:29:58.000Z","dependencies_parsed_at":"2024-03-05T18:01:48.716Z","dependency_job_id":null,"html_url":"https://github.com/chasmack/seedling","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chasmack/seedling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chasmack%2Fseedling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chasmack%2Fseedling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chasmack%2Fseedling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chasmack%2Fseedling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chasmack","download_url":"https://codeload.github.com/chasmack/seedling/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chasmack%2Fseedling/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28631936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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"}},"keywords":["1-wire","bang-bang","circuit-python","ds18b20","ds2482","flask-application","systemd-service","temperature-control"],"created_at":"2024-09-26T09:24:13.370Z","updated_at":"2026-01-21T10:01:52.556Z","avatar_url":"https://github.com/chasmack.png","language":"Python","readme":"## Seedling Control\n\nA bang-bang temperature controller for seedling heat mats. \n\nImplements four independent channels of control. \nEach channel uses a DS18B20 1-wire temperature sensor for feedback. \nAdditional DS18B20 sensors can be configured to monitor auxiliary temperatures. \nA web interface is provided to monitor and adjust temperatures. \nThe top level monitor process runs as a SYSTEMD(1) service. \n\n### Hardware\n\nThe system runs on a Raspberry Pi Zero. The Pi's I2C port controls an MCP23008 8-bit I/O expander \nand a DS2482-100 1-wire master. The I/O expander in turn drives a quad opto-coupled relay module. \nThe 1-wire master controls four DS18B20 temperature sensors running parasitic power mode. \nAdditional DS18B20 sensors can be added. The I/O expander and I2C master both run on +5v power \nto reduce load on the Pi's 3v3 supply. An Adafruit BSS138 4-channel bi-directional level shifter \nis used to convert the Pi's 3v3 I2C bus to run with the 5v I/O.\n\n### Control Process\n\nA simple control loop reads the DS18B20 temperature sensors and controls the relay ports. \nA command queue allows control channels to be enabled/disabled and the setpoint adjusted. \nA response queue acknowledges commands and provides system status. \n\n### Web User Interface\n\nA Flask web app displays the system status and allows control channels to be adjusted. \n\n---\n\n![Seedling Web UI](https://github.com/chasmack/seedling/blob/master/docs/screenshot.png \"Seedling Web UI\")\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchasmack%2Fseedling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchasmack%2Fseedling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchasmack%2Fseedling/lists"}