{"id":40666852,"url":"https://github.com/borneo-iot/borneo","last_synced_at":"2026-05-11T09:03:49.472Z","repository":{"id":272400998,"uuid":"878313137","full_name":"borneo-iot/borneo","owner":"borneo-iot","description":"The world’s most advanced open-source aquarium LED PWM dimmer \u0026 mobile app.","archived":false,"fork":false,"pushed_at":"2026-04-28T21:06:55.000Z","size":38358,"stargazers_count":71,"open_issues_count":3,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-04-28T22:29:32.409Z","etag":null,"topics":["aquarium","aquarium-controller","aquarium-lights","dart","electronics","embedded","esp-idf","esp32","flutter","iot","iot-application","iot-device","led","led-controller","open-hardware","sota"],"latest_commit_sha":null,"homepage":"https://www.borneoiot.com","language":"Dart","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/borneo-iot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"AGENTS.md","dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"oldrev","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":["https://paypal.me/oldrev"]}},"created_at":"2024-10-25T06:51:05.000Z","updated_at":"2026-04-28T20:56:38.000Z","dependencies_parsed_at":"2026-04-06T08:01:52.316Z","dependency_job_id":null,"html_url":"https://github.com/borneo-iot/borneo","commit_stats":null,"previous_names":["oldrev/borneo","borneo-iot/borneo"],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/borneo-iot/borneo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borneo-iot%2Fborneo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borneo-iot%2Fborneo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borneo-iot%2Fborneo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borneo-iot%2Fborneo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/borneo-iot","download_url":"https://codeload.github.com/borneo-iot/borneo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borneo-iot%2Fborneo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32711965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: 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":["aquarium","aquarium-controller","aquarium-lights","dart","electronics","embedded","esp-idf","esp32","flutter","iot","iot-application","iot-device","led","led-controller","open-hardware","sota"],"created_at":"2026-01-21T09:13:32.998Z","updated_at":"2026-05-06T21:01:36.056Z","avatar_url":"https://github.com/borneo-iot.png","language":"Dart","funding_links":["https://ko-fi.com/oldrev","https://paypal.me/oldrev"],"categories":[],"sub_categories":[],"readme":"# BorneoIoT: Professional Aquarium Lighting Platform\n\n[![Firmware Build Status](https://github.com/borneo-iot/borneo/actions/workflows/fw-ci.yml/badge.svg)](https://github.com/borneo-iot/borneo/actions/workflows/fw-ci.yml)\n[![Firmware Release Status](https://github.com/borneo-iot/borneo/actions/workflows/fw-release.yml/badge.svg)](https://github.com/borneo-iot/borneo/actions/workflows/fw-release.yml)\n[![App Build Status](https://github.com/borneo-iot/borneo/actions/workflows/flutter-ci.yml/badge.svg)](https://github.com/borneo-iot/borneo/actions/workflows/flutter-ci)\n[![Hardware: OSHWA Certified](https://img.shields.io/badge/Hardware-OSHWA%20CN000017-green)](https://certification.oshwa.org/cn000017.html)\n[![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue)](LICENSE)\n[![License: CERN-OHL-S-2.0](https://img.shields.io/badge/Hardware%20License-CERN--OHL--S--2.0-lightgrey)](LICENSE-HARDWARE)\n\n\n![BorneoIoT Banner](assets/borneo-repo-banner.jpg)\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.borneoiot.com\"\u003e\u003cb\u003eWebsite\u003c/b\u003e\u003c/a\u003e •\n\u003ca href=\"https://docs.borneoiot.com\"\u003e\u003cb\u003eDocumentation\u003c/b\u003e\u003c/a\u003e •\n\u003ca href=\"https://github.com/borneo-iot/borneo/discussions\"\u003e\u003cb\u003eForum\u003c/b\u003e\u003c/a\u003e •\n\u003ca href=\"https://discord.gg/EFJTm7PpEs\"\u003e\u003cb\u003eDiscord\u003c/b\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.pcbway.com/project/gifts_detail/6_Channel_Wi_Fi_PWM_LED_Dimmer_for_Aquariums_adb134c9.html\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Buy-%20PCBWay-00a563?style=for-the-badge\u0026logo=cart\" alt=\"Get It on PCBWay\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.crowdsupply.com/borneo-iot/buce-aquarium-led-controller\" target=\"_blank\" rel=\"noopener\"\u003e\n\u003cimg alt=\"Crowd Supply: Subscribe\" src=\"https://img.shields.io/badge/Subscribe-Crowd%20Supply-009999?style=for-the-badge\u0026logo=crowdsupply\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://flasher.borneoiot.com\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/⚡%20Flash%20Firmware-Web%20Flasher-blue?style=for-the-badge\" alt=\"Web Flasher\" /\u003e\n\u003c/a\u003e\n\n\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://apps.apple.com/us/app/borneo-aqua-pro/id6759588830\" target=\"_blank\" rel=\"noopener\"\u003e\n        \u003cimg alt=\"Download on App Store\" src=\"assets/download-on-the-app-store.svg\" style=\"height: 60px;\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\n\n\n\u003e **Production-grade open-source stack for aquarium LED dimmers.**\n\u003e Hardware designs, embedded firmware, and mobile controls. Ready for weekend builds or product integration.\n\nThis project delivers a full-stack solution for smart aquarium LED:\n\n1.  **Hardware**: Certified open-source PCB designs targeting the ESP32 family, featuring 6-channel PWM dimming and modular architecture.\n2.  **Firmware**: A robust ESP-IDF based firmware implementing CoAP/CBOR protocols, sunrise/sunset simulation, and cooling control.\n3.  **Mobile App**: A cross-platform Flutter application for intuitive real-time control, scheduling, and device management.\n\n## Quick Start\n\n**New users:** Follow the **[step-by-step guide](https://docs.borneoiot.com/getting-started/quick-start.html)** to flash firmware and connect your first device.\n\n**No toolchain required**, flash directly from Chrome/Edge Browser:\n\n1. Connect ESP32/ESP32-C3/ESP32-C5 via USB\n2. Visit **[flasher.borneoiot.com](https://flasher.borneoiot.com)**\n3. Download the app and power on\n\n[Full Getting Started Guide](https://docs.borneoiot.com/getting-started)\n\n## Features\n\n### Hardware\n\n- **6 or 10 PWM channels**, 12-bit resolution (4096 steps), up to 19kHz\n- **Flicker-free**, suitable for aquarium photography\n- **22×30mm core module**, fits slim LED fixtures\n- ESP32-C3/C5 native, WiFi + Bluetooth LE\n\n[Schematics \u0026 BoM](hw/)\n\n![Ulva-6](assets/ulva6.jpg)\n\n### Firmware\n\n- **Sunrise/sunset curves** with millisecond-smooth transitions\n- **SNTP time sync**: automatic, no manual adjustment\n- **Active cooling control**: temperature-based fan/PWM throttling\n- **OTA updates**: over-the-air firmware upgrades\n- **CoAP + CBOR protocol**: efficient, low-latency device communication\n\n[Source code](fw/) • [Protocol docs](https://docs.borneoiot.com/protocol)\n\n### Mobile App\n\n- **Cross-platform**: iOS, Android, Windows, built with Flutter\n- **Real-time control**: dimming, scheduling, scene presets\n- **Multi-device**: group control, cloud-free local network\n- **Developer API**: Python client for automation\n\n[App source](client/) • [Python SDK](borneopy/)\n\n## Repository Guide\n\n| Directory | Contents | Entry Point |\n|-----------|----------|-------------|\n| [`hw/`](hw/) | PCB designs (Horizon EDA), Gerbers, 3D models | [`hw/README.md`](hw/) |\n| [`fw/`](fw/) | ESP-IDF firmware, CoAP protocol | [`fw/README.md`](fw/) |\n| [`client/`](client/) | Flutter mobile app | [`client/README.md`](client/) |\n| [`borneopy/`](borneopy/) | Python client library | [`borneopy/README.md`](borneopy/) |\n\n## Getting Started\n\n- **New Users**: Check out our [**Quick Start Guide**](https://docs.borneoiot.com/getting-started/quick-start.html).\n- If you are a new user looking to quickly experience our firmware, you can directly use our web firmware flasher to flash the latest version of the firmware to your ESP32 series development board: https://flasher.borneoiot.com/\n- **Hardware**: Find schematics and BoM files in the [`hw/`](hw/) directory.\n- **Firmware**: Compilation instructions are available in the [`fw/`](fw/) folder.\n\n## Project Status\n\n| Component | Status | Details |\n| :--- | :--- | :--- |\n| **Hardware** | Stable | Production-ready, OSHWA certified. |\n| **Firmware** | Beta | Full-featured and stable on my personal tanks for years. |\n| **Mobile App** | Beta | Core functionality working. |\n\n## Roadmap\n\nCheck our [milestones](https://github.com/borneo-iot/borneo/milestones) for the latest development updates and upcoming features.\n\n## Community \u0026 Support\n\n- **Website**: [www.borneoiot.com](https://www.borneoiot.com)\n- **Documentation**: [docs.borneoiot.com](https://docs.borneoiot.com)\n- **Discussions**: [Join the Conversation](https://github.com/borneo-iot/borneo/discussions)\n- **Discord**: [Connect with Developers](https://discord.gg/EFJTm7PpEs)\n- **Email**: [info@binarystarstech.com](mailto:info@binarystarstech.com)\n\n## Licenses\n\n- **Software/Firmware**: Dual-licensed under [**GPL-3.0+**](LICENSE) and Enterprise licenses.\n- **Hardware**: Licensed under [**CERN-OHL-S-2.0**](LICENSE-HARDWARE).\n\n---\n\nCopyright © 2025-TODAY [Yunnan BinaryStars Technologies, Co., Ltd.](https://www.binarystarstech.com/en) All rights reserved.\n\nThe hardware, firmware, and App for this project were all created by: Wei Li（李维）.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborneo-iot%2Fborneo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fborneo-iot%2Fborneo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborneo-iot%2Fborneo/lists"}