{"id":20238149,"url":"https://github.com/basilfx/water-level-sensor","last_synced_at":"2026-05-12T09:38:30.184Z","repository":{"id":145221204,"uuid":"407969970","full_name":"basilfx/Water-Level-Sensor","owner":"basilfx","description":"Capacitive water level sensor based on a custom Arduino-based board.","archived":false,"fork":false,"pushed_at":"2021-09-20T20:51:57.000Z","size":9962,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-03T14:47:50.545Z","etag":null,"topics":["arduino","atmega328p","capacitive-touch-sensor","embedded"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basilfx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-09-18T21:20:40.000Z","updated_at":"2021-09-20T20:52:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"bdb0e432-cd6f-4032-8fc5-68ef7cd92657","html_url":"https://github.com/basilfx/Water-Level-Sensor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/basilfx/Water-Level-Sensor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilfx%2FWater-Level-Sensor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilfx%2FWater-Level-Sensor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilfx%2FWater-Level-Sensor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilfx%2FWater-Level-Sensor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basilfx","download_url":"https://codeload.github.com/basilfx/Water-Level-Sensor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilfx%2FWater-Level-Sensor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32933181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["arduino","atmega328p","capacitive-touch-sensor","embedded"],"created_at":"2024-11-14T08:31:48.057Z","updated_at":"2026-05-12T09:38:30.168Z","avatar_url":"https://github.com/basilfx.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Water Level Sensor\nCapacitive water level sensor based on a custom Arduino-based board.\n\n## Introduction\nThis project started as an experiment to see if a water level sensor (with\nfixed intervals) could be built, using the Arduino\n[ADCTouch](https://github.com/martin2250/ADCTouch) library and capacitive\nsensors. Capacitive sensors have the advantage that they can be isolated from\nwater, creating a water-tight sensor.\n\nIn this repository, you can find the CAD designs, firmware and 3D printed\nparts to create a water level sensor.\n\n[\u003cimg src=\"pcb/Pictures/Image1.jpg\" width=\"256\" alt=\"Image 1 of complete board.\"\u003e](pcb/Pictures/Image1.jpg)\n\n## Features\n* Small board that finds in a 19mm tube.\n* 4 channels/board, can be daisy-chained up to 8 boards.\n* I2C connection.\n* Temperature sensor.\n\n## Contents\n* The `3d/` folder contains a 3D-printable designs for the necessary parts.\n* The `applications/` folder contain applications and drivers that can interact\n  with the sensor.\n* The `firmware/` folder contains the Platform.IO-based firmware that runs on\n  the sensors.\n* The `pcb/` folder contains the Kicad schema and board design.\n\n## My setup\nSeveral proof of concepts have been built, to validate the idea and the\nsensitivity of the setup in a 19mm PVC pipe (electrical conduit pipe). This\npipe was perfect for my 400 liter rain barrel, only occupying 0.5 L of water.\n\nTo create the fixed intervals, I 3D printed coils that I wound using 1.5 mm²\nelectrical wire. I could not get copper/aluminium tube that fitted exactly in\nthe 19mm tube, and this 'solution' somewhat expands against the inside of the\ntube, ensuring as little as possible air between the tube and the coil.\n\n[\u003cimg src=\"3d/Pictures/Coil.png\" width=\"192\" alt=\"Actual assembly of the coil.\"\u003e](3d/Pictures/Coil.png)\n\nIn total, I used 4 sensor boards, connecting a total of 16 intervals, or\n25 liter per interval. The picture below shows render of how one sensor board\nis used for four intervals. Four of these assemblies are daisy-chained\ntogether. The parent board is then connected to an external application to\nread the sensor.\n\n[\u003cimg src=\"3d/Pictures/Assembly.png\" width=\"192\" alt=\"3D render of assembly.\"\u003e](3d/Pictures/Assembly.png)\n\n## License\nThe work in this repository is covered by CC BY-NC-SA 4.0. See the `LICENSE.md`\nfile for more information.\n\nSome parts of this project are covered by a different license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilfx%2Fwater-level-sensor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasilfx%2Fwater-level-sensor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilfx%2Fwater-level-sensor/lists"}