E-ink bird frame for Raspberry Pi - real-time bird detection by audio, fully local AI, rendered as real, hand-cut 1800s bird illustrations.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
fugleramme
E-ink bird frame for Raspberry Pi - real-time bird detection by audio, fully local AI, rendered as real, hand-cut 1800s bird illustrations.
Sorry about the dirty window - squirrels have been stealing the bird food.
Still in early development: expect the odd bug and a few unpolished edges, with plenty more features to come.
Live on fugleramme.arnegiacomo.dev running from my kitchen window and displaying the actual birds currently heard in my garden (Bergen, Norway).Read the full README ↗Bird frame for Raspberry Pi or your homelab - real-time bird detection by audio, fully local AI, rendered as real, hand-cut 1800s bird illustrations. On an e-ink panel, a TV, or any screen.
Live demo: fugleramme.arnegiacomo.dev shows the birds heard in my garden in Bergen, Norway, right now. More frames around the world in the Showcase. Full docs: arnegiacomo.dev/fugleramme
A WWF Verdens naturfond poster by Axel Thorenfeldt hangs on my wall, and I wanted a version of it showing the actual birds in my garden. The idea of a live bird collage on an e-ink frame came from Teddy Warner's AvianVisitors.
BirdNET-Go listens on a mic and identifies the birds. Fugleramme polls its API, matches each species to an illustration, packs them onto a page, and redraws only when the birds change - on an Inky Impression e-ink panel or any screen. An admin page lets you configure what to show, and the frame updates itself.
Already run BirdNET-Go? Point the frame at it, on the same machine or anywhere on your network.
No mic or few birds in your area? Point it at a public BirdWeather station instead - your own or anyone's.
[!TIP] The e-ink panel on a Pi is what makes it a picture frame, but neither is required. Fugleramme also runs in a container on basically anything - a homelab, a NAS, an old laptop - and the page takes the shape of whatever shows it: a TV, an HDMI display, an external e-ink panel, any browser, or your desktop wallpaper. With BirdNET-Go, everything runs on your own hardware and works fully offline. See Container and Screens.
A Raspberry Pi 5, an Inky Impression 13.3" or 7.3" (Spectra 6), a mic and an IKEA frame. Parts list and supported alternatives in Hardware, putting it together in Mounting.
I'm affiliated with Pimoroni - buying through the Pimoroni links or using the code ARNE at checkout supports this project.
Half the point of this project is showing off some amazing public-domain natural-history illustrations. Nearly 1200 cut-outs covering over 650 species, every one taken from a real plate and hand-curated for this project (no art is AI-generated).
Each bird is sized by real body mass, the larger ones toward the centre, on a textured paper page.
Coverage is best across Europe and northern Asia, good in North America, and growing elsewhere. Pick your location in Species coverage to see which of your local birds are covered, or cut one yourself.
Species names in 40+ languages, see Languages.
| No detections | A few visitors | A full garden |
|---|---|---|
On the Pi:
curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/install.sh | bash
It asks where BirdNET-Go should run and which ports to use, then installs everything and starts the frame as a service. A fresh system usually needs a reboot. Starting from a blank SD card? See the install guide.
docker run -d -p 8080:8080 -v fugleramme:/data \
-e FUGLERAMME_DETECTOR_URL=http://birdnet.local:8080 \
ghcr.io/arnegiacomo/fugleramme
Kiosk on :8080, admin on :8080/admin, everything it persists in /data.
On a Linux box with a USB mic, this brings up BirdNET-Go alongside it:
curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/examples/docker-compose.yml -o docker-compose.yml
docker compose up -d
See Container for more info.
On the Proxmox host's shell:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/dmellok/proxmox-fugleramme/main/ct/fugleramme.sh)"
See Proxmox for more info.
Like building your own stuff, or got old hardware gathering dust? Fugleramme serves its page over HTTP, so almost anything with a screen and a network connection can show your birds. Hang a battery-powered e-ink frame anywhere in Wi-Fi range, with no wires, or give an old e-reader a second life.
fugleramme/clients collects programs and setups for other devices, made by the community. Got Fugleramme running on something cool? Share it there!
uv sync # set up venv
uv run fugleramme-fake-detector # stand-in BirdNET-Go on :8090
uv run fugleramme-dev # start service on :8080 with hot-reload
The fake detector's flags, and working against a real station instead: Running it without a Pi.
Contributions are very welcome - fixes, docs and artwork most of all. Thanks to everyone who has contributed and sponsored so far ❤️
Want to help?
This is the beginning of the README. Read the rest at the original. Read the full README ↗