{"id":24498877,"url":"https://github.com/xythobuz/giess-o-mat","last_synced_at":"2026-04-06T08:31:14.481Z","repository":{"id":45463686,"uuid":"363291867","full_name":"xythobuz/giess-o-mat","owner":"xythobuz","description":"DIY fertilizer mixer and plant watering machine, made with Arduino and ESP32.","archived":false,"fork":false,"pushed_at":"2022-11-28T20:58:36.000Z","size":355,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T07:14:19.623Z","etag":null,"topics":["arduino","esp32","esp8266","i2c","influxdb","platformio","websocket"],"latest_commit_sha":null,"homepage":"https://www.xythobuz.de/giessomat.html","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/xythobuz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-01T00:39:17.000Z","updated_at":"2024-01-02T23:04:00.000Z","dependencies_parsed_at":"2023-01-23T07:45:42.844Z","dependency_job_id":null,"html_url":"https://github.com/xythobuz/giess-o-mat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xythobuz/giess-o-mat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xythobuz%2Fgiess-o-mat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xythobuz%2Fgiess-o-mat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xythobuz%2Fgiess-o-mat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xythobuz%2Fgiess-o-mat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xythobuz","download_url":"https://codeload.github.com/xythobuz/giess-o-mat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xythobuz%2Fgiess-o-mat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31464604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"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"}},"keywords":["arduino","esp32","esp8266","i2c","influxdb","platformio","websocket"],"created_at":"2025-01-21T22:12:39.820Z","updated_at":"2026-04-06T08:31:14.465Z","avatar_url":"https://github.com/xythobuz.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Giess-o-mat\n\nFirmware for automatic plant-watering machine, with web interface, LCD and keypad support, using two MCUs communicating via I2C.\n\nFor more please also [take a look at Giess-o-mat on my website](https://www.xythobuz.de/giessomat.html).\n\n## Quick Start\n\nIf you don't already have it, get [PlatformIO](https://docs.platformio.org/en/latest/core/installation.html).\n\nBefore building for an ESP32 or ESP8266 target, execute the following commands, replacing \"...\" with the values of your network, so you can connect to WiFi.\n\n    echo '#define WIFI_SSID \"...\"' \u003e include/wifi.h\n    echo '#define WIFI_PW \"...\"' \u003e\u003e include/wifi.h\n\nThen simply run the build for all supported configurations with platformio.\n\n    pio run\n\nYou can of course also use pio to flash your targets.\n\nThere is also an optional Telegram bot integration.\n\n## Optional Networking Interfaces\n\nThere are both a Telegram bot implementation, as well as an MQTT client implemented in Giess-o-mat.\n\nRegister a new bot with the Telegram botfather and put the token into wifi.h as TELEGRAM_TOKEN.\nCompile and run the project, then send a message to the bot.\nLook for the chat ID in the log and put it into wifi.h in TRUSTED_IDS.\n\n    echo '#define TELEGRAM_TOKEN \"XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"' \u003e\u003e include/wifi.h\n    echo '#define TRUSTED_IDS { 1234, 5678 }' \u003e\u003e include/wifi.h\n\nMQTT can be enabled like this.\nThe last two parameters are optional.\n\n    echo '#define MQTT_HOST \"192.168.0.100\"' \u003e\u003e include/wifi.h\n    echo '#define MQTT_PORT 1883' \u003e\u003e include/wifi.h\n    echo '#define MQTT_USER \"USERNAME\"' \u003e\u003e include/wifi.h\n    echo '#define MQTT_PASS \"PASSWORD\"' \u003e\u003e include/wifi.h\n\n## Hardware\n\nIn general, the project consists of two parts, the controller and the ui.\nThey both communicate via I2C.\nIn my own setup, I'm running the controller on an ESP32, and the UI on an Arduino Nano.\nIt is also possible to run the controller with an ESP8266 or an Arduino instead.\nYou can also run both on one board, but this was up to now only used on Arduino for testing purposes.\n\nOf course you need to take care of voltage levels when connecting different boards.\nI'm running the UI with 5V and the ESP32 is using 3.3V.\nFor safety reasons I added a bi-directional I2C level converter between them.\n\n## Details\n\nThe following targets are defined for this project.\n\n| Name          | Board            | Function   | Tested | Usable |\n| ------------- | ---------------- | ---------- | ------ | ------ |\n| esp8266_main  | ESP8266          | Controller | No     | ?      |\n| esp32_main    | ESP32            | Controller | Yes    | Yes    |\n| arduino_ui    | Arduino Pro      | UI         | Yes    | Yes    |\n| arduino_test  | Arduino Pro      | Both       | Yes    | No     |\n| leonardo_main | Arduino Leonardo | Controller | Yes    | Yes    |\n| leonardo_test | Arduino Leonardo | Both       | Yes    | No     |\n\nThe \"unusable\" test targets were only used for easier development.\nThey do not have enough GPIOs for all functionality!\n\nESP8266 should work in theory, as long as the board has enough GPIOs, but I have not tested it.\n\nSee 'include/config_pins.h' for the GPIO number definitions for the different configurations.\nSome other options can be set in 'include/config.h'.\n\nWhen an ESP is used, a webinterface and OTA updater will be included as well.\nFor the ESP32, you can upload a new firmware using a webbrowser.\nSimply use the link on the main page of the web ui, then upload the '.pio/build/esp32_main/firmware.bin' file from the project directory after building.\n\nWriting events to InfluxDB is also supported.\nConfigure the server and database in 'include/config.h'.\nIt will store the valve-open duration (in seconds) with the following measurement types:\n\n    fertilizer\n    plant\n    calibrated_filling\n    calibrated_watering\n\nFertilizer shows each time a fertilizer pump has been running.\nPlant shows when multiple plants have been watered at the same time.\nAdditionally, calibrated_filling can be used to determine the inlet flowrate and calibrated_watering can be used to determine each outlet flowrate, as long as the tank size is known.\n\n## License\n\n    Copyright (c) 2021 Thomas Buck \u003cthomas@xythobuz.de\u003e\n\n    Giess-o-mat is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    Giess-o-mat is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with Giess-o-mat.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxythobuz%2Fgiess-o-mat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxythobuz%2Fgiess-o-mat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxythobuz%2Fgiess-o-mat/lists"}