GitHub - openai/birdingpal: BirdingPal is an ChatGPT-enabled partner for identifying birds. · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading. Please reload this page.
openai
birdingpal
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>1 Commit<br>1 Commit
android
android
assets
assets
firmware
firmware
.gitignore
.gitignore
AGENTS.md
AGENTS.md
CONTRIBUTING.md
CONTRIBUTING.md
LICENSE
LICENSE
NOTICE
NOTICE
README.md
README.md
SECURITY.md
SECURITY.md
View all files
Repository files navigation
Birding Pal
Birding Pal is a small field companion for birding. We paired a plush bird with<br>a custom Bluetooth controller and a ChatGPT-based voice interface so you can<br>press the bird, talk about what you see or hear, record a bird call, and save<br>confirmed bird sightings to a personal bird book.
Our goal was to make the interaction feel less like pulling out a phone and more<br>like carrying a tiny friendly AI-enabled buddy outdoors.
What We Built
The system has two main pieces:
The Hardware: a plush bird with pressure inputs, Bluetooth, status lights,<br>microphone, speaker, and a microcontroller.
The Software: a mobile app that powers the conversation, bird-call<br>recording, optional BirdNET-compatible analysis, and bird book.
The software can run by itself, but the hardware gives the project its intended<br>shape: a tactile companion you can clip to a bag, hold in your hand, and use<br>without staying focused on a screen.
Hardware
The prototype hardware includes:
Adafruit QT Py ESP32-S3, no PSRAM
DFRobot BT401 Bluetooth module
Force-sensitive resistor inputs
Addressable NeoPixel LED
LiPo battery and charger/breakout
Microphone, amplifier, and speaker
Jumper wires and a plush/enclosure
The firmware reads the pressure inputs, drives the status LED, configures the<br>BT401 module, and hosts a local Wi-Fi dashboard for debugging and threshold<br>tuning.
How It Works
Pressing the plush sends Bluetooth events to the companion app. One action<br>starts or stops a voice session; another records ambient audio for bird-call<br>analysis. The assistant can identify likely species, explain what it heard, and<br>add confirmed sightings to the bird book.
The voice experience uses the<br>OpenAI Realtime API. The<br>optional BirdNET-compatible endpoint receives recorded WAV audio with location<br>and week-of-year metadata, then returns species candidates for the assistant to<br>interpret.
Note: GPT-Live-1 is not yet available on the OpenAI API platform; this<br>repository uses gpt-realtime for the Realtime API integration.
License
This project is licensed under the MIT License. See LICENSE.
About<br>BirdingPal is an ChatGPT-enabled partner for identifying birds.<br>Resources<br>Readme<br>MIT license<br>Contributing<br>Contributing<br>Security policy<br>Security policy<br>Activity<br>Custom properties<br>Stars<br>4 stars<br>Watchers<br>0 watching<br>Forks<br>1 fork<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.