{"id":28103239,"url":"https://github.com/phts/lvl-1","last_synced_at":"2026-04-18T11:32:22.706Z","repository":{"id":289838172,"uuid":"884487453","full_name":"phts/LVL-1","owner":"phts","description":"Firmware of PHTS LVL-1 device","archived":false,"fork":false,"pushed_at":"2025-10-02T11:24:29.000Z","size":1429,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-02T12:38:36.305Z","etag":null,"topics":["arduino","phts-electronics","phts-lvl-1"],"latest_commit_sha":null,"homepage":"https://oshwlab.com/phts/lvl-1","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/phts.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-06T20:57:28.000Z","updated_at":"2025-09-23T14:24:42.000Z","dependencies_parsed_at":"2025-09-01T18:39:53.874Z","dependency_job_id":"c494e647-069e-4729-8505-5a33773d9df2","html_url":"https://github.com/phts/LVL-1","commit_stats":null,"previous_names":["phts/lvl-1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phts/LVL-1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FLVL-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FLVL-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FLVL-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FLVL-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phts","download_url":"https://codeload.github.com/phts/LVL-1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FLVL-1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019115,"owners_count":26086679,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"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","phts-electronics","phts-lvl-1"],"created_at":"2025-05-13T20:27:21.881Z","updated_at":"2026-04-18T11:32:22.699Z","avatar_url":"https://github.com/phts.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHTS LVL-1\n\n![](./doc/model.png)\n\nFeatures:\n\n- Use ultrasonic sensor to measure distance\n- Show level on the big fancy indicator\n- Send levels and logs to [szambo.tsaryk.com] via Wi-Fi\n- 24/7 monitoring\n- Remote control via internet\n\n## Firmware\n\nConsists of 2 modules: [Arduino Nano](./arduino) and [NodeMCU V3](./nodemcu).\n\n## Hardware\n\n- Arduino Nano\u003csup\u003e\u003cspan title=\"original or equivalent\"\u003e\\*\u003c/span\u003e\u003c/sup\u003e\n- NodeMCU V3\u003csup\u003e\u003cspan title=\"original or equivalent\"\u003e\\*\u003c/span\u003e\u003c/sup\u003e\n- Ultrasonic sensor: HC-SR04\u003csup\u003e\u003cspan title=\"original or equivalent\"\u003e\\*\u003c/span\u003e\u003c/sup\u003e or AJ-SR04M\u003csup\u003e\u003cspan title=\"original or equivalent\"\u003e\\*\u003c/span\u003e\u003c/sup\u003e\n- Analog meter 0-5V\n- Buttons/LEDs/etc\n\n## Design\n\n### Schematic diagram\n\nHosted on: [OSHWLab/phts/lvl-1](https://oshwlab.com/phts/lvl-1).\n\n![](https://image-pro.easyeda.com/pullimages/0f48d2ae3bf24f1691df2f1edecb8f2f.webp)\n\n### Deployment diagram\n\n![](./doc/deployment.png)\n\n[szambo.tsaryk.com]: https://github.com/phts/szambo.tsaryk.com\n\n## Usage\n\n### Indication\n\n| State   | LED                                | Meter                                                               | Description                                                          |\n| ------- | ---------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- |\n| Normal  | `______________` (constantly off)  | Actual level                                                        | Normally operational device                                          |\n| Warning | `**************` (constantly on)   | Actual level                                                        | Level is reaching the maximum                                        |\n| Busy    | `*______*______` (slowly blinking) | - Starting up: progress bar (number on `%` bar)\u003cbr\u003e- Busy: not used | The device is starting up or performing an action                    |\n| Failure | `*_*_*_*_*_*_*_` (fast blinking)   | Error code (number on `m³` bar)                                     | Operation failure. See the error code description in the table below |\n\n#### Errors\n\n| Code | Type      | Description                          |\n| ---- | --------- | ------------------------------------ |\n| 1    | Fatal     | Ultrasonic sensor failure            |\n| 2    | Temporary | NodeMCU module communication failure |\n| 3    | Temporary | Wi-Fi connection failure             |\n| 4    | Temporary | Unexpected HTTP response             |\n\n- `Fatal` \u0026mdash; will be indicated constantly until the failure is gone\n- `Temporary` \u0026mdash; will be hidden after 1 minute and back to the previous state\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Flvl-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphts%2Flvl-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Flvl-1/lists"}