RepoMicrosoftMicrosoftpublished Oct 16, 2025seen Jun 26

microsoft/SPARROW

Python

Open original ↗

Captured source

source ↗
published Oct 16, 2025seen Jun 26captured 2whttp 200method plain

microsoft/SPARROW

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.

Language: Python

License: MIT

Stars: 54

Forks: 14

Open issues: 3

Created: 2025-10-16T18:36:29Z

Pushed: 2026-08-10T18:32:13Z

Default branch: main

Fork: no

Archived: no

README: !image

👋 Welcome to SPARROW

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.

Solar-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.

The 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.

✨ Key Features

1. 🔋 Autonomous operation Intelligent power management with solar charging, battery health monitoring, and dynamic component scheduling enables continuous off-grid operation.

2. 📷 Sensing Camera traps, acoustic monitoring, and environmental sensors - SPARROW integrates multi-modal sensing to capture images, sounds, and enviromental metrics for comprehensive biodiversity monitoring.

3. 🧠 On-device AI Runs optimized PyTorch Wildlife models (exported to ONNX) on a Raspberry Pi 5 via ONNXRuntime for real-time image and acoustic detection, species classification, and event recognition.

4. 🌐 Global connectivity 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.

5. 🛡️ Resilience Designed for extreme field conditions - SPARROW safely records data when offline, automatically synchronizing once connectivity is restored to ensure no loss of information.

---

This repository contains the SPARROW client:

Data collection, on-device inference, power management, telemetry, and secure transmission.

All services run in Docker and are orchestrated with Docker Compose. 🐳

> [!NOTE] > Jetson compatibility: SPARROW now targets Raspberry Pi 5. The last > revision with NVIDIA Jetson support is > `59f7351`. > Users who prefer Jetson hardware can fork the repository and create a branch > from that revision. Jetson-specific fixes made from that point are community > maintained and are not included in the current Raspberry Pi release.

---

🚀 Getting Started

🛠️ 1. Hardware Assembly

📋 Prerequisites

🛒 Before you begin, ensure you have all the necessary hardware listed in the SPARROW Bill of Materials (BOM) below: 👉CLICK TO EXPAND

The following list represents our recommended Bill of Materials for assembling SPARROW devices. Components listed under the Tested & Recommended column are those on which the official assembly guide was developed and validated.

If you choose alternative components, please be aware that additional steps may be required and potential compatibility issues could arise.

This curated list is designed to simplify the process for beginners and those with limited hardware experience, ensuring a smoother build and reliable performance.

| System | Item | Description | Qty | Tested/Recommended | | -------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Brain | Raspberry Pi 5 | AI edge compute device (8 GB model recommended) | 1 | Raspberry Pi 5 (8 GB) | | | 2TB PCIe Gen 4 NVMe M.2 Internal Solid State Hard Drive | 2TB SSD Drive | 1 | Samsung 980 PRO SSD MZ-V8P2T0CW | | | Pi 3 Click Shield | Converts the Raspberry Pi GPIO pins into two mikroBUS™ sockets for the sensor / RTC click boards | 1 | MIKROE-2756 | | | 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 | | | 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 | | | 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 | | | BME688 I2C Board | Compact add-on board that contains a four-in-one environmental measurement solution | 1 | MIKROE-4893 | | | 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 | | | I2C Relay Board | Relay board featuring at least one SRD-5VDC-SL-C relays | 1 | MIKROE-3357 | | | | | | | | 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 | | | 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 | | | 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 | | | 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...

Excerpt shown — open the source for the full document.