Skip to content

Releases: Danielson187/BirdWatch

Birdwatch 1.0.0 – First Public Release

Choose a tag to compare

@Danielson187 Danielson187 released this 01 Sep 11:39

🐦 Birdwatch 1.0.0 – First Public Release

Welcome to the first public release of Birdwatch!

Birdwatch is a solar-powered smart bird feeding station built around an ESP32-CAM. It detects visiting birds, captures photos and sends them to a self-hosted server, where AI is used to detect birds and identify their species.

What started as a small hobby project has grown into a complete DIY system combining electronics, solar power, 3D printing, computer vision, a web interface and Home Assistant integration.

✨ What's included

📷 ESP32-CAM Firmware

  • PIR-triggered bird detection
  • Automatic photo capture and upload
  • Deep sleep for low power consumption
  • Configurable active hours
  • Battery Survival Mode
  • Captive Wi-Fi setup portal
  • INA219 battery voltage, current and power monitoring
  • Charging/discharging detection
  • NTP time synchronization
  • Multi-device support

🧠 AI Bird Identification

Birdwatch uses a two-stage AI analysis pipeline:

  • YOLOv8 for bird detection
  • Birder / UniFormer for species classification

Captured photos are automatically analyzed and stored together with the identified species, confidence score and device information.

🖥️ Self-hosted Birdwatch Server

The Birdwatch server runs in Docker and provides:

  • Bird activity dashboard
  • Photo archive
  • Species collection
  • Visit statistics
  • Daily activity overview
  • Activity heatmaps
  • Species/time analysis
  • AI review queue
  • Battery and solar telemetry
  • Multi-Birdwatch support
  • Configurable AI models and confidence thresholds
  • Weather correlation
  • PostgreSQL storage
  • REST API
  • Responsive web interface

A standard installation includes its own PostgreSQL 16 container.

Already running PostgreSQL? An additional Docker Compose configuration is included for using an existing external PostgreSQL database.

🏠 Home Assistant Integration

Birdwatch includes a native Home Assistant custom integration.

Each Birdwatch appears as its own Home Assistant device, providing entities for information such as:

  • Online status
  • Battery percentage
  • Battery voltage
  • Battery current and power
  • Charge state
  • Wi-Fi signal
  • ESP32 temperature
  • Power mode
  • Survival Mode
  • Visits today
  • Photos today
  • Bird photos today
  • Species today
  • Last detected species
  • Detection confidence
  • Last bird seen
  • Latest Birdwatch photo

☀️ Solar Powered

Birdwatch is designed to operate autonomously using two 5V solar panels and two 18650 Li-ion cells.

The power system uses:

  • CN3065 solar charger
  • 1S battery protection/BMS
  • INA219 power monitor
  • MCP1700 3.3V regulator

The ESP32-CAM spends most of its time in deep sleep and wakes when activity is detected.

🖨️ Complete 3D Model

The complete set of STL files required to print the Birdwatch enclosure is included in this release.

This includes:

  • Main enclosure
  • Back panel
  • Solar panel roof
  • Roof-back water barrier
  • Balcony railing
  • Left and right mounting legs
  • Camera and AM312 PIR module
  • ESP32-CAM mounting system
  • 18650 battery mounting system
  • Electronics mounting system for the CN3065, INA219 and BMS
  • ESP32-CAM antenna mount
  • Required mounting feet

The solar panels are designed to be glued directly onto the roof. The roof itself can then be glued to the main enclosure to improve weather resistance.

The separate roof-back section helps prevent rainwater from entering through the removable back panel.

🔌 Hardware

The project documentation includes the wiring diagram and hardware information for building your own Birdwatch.

Main components include:

  • ESP32-CAM
  • External ESP32-CAM antenna
  • 75 mm OV3660 camera
  • AM312 PIR sensor
  • INA219
  • CN3065 solar charger
  • 1S BMS
  • 2× 18650 Li-ion cells
  • MCP1700
  • Capacitor
  • 2× 100 × 100 mm 5V solar panels
  • M3 hardware

🔢 Version 1.0.0

All major Birdwatch components start with a clean public version number:

  • Birdwatch Server: 1.0.0
  • ESP32-CAM Firmware: 1.0.0
  • Home Assistant Integration: 1.0.0

⚠️ Important

Birdwatch is a hobby project and is provided without warranty.

Building Birdwatch involves Li-ion batteries, charging electronics, solar panels and custom wiring. Make sure you understand what you are doing and use appropriate battery protection.

I am not responsible for damaged hardware, angry batteries, escaped electrons, mysterious smoke, offended birds, unexpected bird parties, or a neighbourhood suddenly overrun by sparrows.

Build and use Birdwatch at your own risk. 🙂

📜 License

Birdwatch is available for non-commercial use.

Software, server code, ESP32 firmware and the Home Assistant integration are licensed under the PolyForm Noncommercial License 1.0.0.

Documentation, images, wiring diagrams and 3D designs are licensed under CC BY-NC-SA 4.0.

Commercial use, resale or commercial distribution requires separate permission from the project owner.


This is the beginning of Birdwatch as a public project.

Feedback, bug reports, ideas and contributions are welcome.

Enjoy building — and happy birdwatching! 🐦☀️