{"id":50557056,"url":"https://github.com/microsoft/sparrow","last_synced_at":"2026-06-04T08:01:41.966Z","repository":{"id":323539866,"uuid":"1077790559","full_name":"microsoft/SPARROW","owner":"microsoft","description":"SPARROW — Solar-Powered Acoustic and Remote Recording Observation Watch. An AI-enabled edge device for biodiversity monitoring with camera-trap imaging and bioacoustic recording. By Microsoft AI for Good Lab.","archived":false,"fork":false,"pushed_at":"2026-06-03T22:08:16.000Z","size":11298,"stargazers_count":25,"open_issues_count":11,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-03T23:19:26.090Z","etag":null,"topics":["ai-for-good","audiomoth","bioacoustics","biodiversity","camera-traps","conservation","ecology","edge-ai","edge-computing","iot","megadetector","microsoft-research","nvidia-jetson","solar-powered","sparrow","starlink","wildlife-detection","wildlife-monitoring"],"latest_commit_sha":null,"homepage":"https://unlocked.microsoft.com/project-sparrow/","language":"Python","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/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"citation.cff","codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","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":"2025-10-16T18:36:29.000Z","updated_at":"2026-06-03T22:10:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/microsoft/SPARROW","commit_stats":null,"previous_names":["microsoft/sparrow-client","microsoft/sparrow"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/SPARROW","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FSPARROW","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FSPARROW/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FSPARROW/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FSPARROW/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/SPARROW/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FSPARROW/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33895175,"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-04T02:00:06.755Z","response_time":64,"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":["ai-for-good","audiomoth","bioacoustics","biodiversity","camera-traps","conservation","ecology","edge-ai","edge-computing","iot","megadetector","microsoft-research","nvidia-jetson","solar-powered","sparrow","starlink","wildlife-detection","wildlife-monitoring"],"created_at":"2026-06-04T08:01:40.069Z","updated_at":"2026-06-04T08:01:41.956Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![SPARROW — Solar-Powered Acoustic and Remote Recording Observation Watch, edge AI for wildlife monitoring](https://zenodo.org/records/17547596/files/SPARROW-banner.png)\n \n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e \n\u003cfont size=\"6\"\u003e Accelerating Research and Conservation with Edge AI.\u003c/font\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003c!-- Badges Section --\u003e\n\u003cp align=\"center\"\u003e\n  \u003c!-- License --\u003e  \n    \u003cimg src=\"https://pypi-camo.freetls.fastly.net/cd0913ed24368b790668a699719b5562b033448d/68747470733a2f2f696d672e736869656c64732e696f2f707970692f6c2f5079746f72636857696c646c696665\"\u003e\n  \u003c!-- Docker --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docker-ready-blue?logo=docker\"\u003e\n  \u003c!-- Contributions Welcome --\u003e\n  \u003cimg src=\"https://img.shields.io/badge/contributions-welcome-brsvg\"\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n# 👋 Welcome to SPARROW\n\n**SPARROW**, developed by **Microsoft's AI for Good Lab**, is an **AI-powered edge computing solution** designed to monitor and protect wildlife in the most remote regions of the world. \n\nSolar-powered and equipped with advanced sensors, it collects biodiversity data—from camera traps, acoustic monitors, and other environmental detectors—that are processed using our most advanced PyTorch-based wildlife AI models on power efficient edge GPUs. \n\nThe resulting critical information is then transmitted via low-Earth orbit satellites directly to the cloud or on-premise infrastructure, allowing researchers to access fresh, actionable insights in real time, no matter where they are.\n\u003c!-- This section has the latex citation \nTo learn more about project SPARROW, please checkout our SPARROW paper here 👉 [aka.ms/sparrowpaper](https://aka.ms/sparrowpaper)--\u003e\n\n---\n\n## Part of the Microsoft Biodiversity Ecosystem\n\n| Repository | Description |\n|---|---|\n| [microsoft/Biodiversity](https://github.com/microsoft/Biodiversity) | Umbrella hub — PyTorch-Wildlife, MegaDetector, ecosystem overview |\n| [microsoft/MegaDetector](https://github.com/microsoft/MegaDetector) | Animal/human/vehicle detector for camera traps |\n| [microsoft/Pytorch-Wildlife](https://github.com/microsoft/Pytorch-Wildlife) | Unified AI framework: detection + species classification |\n| [microsoft/MegaDetector-Acoustic](https://github.com/microsoft/MegaDetector-Acoustic) | Bioacoustic AI for audio-based wildlife detection and classification |\n| [microsoft/MegaDetector-Overhead](https://github.com/microsoft/MegaDetector-Overhead) | Wildlife detection in aerial and drone imagery |\n| [microsoft/MegaDetector-Sonar](https://github.com/microsoft/MegaDetector-Sonar) | Sonar-based wildlife detection for aquatic monitoring |\n| [microsoft/MegaDetector-Classifier](https://github.com/microsoft/MegaDetector-Classifier) | Camera-trap species classification fine-tuning — adapt classifiers to your own datasets and geographic regions |\n| [microsoft/SPARROW](https://github.com/microsoft/SPARROW) | This repo — solar-powered edge AI for wildlife monitoring |\n| SPARROW Studio | Desktop application for all AI for Good Lab models |\n\n---\n\n# ✨ Key Features\n\n1. **🔋 Autonomous operation**  \n   Intelligent power management with solar charging, battery health monitoring, and dynamic component scheduling enables continuous off-grid operation.\n\n2. **📷 Sensing**  \n   Camera traps, acoustic monitoring, and environmental sensors - SPARROW integrates multi-modal sensing to capture images, sounds, and enviromental metrics for comprehensive biodiversity monitoring.\n\n3. **🧠 On-device AI**  \n   Runs optimized PyTorch-Wildlife models on power efficient edge GPUs (e.g., Jetson Orin Nano) for real-time image and acoustic detection, species classification, and event recognition.\n\n4. **🌐 Global connectivity**  \n   Even in the most remote ecosystems, SPARROW maintains a link to the cloud or on-premise infrastructure through low-Earth-orbit satellites, ensuring that vital conservation data reaches researchers in near real time.\n\n5. **🛡️ Resilience**  \n   Designed for extreme field conditions - SPARROW safely records data when offline, automatically synchronizing once connectivity is restored to ensure no loss of information.\n\n---\n\n# This repository contains the **SPARROW client**:  \nData collection, on-device inference, power management, telemetry, and secure transmission.  \n\nAll services run in **Docker** and are orchestrated with **Docker Compose**. 🐳\n\n---\n\n# 🚀 Getting Started\n\n## 🛠️ 1. Hardware Assembly\n\n\n### 📋 Prerequisites\n\n\u003cdetails\u003e\n\u003csummary\u003e 🛒 Before you begin, ensure you have all the necessary hardware listed in the SPARROW Bill of Materials (BOM) below: 👉CLICK TO EXPAND\u003c/summary\u003e\n\nThe following list represents our **recommended Bill of Materials** for assembling SPARROW devices. Components listed under the **Tested \u0026 Recommended** column are those on which the official assembly guide was developed and validated.\n\nIf you choose alternative components, please be aware that additional steps may be required and potential compatibility issues could arise. \n\nThis curated list is designed to simplify the process for beginners and those with limited hardware experience, ensuring a smoother build and reliable performance.\n\n\u003cp style=\"font-size:9px;\"\u003e\n \n| **System** | **Item**                                                        | **Description**                                                                                                                                                                                                                              | **Qty** | **Tested/Recommended**                                                                                                                                                   |\n| -------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Brain          | NVIDIA Jetson Orin Nano Super Developer Kit                         | AI Edge Compute Device                                                                                                                                                                                                                            | 1           | NVIDIA Jetson Orin Nano Super Developer Kit                                                                                                                                  |\n|                | 2TB PCIe Gen 4 NVMe M.2 Internal Solid State Hard Drive             | 2TB SSD Drive                                                                                                                                                                                                                                     | 1           | Samsung 980 PRO SSD MZ-V8P2T0CW                                                                                                                                              |\n|                | Pi 3 Click Shield                                                   | Pi 3 Click Shield converts the GPIO pins on the NVIDIA Jetson Orin Nano into two mikroBUS™ sockets                                                                                                                                                | 1           | MIKROE-2756                                                                                                                                                                  |\n|                | mikroBUS Shuttle                                                    | Mikroe Shuttle is a small add-on board, which is intended to be used with Shuttle click, in order to expand the mikroBUS™ with additional stacking options.                                                                                       | 4           | MIKROE-2882                                                                                                                                                                  |\n|                | mikroBUS Shuttle Click                                              | Shuttle click is a mikroBUS socket expansion board, which provides an easy and elegant solution for stacking up to four click boards\\\\ on a single mikroBUS                                                                                       | 2           | MIKROE-2880                                                                                                                                                                  |\n|                | DS3231M I2C Board                                                   | Real-time clock module which has an extremely low power consumption, allowing it to be used with a single button cell battery, for an extended period of time                                                                                     | 1           | MIKROE-3770                                                                                                                                                                  |\n|                | BME688 I2C Board                                                    | Compact add-on board that contains a four-in-one environmental measurement solution                                                                                                                                                               | 1           | MIKROE-4893                                                                                                                                                                  |\n|                | SHTC3 I2C Board                                                     | The SHTC3 sensors offers the complete measurement system: capacitive RH sensor, bandgap thermal sensor, analog and digital data processing, and the I2C communication interface                                                                   | 1           | MIKROE-3331                                                                                                                                                                  |\n|                | I2C Relay Board                                                     | Relay board featuring at least one SRD-5VDC-SL-C relays                                                                                                                                                                                           | 1           | MIKROE-3357                                                                                                                                                                  |\n|                |                                                                     |                                                                                                                                                                                                                                                   |             |                                                                                                                                                                              |\n| Power          | 24V 15A MPPT Solar Charge Controller                                | 24V 15A (at least) MPPT solar charge controller with load output control and usb interface                                                                                                                                                        | 1           | Victron Smart Solar MPPT 100V/20A SCC110020160R                                                                                                                              |\n|                | USB Solar Charge Controller Interface                               | Direct to USB interface connection to devices with a USB port                                                                                                                                                                                     | 1           | Victron Energy VE.Direct to USB interface ASS030530010                                                                                                                       |\n|                | 100 Watt Solar Panels Monocrystalline Solar Panel                   | 100 Watt Monocrystalline Solar Panel (at least 2 required working in a 24V matrix)                                                                                                                                                                | 2           | ECO-WORTHY 100 Watt Solar Panel US-L02M100-B-1                                                                                                                               |\n|                | 10AWG Solar Extension Cable 30A/1000V DC PV004, IP67                | Cables that go from the Solar Panels to the Solar Charge Controller (overall length subject to installation)                                                                                                                                      | 1           | ECO-WORTHY 10FT 10AWG Solar Extension Cable 30A/1000V DC, IP67 Waterproof with Compatible Quick Connectors                                                                   |\n|                | 45in Solar Panel Mount Brackets                                     | 45in Solar Panel Mount Brackets, with Foldable Tilt Legs Suitable for 2pcs 100W                                                                                                                                                                   | 1           | ECO-WORTHY 45in Solar Panel Mount Brackets US-L03TYNSJZJ4-1                                                                                                                  |\n|                | 24V 50Ah or 100Ah LifePo4 Battery                                   | 24V 50Ah  100Ah LifePo4 Battery (capacitiy depending on deployment conditions/location)                                                                                                                                                           | 1           | ECO-WORTHY 24V 100Ah LiFePO4 Lithium Battery US-L13070402010-1                                                                                                               |\n|                | SAE to O Ring 10AWG Battery Connector Terminal                      | Fused Battery Cable that goes from the Battery (O-Ring) to the Solar Controller Battery Cable (SAE)                                                                                                                                               | 1           | iGreely 10 Gauge Wire SAE to O Ring Terminal                                                                                                                                 |\n|                | 10AWG Solar Panel Connector Cable                                   | Solar Controller Battery Cable (SAE), 10AWG SAE to PV Male \u0026 Female Adapter (overall length subject to installation, see assembly instructions on how to modify for this use case)                                                                | 1           | iGreely Solar Panel Connector Cable, 10AWG SAE to Male \u0026 Female Adapter                                                                                                      |\n|                |                                                                     |                                                                                                                                                                                                                                                   |             |                                                                                                                                                                              |\n| Build          | Outdoor Weatherproof IP65 Electrical Junction Box                   | Outdoor Weatherproof IP65 Electrical Junction Box, Ventilated Design,  Use with Mounting Panel \u0026 Hinged Cover. Size: 17\"x13\"x7\"                                                                                                                   | 1           | ANIMACYN Electrical Junction Box, Ventilated Design, Cable Grommets, Indoor/Outdoor Use with Mounting Panel \u0026 Hinged Cover. Waterproof IP 65. (Grey Cover, 17.7\"x13.7\"x7.9\") |\n|                | 18AWG Speaker Wire (Black+Red)                                      | 18AWG Copper Clad Aluminum Speaker Wire (Black + Red)                                                                                                                                                                                             | 1           | GEARit GEARit Speaker Wire 18 Gauge, Speaker Cable 18AWG                                                                                                                     |\n|                | Displayport Headless EDID Dongle                                    | Displayport monitor emulator required to guarantee image output during remote control of Jetson unit                                                                                                                                              | 1           | BKFK dp Dummy Plug - Display to hdmi Adapter, Luna Display Virtual Window for Home-edid Emulator-Dummy, displayport Headless dummie dongle(DP-1P)                            |\n|                | 5.5mm x 2.5mm 90 Degree Right Angle DC Barrel Male Plug Jack        | 5.5mm x 2.5mm 90 Degree Right Angle DC Barrel Plug to Power the Jetson Unit                                                                                                                                                                       | 1           | Fancasee DC Power Pigtail Cable, 10-Pack 5.5mm x 2.5mm 90 US-CAB-65                                                                                                          |\n|                | 5.5mm x 2.1mm DC Female Plug to Bare Wire                           | Starlink Mini Power DC Female Plug (you can use either a DC female plug to bare wire, or a fully assembled pig tail)                                                                                                                              | 1           | Tonton 16AWG DC Power Pigtails Cable - 3.3FT, Pure Copper, Orange - 5.5mm x 2.1mm DC Female Plug to Bare Wire Open End                                                       |\n|                | Zip Ties Assorted Size                                              | Zip Ties Assorted Size, Double Sided Toothed,Heavy Duty Cable Wire Ties                                                                                                                                                                           | 1           | JIANYANG Zip Ties Assorted Size, 8+12+14+18 Inch                                                                                                                             |\n|                | 10FT USB A to Micro USB Cable                                       | Long Micro USB cable for the Audiomoth                                                                                                                                                                                                            | 1           | MOVOYEE Long 10FT USB to Micro USB Cable                                                                                                                                     |\n|                | PG7 PG9 PG11 PG13.5 PG16 PG19 Weatherproof Cable Gland Connectors   | Weatherproof Cable Gland Connectors to route the cables going in and out of the electrical Junction Box                                                                                                                                           | 1           | LISTENJIALE Cable Gland Waterproof 50 pcs                                                                                                                                    |\n|                |                                                                     |                                                                                                                                                                                                                                                   |             |                                                                                                                                                                              |\n| Network        | STARLINK Mini Kit                                                   | STARLINK Mini Kit - High-Speed Portable Internet for Remote and Mobile Use                                                                                                                                                                        | 1           | Starlink Mini Antenna Kit                                                                                                                                                    |\n|                | Starlink Ethernet Adapter RJ45 Coupler Waterproof Compatible        | Weatherproof Starlink Compatible RJ45 Coupler                                                                                                                                                                                                     | 1           | EAZUSE RJ45 Starlink Ethernet Adapter Gen 3/Mini                                                                                                                             |\n|                | Cat 6 Outdoor Ethernet Cable from Jetson to Starlink                | Cat 6 Outdoor Ethernet Cable, 24AWG 10Gbps Waterproof Direct Burial LLDPE UV Jacket (overall length subject to installation)                                                                                                                      | 1           | VOIETOLT Cat 6 Outdoor Ethernet Cable 30 ft, 24AWG 10Gbps Cat6 Cable Cord Waterproof Direct Burial LLDPE UV Jacket                                                           |\n|                | 2X WiFi Antenna with MHF4/IPEX to RP-SMA Pigtail Antenna WiFi Cable | Pair of 6dBi Dual Band WiFi RP-SMA Male Antenna +2 x 35CM RP-SMA IPEX MHF4 Pigtail Cable for M.2 NGFF WiFi WLAN Card                                                                                                                              | 1           | HIGHFINE 2 x 6dBi 2.4GHz 5GHz Dual Band WiFi RP-SMA Male Antenna+2 x 35CM RP-SMA IPEX MHF4 Pigtail Cable for M.2 NGFF WiFi WLAN Card                                         |\n| Optional       | 10dBi Long Range Outdoor WiFi Fiberglass Antenna                    | Optional upgrade to improve overall WiFi Range. Requires additional glands to route the cables through the Junction Box Case, \\*\\*IMPORTANT NOTE: MHF4/IPEX to RP-SMA Pigtail Antenna WiFi Cable is REQUIRED and must be purchased separately\\*\\* | 2           | eifagur 10dBi Long Range Dual Band WiFi 2.4GHz 5GHz Fiberglass Antenna                                                                                                       |\n|                |                                                                     |                                                                                                                                                                                                                                                   |             |                                                                                                                                                                              |\n| Audio          | AudioMoth Dev Case                                                  | Weatherproof AudioMoth Case                                                                                                                                                                                                                       | 1           | AudioMoth Dev Case                                                                                                                                                           |\n|                | AudioMoth Dev Board                                                 | AudioMoth Dev board                                                                                                                                                                                                                               | 1           | AudioMoth Dev Board                                                                                                                                                          |\n|                |                                                                     |                                                                                                                                                                                                                                                   |             |                                                                                                                                                                              |\n| Camera         | 2.4Ghz Solar WiFi Security Camera                                   | Solar Weatherproof WiFi Cameras to be used as the SPARROW Camera Traps (you can use up to 150 cams per SPARROW main unit)                                                                                                                         | 1           | Reolink Argus Eco+                                                                                                                                                           |\n\n\u003c/p\u003e\n\n\u003c/details\u003e\n\nTo download a PDF version of this BOM list, please visit 👉 [aka.ms/sparrowbom](https://aka.ms/sparrowbom)\n\nSPARROW Bill of Materials (BOM) © 2025 by Microsoft is licensed under MIT.\n🔗 To view a copy of this license, visit: [MIT License](https://mit-license.org/)\n\n### ⚠️ Important Note on Alternative I²C Boards\nIf you choose to use generic I²C boards, please be aware that some modifications to the device address in the code 🔍 may be necessary. Different vendors often assign addresses that vary from those provided in this release.\nFor simplicity and flexibility, we adopted the Mikroe MikroBUS standard ✅, which greatly reduces the barrier to entry thanks to its ease of assembly 🔧 and standardized interface.\nOur assembly guide 📖 was drafted using Mikroe Click boards, so if you opt for generic I²C boards, expect additional steps not covered in the guide. This approach is recommended only for advanced users 🛠️ familiar with hardware integration and troubleshooting. \n\nGeneric boards may require custom wiring and code adjustments beyond what is documented here.\n\n💡 Tip: To ensure a smooth experience, we strongly recommend starting with MikroBUS-compatible modules unless you have prior technical experience with I²C board assemblies, I²C address mapping and board-specific configurations.\n\n### 🏗️ Hardware Assembly Instructions\nFollow this step-by-step guide to assemble your SPARROW device with ease. We designed the process around the Mikroe MikroBUS standard for maximum flexibility and simplicity, reducing the skill barrier for new users. Each step includes clear visuals and tips to ensure proper installation of components like sensors, connectors, and power modules. \n\n⚠️ If you choose alternative boards or custom configurations, additional steps may be required and are not covered in this guide. For best results, start with the recommended components and verify connections before powering up. 🔌\n\nTo download the SPARROW Hardware Assembly Guide, please visit 👉 [aka.ms/sparrowassembly](https://aka.ms/sparrowassembly)\n\nSPARROW Assembly and Set-Up Guide © 2025 by Microsoft is licensed under MIT.\n🔗 To view a copy of this license, visit: [MIT License](https://mit-license.org/)\n\n---\n\n## ⚡ 2. One-click Jetson Setup (Recommended)\n\nThe repo contains a Jetson configuration script `sparrow_setup.sh` that installs prerequisites, prepares folders, downloads default Triton models, seeds the DS3231 RTC, configures Wi-Fi hotspot, and launches the SPARROW services.\n\nTo send data to the SPARROW dashboard you will need to pair it with your account.  \nTo create an account and obtain an access key visit:  \n[https://dashboard.sparrow-earth.com/](https://dashboard.sparrow-earth.com/)\n\n📄 [View the SPARROW dashboard Terms \u0026 Conditions](https://dev.sparrow-earth.com/agreement)\n\n**Script:** Download the SPARROW setup script from this repo once the hardware assembly and Jetson flash is complete (detailed instructions can be found in the build instructions).  \nThe setup script should be run from `~/Desktop`.\n\n### ▶️ Usage\n\n```bash\ncd ~/Desktop\nsudo chmod +x sparrow_setup.sh\nsudo ./sparrow_setup.sh\n\n```\n\n## What the Script Does\n\n### 1️⃣ Prereqs \u0026 Tooling\nInstalls:\n```\ndocker, docker-compose, git, curl, wget, uuidgen, smbus2\n```\n\n### 2️⃣ Device Identity\nGenerates `/etc/unique_id` if missing (single-line UUID).\n\n### 3️⃣ Folder Layout (Host)\nCreates `~/Desktop/system` with:\n```\n/system\n├── docker-compose.yml\n├── sparrow_setup.sh\n├── Models/\n│   └── tritonserver/\n│       └── model_repository/\n│           ├── megadetectorv6/\n│           │   ├── 1/\n│           │   │   └── model.onnx\n│           │   └── config.pbtxt\n│           ├── AI4GAmazonClassification/\n│           │   ├── 1/\n│           │   │   └── model.onnx\n│           │   └── config.pbtxt\n│           └── megadetector_birds_v1/\n│               ├── 1/\n│               │   └── model.onnx\n│               └── config.pbtxt\n├── sparrow/\n│   ├── Dockerfile\n│   ├── config/\n│   │   └── access_key.txt\n│   ├── images/\n│   ├── recordings/\n│   ├── logs/\n│   └── static/\n│       ├── data/\n│       └── gallery/\n└── starlink/\n    ├── Dockerfile.starlink\n    ├── config/\n    │   └── access_key.txt\n    └── logs/\n\n```\n\n### 4️⃣ Models + Configs\nDownloads three default ONNX models from Zenodo and writes minimal `config.pbtxt` for each Triton repo.\n\n### 5️⃣ Access Key\nPrompts for the server access key (obtained from the SPARROW dashboard) and writes it to:\n```\nsparrow/config/access_key.txt\nstarlink/config/access_key.txt\n```\n\n### 6️⃣ RTC Seeding (DS3231 over I2C bus 7)\nGets UTC from WorldClock API (fallback: NTP or system UTC) and writes it to the RTC.\n\n### 7️⃣ Wi-Fi Hotspot\nConfigures a persistent hotspot via NetworkManager:  \n**SSID:** `CameraTraps`  \n**Password:** `User prompted`\n\n### 8️⃣ Docker Build \u0026 Launch\nBuilds images with BuildKit (no cache), runs `docker-compose up -d`, and tails logs.\n\n---\n\n# 🧩 Software Dependencies\n\nAll Python dependencies are inside the containers (no host Python required):\n\n1. `PyTorch`, `torchaudio`, `tritonclient`, `aiosmtpd`, `psutil`, `smbus2`, `pyserial`, etc.  \n2. **NVIDIA Triton Inference Server** (explicit model control mode)  \n3. **Hardware:** I2C, ALSA audio, and USB serial (compose is configured privileged)\n\n---\n\n# 🔗 API References\n\nThe client calls these endpoints on `SERVER_BASE_URL`:\n\n| Endpoint | Description |\n|-----------|--------------|\n| `/uploads` | Image + detection metadata |\n| `/audio_uploads` | WAV audio files |\n| `/system_metrics` | System + sensor metrics JSON |\n| `/get_schedule` | Starlink sleep window |\n| `/get_scheduleaudio` | Audio capture settings |\n| `/model_settings` | Classification model + labels |\n| `/model_update` | Triton model manifest |\n\nEach request includes `auth_key` and a `unique_id` derived from `/etc/unique_id`.\n\n---\n\n# 🤝 Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit [Contributor License Agreements](https://cla.opensource.microsoft.com).\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n---\n\u003c!-- This section has the latex citation \n# :fountain_pen: Cite us!\nWe have recently published a technical paper on **SPARROW** and encourage you to cite our work! \n\nThe paper is currently in the process of being published on **arXiv**. \n\nIn the meantime, you can download the full version from the following link: [aka.ms/sparrowpaper](https://aka.ms/sparrowpaper)\n\n\u003c!-- This section has the latex citation \nWe have recently published a [technical paper on SPARROW](https://aka.ms/sparrowpaper). Please feel free to cite us!\n\n```\n@misc{lavista2025listening,\n      title={Listening to the Earth in Real Time: SPARROW and the Future of Conservation Technology}, \n      author={Juan M. Lavista Ferres*, Carl Chalmers*, Bruno Demuro Segundo*, Zhongqi Miao*, Andres Hernandez Celis, Isai Daniel Chacon Silva, Allen Kim, Luana Marotti, Amy Michaels, Daniela Ruiz Lopez, Rahul Dodhia, Inbal Becker-Reshef, Pablo Andrés Arbelaez Escalante, Federico Alves Torres, Meygha Machado, Anthony Cintron Roman},\n      year={2025},\n      eprint={xxxxxxx},\n      archivePrefix={arXiv},\n}\n```\n\n---\n--\u003e\n# ⁉️ SPARROW FAQs\n\u003cdetails\u003e\n\u003csummary\u003e 🦜 What is SPARROW and what does it do? \u003c/summary\u003e\n\nThe **Solar-Powered Acoustic and Remote Recording Observation Watch (SPARROW)** is an AI-powered computing solution designed to operate autonomously in the location where it is installed to monitor and collect data on biodiversity of the area.  Data is collected from camera traps, acoustic monitors, and other environmental detectors, and then processed using wildlife AI models. SPARROW is solar-powered so that it can be used in remote areas without easy access to power sources. Data can be transmitted to the cloud via satellites, allowing researchers to transfer data to the SPARROW Dashboard, or other personal dashboards, and further analyze and gain insights on their data from anywhere.   \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 🤖 How do the AI models work?\u003c/summary\u003e\n\nAI models can take in different kinds of information like pictures, sounds, and sensor readings and look for patterns that help them understand what’s happening. For example, they can recognize objects in images, detect sounds in audio, or spot unusual readings in telemetry data. The AI models that run on SPARROW analyze the collected data to determine if the images should be kept and uploaded.  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 🛡️ How does SPARROW handle privacy and human-related data?\u003c/summary\u003e\n\nSPARROW includes scrubbing software that will delete any inadvertently collected human-related data off of the device.  Additionally, the Microsoft Dashboard includes scrubbing software that runs over the data that is uploaded to remove or anonymize any human-related data. If, after scrubbing, Microsoft personnel find any human-related data, it will be deleted.  You can also delete data off of your device or the Microsoft Dashboard by going to the gallery and deleting the associated files. The vision system looks at images and tries to recognize people by comparing what it sees with patterns it has seen previously. When it detects a person, the system calculates a confidence score (basically, how sure it is that it has found a match). If the score is high enough, the image is removed or anonymized.  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e ⚠️ Can I remove the scrubbing software?\u003c/summary\u003e\n\nMicrosoft **does not** recommend removal of scrubbing software on your device.  Data uploaded to the Microsoft Dashboard will be scrubbed of personally identifiable information regardless of SPARROW device scrubbing.  Dashboard scrubbing and privacy features cannot be altered or removed. \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 📬 How can I contact support for issues or privacy concerns?\u003c/summary\u003e\n\nFor dashboard-related issues, Microsoft trademark authorization, privacy concerns, or general feedback, use the **contact form** under the “About” menu in the SPARROW dashboard. For development or client-specific issues, reach out via the **GitHub page**.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e 📅 How often are these FAQs updated?\u003c/summary\u003e\n \nThese FAQs will be updated on an **annual basis**.\n\u003c/details\u003e\n\n---\n\n# 🗄️ Data Storage \u0026 User Rights\n\nWhen you register into the **SPARROW dashboard**, we store your **email address** solely for the purpose of **providing and maintaining access to our Dashboard**. You have the right to **permanently delete your account**, your email, and any other associated data at any time. Upon your request, all data related to your account will be **irreversibly removed** from our systems.  \n\n---\n\n# 📢 Publications \u0026 Publicity\n\nMicrosoft may only use your data for **model improvement with your explicit consent**. You can opt in at any time using the toggle switch in the dashboard (**default setting is OFF**). All data uploaded to the dashboard remains private and will **never be shared** unless you have provided prior consent. Uploaded data will only be analyzed to ensure compliance with the **Terms of Use, and to fix Dashboard bugs and security issues**.\n\nIf you publish any **academic papers**, **articles**, or **research** based on **Data from the SPARROW Dashboard**, please **cite our project** in your publication. \n\nYou may not issue any press releases, public statements, or other publicity materials referencing Microsoft without our prior written approval. \n**Please use the contact form under the \"About\" section in the SPARROW Dashboard to send your request and we will get back to you right away (this is a very quick process).**\n\n---\n\n# 🏷️ Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services.  **Use of any Microsoft trademarks or logos is not permitted without prior written consent from Microsoft. Please use the contact form under the \"About\" section in the dashboard to send your request**. If you have received authorization, **your use of Microsoft\ntrademarks or logos is subject to and must follow**\n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fsparrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fsparrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fsparrow/lists"}