{"id":19936634,"url":"https://github.com/archytech99/flowmeter","last_synced_at":"2026-05-13T06:34:58.173Z","repository":{"id":200285779,"uuid":"704429295","full_name":"archytech99/Flowmeter","owner":"archytech99","description":"Smart Water Measurement Library for Arduino","archived":false,"fork":false,"pushed_at":"2024-10-17T03:00:35.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T02:56:41.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/archytech99.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":"2023-10-13T08:36:45.000Z","updated_at":"2024-10-17T03:00:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"7848b55a-2fcf-43ae-85f0-50230011d6d5","html_url":"https://github.com/archytech99/Flowmeter","commit_stats":null,"previous_names":["archytech99/flowmeter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archytech99%2FFlowmeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archytech99%2FFlowmeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archytech99%2FFlowmeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archytech99%2FFlowmeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archytech99","download_url":"https://codeload.github.com/archytech99/Flowmeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241362852,"owners_count":19950639,"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":[],"created_at":"2024-11-12T23:27:39.757Z","updated_at":"2026-05-13T06:34:58.168Z","avatar_url":"https://github.com/archytech99.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart Water Measurement Library for Arduino\n\n## Version 1.0.1\n\n## Installation Instructions\n\nThe following instructions can be used to install the latest version of the library in the Arduino IDE:\n\n1. Download [the latest library ZIP file](https://github.com/archytech99/Flowmeter/archive/master.zip)\n2. In the Arduino IDE, select `Sketch` \u003e `Include Library` \u003e `Add .ZIP Library...`.  Browse to where the downloaded ZIP file is located and click `Open`. The Flowmeter library's examples will now appear under `File` \u003e `Examples` \u003e `Flowmeter`.\n\n## Examples\n\n### Simple example\n\n```C++\n#include \u003cFlowmeter.h\u003e\n#define PIN_SENSOR 2\nFlowmeter fw(PIN_SENSOR);\n\nvoid setup() {\n  // put your setup code here, to run once:\n  Serial.begin(115200);\n  int irq = digitalPinToInterrupt(PIN_SENSOR);\n  if (irq \u003c 0) {\n    Serial.println(\"Flowmeter: invalid interrupt pin.\");\n    Serial.println(\"UNO/Nano: use D2 or D3.\");\n    Serial.println(\"Mega 2560: use D2, D3, D18, D19, D20, D21.\");\n    Serial.println(\"ESP32: use a valid GPIO interrupt pin.\");\n  }\n\n  fw.begin(0.208f, 0.0f); // calibration, tolerance %\n\n}\n\nunsigned long oldLoop = 0;\nvoid loop() {\n  // put your main code here, to run repeatedly:\n  fw.update();\n\n  if ((millis()-oldLoop) \u003e 1000L \u0026\u0026 fw.getFlowLps() != 0.0f) {\n    oldLoop = millis();\n    Serial.print(\"Flow LPS: \");\n    Serial.println(fw.getFlowLps(), 4);\n    Serial.print(\"Flow LPM: \");\n    Serial.println(fw.getFlowLpm(), 3);\n    Serial.print(\"Flow LPH: \");\n    Serial.println(fw.getFlowLph(), 2);\n\n    Serial.print(\"Total L: \");\n    Serial.println(fw.getTotalLiters(), 3);\n    Serial.println();\n  }\n}\n```\n\n## Supported boards (tested targets)\n\nThis library targets Arduino-compatible cores for:\n\n- Arduino UNO (ATmega328P) - interrupt pins: D2, D3\n- Arduino Nano (ATmega328P) - interrupt pins: D2, D3\n- Arduino Mega 2560 (including Mega 2560 Pro) - interrupt pins: D2, D3, D18, D19, D20, D21\n- ESP32 - most GPIOs support interrupts; avoid strapping pins and input-only pins\n\nRecommended ESP32 GPIOs:\n\n- 4, 5, 13, 14, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33\n\nAvoid on ESP32:\n\n- Strapping pins: GPIO0, GPIO2, GPIO12, GPIO15\n- Input-only pins: GPIO34, GPIO35, GPIO36, GPIO39\n\nIf you select a pin without interrupt support, `begin()` returns early and the library will not count pulses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchytech99%2Fflowmeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchytech99%2Fflowmeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchytech99%2Fflowmeter/lists"}