First-Time Setup
Both editions greet you with a setup wizard the first time you start them. This Part walks through it: pointing the app at your camera, setting your location, configuring notifications, and (optionally) joining the community feed. By the end you'll have a connected camera and your first detection rolling in.
The setup wizard
The very first time you run BirdWatchAI, you'll see a splash screen (desktop) or "๐ First-time setup" card (server) directing you to the wizard. Both wizards cover the same ground in slightly different UIs.
On the desktop, the wizard appears automatically after the splash. You can press Skip on most steps and configure things later in Settings, and you can re-run the wizard any time from the Help menu.
On the server, the dashboard at
http://<your-host>:8080 shows a "First-time setup" card on the
home page. Click Start setup to go to /setup.
The five steps
- Welcome โ quick orientation; lists what you'll need (camera, Wi-Fi, optional email + ZIP code).
- Camera โ RTSP URL, or for the server edition you can pick a wired Pi camera instead.
- Location โ ZIP code (used for outdoor temperature and regional rarity).
- Notifications โ optional email + push.
- License โ optional; a free trial starts automatically if you skip.
Camera step
This is the only step that really matters on first run โ without a working camera the app has nothing to watch.
On the desktop wizard
Pick your camera type from the dropdown (Tapo, Wyze, Amcrest, Reolink, Hikvision, or Other). Tabbed instructions adapt to your choice. Then fill in:
- Camera IP Address โ use the How to Find IP button if unsure.
- RTSP Port โ default
554. - RTSP Username / RTSP Password โ the camera account credentials (for Tapo, this is separate from your TP-Link login โ see Part 4 โ TP-Link Tapo).
Click Build URL to assemble the RTSP address, then ๐ Test Connection to verify. A successful test shows the camera resolution. There's also a ๐ Full TAPO Guide button.
On the server wizard
Paste the camera's RTSP URL straight in. For TP-Link Tapo cameras, the form is:
rtsp://<username>:<password>@<camera-ip>/stream2
For example: rtsp://birduser:secret123@192.168.1.105/stream2.
stream2) is 720p and is the right default โ reliable and easy on
Wi-Fi. The C120 and most lower-cost models cap
stream2 at 640ร360, in which case use stream1 set to
1080p in the Tapo app โ but avoid stream1 at 2K: it
saturates the camera's Wi-Fi uplink and causes H.264 corruption and instability.
Click Test camera. A frame should come back in a few seconds. If not, see Part 7 โ Camera won't connect โ the usual culprits are a typo in the URL, the wrong credentials (camera account vs. cloud account), or the wrong stream path.
If your camera is a wired Pi camera (server only)
Set the Camera type to Pi camera instead of RTSP.
Leave the device path at 0 (the libcamera index โ the field also
accepts /dev/video0). One-time host configuration is required first:
see Part 4 โ Raspberry Pi
camera.
Location & weather
Your location powers three things:
- Temperature โ fetched from Open-Meteo (no API key required) and stamped on every detection's overlay.
- Rarity ratings โ each species is rated against regional / seasonal eBird data so a Wood Thrush in suburban Boston gets flagged differently from one in rural Vermont.
- Daylight hours โ used to pause monitoring overnight (configurable).
On the desktop: enter your ZIP Code and click Look Up. The wizard resolves it to latitude / longitude. There's also an optional Pick on Map button (needs the WebView2 runtime; if you don't have it you can still enter coordinates by hand).
On the server: type your ZIP code into the wizard's location step.
Notifications
Both editions can send a notification with the snapshot when a detection happens. All channels are off by default โ enable the ones you want, and use the Test button on each to confirm it works before you rely on it.
| Channel | Desktop | Server | Notes |
|---|---|---|---|
| Email (SMTP) | โ | โ | Gmail needs an App Password, not your regular password. |
| ntfy push | โ | โ | Free, account-less. Pick a hard-to-guess topic name. |
| Pushover | โ | โ | Mobile push with the photo; small one-time fee per platform. |
| Windows toast | โ | โ | Native Windows 10/11 notifications; instant and local. |
| Photo frame (FTP or email-to-frame) | โ | โ | Push snapshots straight to a digital photo frame. |
You can skip this entire step in the wizard and add channels later under Settings โ Notifications. The full reference is in Part 5 โ Notification channels.
Community sharing
The BirdWatchAI community is a free, worldwide live feed of sightings at www.birdwatchai.com. Sharing is off by default โ turn it on if you'd like your feeder to show up on the community map, in the gallery, and on the leaderboards.
When you enable it, you pick a Share Level (0โ4) that precisely governs what leaves your home:
| Level | What is shared |
|---|---|
| 0 โ Off | Nothing |
| 1 | Species + timestamp (plus confidence, rarity, temperature when available) |
| 2 | The above + ZIP code (or GPS coordinates if you've enabled GPS instead of ZIP) |
| 3 | The above + the snapshot image |
| 4 | The above + the video clip |
The wizard offers a sensible default (off, or Level 3) and you can change it any time later. The full settings reference is in Part 5 โ Community sharing.
Your first detection
When you finish the wizard, you land on the main window / dashboard. The Engine status card (server) or the top status bar (desktop) should show monitoring Running, camera Connected, and within a few minutes โ assuming there are birds at the feeder and it's daylight โ your first detection.
If it's been a while and nothing has shown up:
- Confirm the camera frame in the dashboard / main window actually shows the feeder.
- Check that monitoring is running, not paused.
- Check that it's within daylight hours (the engine pauses overnight by default, 7 AM โ 8 PM).
- Try the Test Image button (desktop) with a known bird photo to confirm the AI side of the pipeline is working.
For deeper diagnosis see Part 7 โ No / wrong detections.