{"id":50518164,"url":"https://github.com/karamble/meshtastic-aicamera","last_synced_at":"2026-06-03T01:31:52.723Z","repository":{"id":357381967,"uuid":"1236035153","full_name":"karamble/meshtastic-aicamera","owner":"karamble","description":"ESP32-C3 firmware that bridges Grove Vision AI V2 ML detections to a Meshtastic LoRa node over Bluetooth","archived":false,"fork":false,"pushed_at":"2026-05-12T14:55:41.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-12T15:36:07.131Z","etag":null,"topics":["ble","edge-ai","esp32-c3","grove-vision-ai-v2","lora","meshtastic","platformio","yolo"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karamble.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2026-05-11T22:23:47.000Z","updated_at":"2026-05-12T13:53:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/karamble/meshtastic-aicamera","commit_stats":null,"previous_names":["karamble/meshtastic-aicamera"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/karamble/meshtastic-aicamera","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karamble%2Fmeshtastic-aicamera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karamble%2Fmeshtastic-aicamera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karamble%2Fmeshtastic-aicamera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karamble%2Fmeshtastic-aicamera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karamble","download_url":"https://codeload.github.com/karamble/meshtastic-aicamera/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karamble%2Fmeshtastic-aicamera/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33844686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"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":["ble","edge-ai","esp32-c3","grove-vision-ai-v2","lora","meshtastic","platformio","yolo"],"created_at":"2026-06-03T01:31:52.106Z","updated_at":"2026-06-03T01:31:52.710Z","avatar_url":"https://github.com/karamble.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# meshtastic-ai-camera\n\nAn ML camera that broadcasts detections over a Meshtastic LoRa mesh. A XIAO ESP32-C3 bridges a Seeed Grove Vision AI V2 (Himax WE-2 NPU running a YOLO-family model) to a Meshtastic node (XIAO ESP32-S3 + Wio-SX1262) over Bluetooth. The bridge sends one text line per detection in the form `@CAM TRIGGERED:\u003cclass\u003e@\u003cscore\u003e` on the primary channel.\n\n## Hardware\n\n| Component | Role |\n|---|---|\n| Seeed Grove Vision AI V2 | Camera + Himax WE-2 SoC running the ML model |\n| XIAO ESP32-C3 (in the carrier socket) | Bridge MCU, runs the firmware in this repo |\n| XIAO ESP32-S3 + Wio-SX1262 | Meshtastic LoRa node |\n\nThe C3 talks I²C to the WE-2 (camera detections in) and BLE to the Meshtastic node (text frames out). No host PC is needed at runtime.\n\n## Quick start\n\nPrerequisites once per machine:\n\n```\npip3 install --user pyserial==3.5 xmodem==0.4.7 meshtastic\n```\n\nPer kit, from the repo root:\n\n```\ncp .env.example .env                # adjust BLE_PIN if you set a non-default in the Meshtastic app\nmake grove-pick                     # optional, pick a custom model bundle from the SenseCraft catalog\nmake flash-grove                    # WE-2 firmware + selected models\nmake flash-c3                       # bridge firmware\nmake set-ble-pin                    # writes BLE_PIN from .env to the bridge's NVS\nmake set-grove-aliases              # pushes the per-slot alias + class labels to the bridge's NVS\n```\n\nThen configure the Meshtastic node from the Meshtastic Android/iOS app per `docs/MESHTASTIC_NODE_USER.md`. The bridge will pair automatically and announce `@CAM bridge online` on the mesh once the node is up.\n\n## Make targets\n\n| Target | What it does |\n|---|---|\n| `build` | Compile bridge firmware without flashing |\n| `flash-c3` | Flash bridge firmware to the XIAO ESP32-C3 |\n| `flash-grove` | Flash WE-2 firmware + the manifest models to the Grove Vision AI V2 |\n| `fetch-grove-firmware` | Download the pinned WE-2 firmware to `firmware/grove/` |\n| `grove-pick` | Interactive picker for the WE-2 model bundle from the SenseCraft catalog |\n| `grove-show` | Read the per-slot alias and class table from the C3's NVS |\n| `set-ble-pin` | Push `BLE_PIN` from `.env` into the C3's NVS (no reflash) |\n| `set-grove-aliases` | Push the per-slot alias and class-label table to the C3's NVS (no reflash) |\n| `mesh-info` | Read Meshtastic node state over USB |\n| `help` | List all targets |\n\n## Documentation\n\n- `docs/PROJECT_OVERVIEW.md` - architecture and data flow\n- `docs/CAMERA_SUBSYSTEM_USER.md` - bring up the Grove Vision AI V2, plus the full runtime reference (mesh verbs, Wi-Fi operator console, USB REPL)\n- `docs/CAMERA_SUBSYSTEM_TECHNICAL.md` - WE-2 protocol and flash layout reference\n- `docs/MESHTASTIC_NODE_USER.md` - configure the Meshtastic node via the mobile app\n\n## License\n\nMIT. See `LICENSE`. The vendored `scripts/xmodem_send.py` is MIT (c) 2023 Himax Technologies, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaramble%2Fmeshtastic-aicamera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaramble%2Fmeshtastic-aicamera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaramble%2Fmeshtastic-aicamera/lists"}