arnegiacomo/fugleramme

E-ink bird frame for Raspberry Pi - real-time bird detection by audio using BirdNET-Go

157

stars

131

commits

Python

primary language

Sep 11, 2026

updated

arnegiacomo.dev/fugleramme/
bird-detection
birding
birdnet
birdnet-go
birdwatching
e-ink
inky-impression
kiosk-software
machine-learning
raspberry-pi
self-hosted
Browse cluster: BirdNET Wildlife Audio Analysis

README

fugleramme

E-ink bird frame for Raspberry Pi - real-time bird detection by audio.

Built on top of BirdNET-Go, which handles the mic, the BirdNET classifier and the detection settings. Fugleramme reads the detections and renders recently-seen birds on an Inky-Impression e-ink panel.

[!TIP] The e-ink panel is not required, although its recommended for the inteded experience. Without one, Fugleramme runs web-only - show the kiosk on a display over HDMI, or open it from any device on the network.

Live on fugleramme.arnegiacomo.dev running from my kitchen window and displaying the actual birds currently heard in my garden (Bergen, Norway).

Hardware, install and operations docs: arnegiacomo.dev/fugleramme

Art

(WIP)

The birds are cut-outs from historic, public-domain natural-history drawings, hand-curated for this project. Each detected species is matched to its illustration, background-removed, and packed onto a textured paper page - larger birds toward the centre, sized by real body mass. Species with no illustration are currently left off, and an empty window shows a bare perch.

Half the point of this project is showing off some amazing public-domain natural-history illustrations: every bird is cut from a real plate, no art is AI-generated (though some has been retouched with AI).

No detectionsA few visitorsA full garden
No birds detectedA few garden birdsMany garden birds

Run locally (for development)

uv sync                                       # set up venv
uv run python -m fugleramme.seed --count 40   # seed db (no BirdNET-Go in dev)
uv run fugleramme-dev                         # start service on :8080 with hot-reload

Install on a Raspberry Pi

From the pi (assuming you have the hardware up and running):

curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/install.sh | bash

Clones the repo, installs the required deps, starts BirdNET-Go and starts the frame as a systemd service. NB! Will probably require a reboot on a fresh system.

If the display stays blank after that, see Troubleshooting.

From a blank SD card, see the full install guide.

Prebuilt frames

I've built a few of these. If you'd like one rather than building it yourself, please get in touch.

License

  • Code: MIT - see LICENSE.
  • Detection (BirdNET-Go, installed separately as a container): CC BY-NC-SA 4.0, non-commercial only. BirdNET model by the Cornell Lab of Ornithology and Chemnitz University of Technology, taxonomy data powered by eBird.org.
  • Bird images: each style folder carries its own terms and sources, and its manifest links the plate every file was cut from. classic is CC BY-SA 4.0 - see assets/artwork/classic/ATTRIBUTION.md.
  • Label fonts (assets/fonts/): SIL OFL 1.1 - see assets/fonts/ATTRIBUTION.md.
  • Bird sizes (assets/bird_sizes.csv): body mass from AVONET (Tobias et al. 2022, Ecology Letters, doi:10.1111/ele.13898), CC BY 4.0.

Contributors

arnegiacomo

131 commits

arnegiacomo/fugleramme

E-ink bird frame for Raspberry Pi - real-time bird detection by audio using BirdNET-Go

157

stars

131

commits

Python

primary language

Sep 11, 2026

updated

arnegiacomo.dev/fugleramme/
bird-detection
birding
birdnet
birdnet-go
birdwatching
e-ink
inky-impression
kiosk-software
machine-learning
raspberry-pi
self-hosted
Browse cluster: BirdNET Wildlife Audio Analysis

README

fugleramme

E-ink bird frame for Raspberry Pi - real-time bird detection by audio.

Built on top of BirdNET-Go, which handles the mic, the BirdNET classifier and the detection settings. Fugleramme reads the detections and renders recently-seen birds on an Inky-Impression e-ink panel.

[!TIP] The e-ink panel is not required, although its recommended for the inteded experience. Without one, Fugleramme runs web-only - show the kiosk on a display over HDMI, or open it from any device on the network.

Live on fugleramme.arnegiacomo.dev running from my kitchen window and displaying the actual birds currently heard in my garden (Bergen, Norway).

Hardware, install and operations docs: arnegiacomo.dev/fugleramme

Art

(WIP)

The birds are cut-outs from historic, public-domain natural-history drawings, hand-curated for this project. Each detected species is matched to its illustration, background-removed, and packed onto a textured paper page - larger birds toward the centre, sized by real body mass. Species with no illustration are currently left off, and an empty window shows a bare perch.

Half the point of this project is showing off some amazing public-domain natural-history illustrations: every bird is cut from a real plate, no art is AI-generated (though some has been retouched with AI).

No detectionsA few visitorsA full garden
No birds detectedA few garden birdsMany garden birds

Run locally (for development)

uv sync                                       # set up venv
uv run python -m fugleramme.seed --count 40   # seed db (no BirdNET-Go in dev)
uv run fugleramme-dev                         # start service on :8080 with hot-reload

Install on a Raspberry Pi

From the pi (assuming you have the hardware up and running):

curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/install.sh | bash

Clones the repo, installs the required deps, starts BirdNET-Go and starts the frame as a systemd service. NB! Will probably require a reboot on a fresh system.

If the display stays blank after that, see Troubleshooting.

From a blank SD card, see the full install guide.

Prebuilt frames

I've built a few of these. If you'd like one rather than building it yourself, please get in touch.

License

  • Code: MIT - see LICENSE.
  • Detection (BirdNET-Go, installed separately as a container): CC BY-NC-SA 4.0, non-commercial only. BirdNET model by the Cornell Lab of Ornithology and Chemnitz University of Technology, taxonomy data powered by eBird.org.
  • Bird images: each style folder carries its own terms and sources, and its manifest links the plate every file was cut from. classic is CC BY-SA 4.0 - see assets/artwork/classic/ATTRIBUTION.md.
  • Label fonts (assets/fonts/): SIL OFL 1.1 - see assets/fonts/ATTRIBUTION.md.
  • Bird sizes (assets/bird_sizes.csv): body mass from AVONET (Tobias et al. 2022, Ecology Letters, doi:10.1111/ele.13898), CC BY 4.0.

Contributors

arnegiacomo

131 commits

Languages

Python

89.3%

Shell

4.9%

JavaScript

2.2%

CSS

1.9%

HTML

1.6%