(https://github.githubassets.com) (https://avatars.githubusercontent.com) (https://github-cloud.s3.amazonaws.com) (https://user-images.githubusercontent.com/) (https://github.githubassets.com) (https://avatars.githubusercontent.com) (https://github.githubassets.com/assets/react-e27d1b3e03961e68.js) (https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js) (https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js) (https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js) (https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js) (https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js) (https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js) (https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js) (../../github.githubassets.com/assets/light-99f877e9ddfc0e51.css) (../../github.githubassets.com/assets/light_high_contrast-48fdd0811afbab3c.css) (../../github.githubassets.com/assets/dark-79ad2ace604703b3.css) (../../github.githubassets.com/assets/dark_high_contrast-24484a076f02295f.css) (../../github.githubassets.com/assets/primer-primitives-ed9ca172356fd545.css) (../../github.githubassets.com/assets/primer-1d2c7f7b52a6068b.css) (../../github.githubassets.com/assets/global-54ba76e934a49d7c.css) (../../github.githubassets.com/assets/github-88fc7764b4deb69a.css) (../../github.githubassets.com/assets/repository-11ee8a031c040c1a.css) (../../github.githubassets.com/assets/code-2d56bdb0166c0238.css) (https://github.githubassets.com/assets/wp-runtime-7c4eca503d9ebcfc.js) (https://github.githubassets.com/assets/app-foundation-74e9766bd696d26a.js) (https://github.githubassets.com/assets/app-runtime-09f79a16809ec6e2.js) (https://github.githubassets.com/assets/fetch-utilities-5305162aa9984914.js) (https://github.githubassets.com/assets/ser-564408e9198dff6d.js) (../../github.githubassets.com/assets/app-runtime.08555632b8b4c82c.module.css) (https://github.githubassets.com/assets/catalyst-86a8f5de995615f8.js) (https://github.githubassets.com/assets/selector-observer-e88088f989b27670.js) (https://github.githubassets.com/assets/relative-time-element-7cdf4e0db98b997c.js) (https://github.githubassets.com/assets/by-6b3c07383371bf58.js) (https://github.githubassets.com/assets/ja9-36f036c13c2e3a4c.js) (https://github.githubassets.com/assets/kw-866fd9513ae95106.js) (https://github.githubassets.com/assets/r1-b075aab3204f32f9.js) (https://github.githubassets.com/assets/jz5-7c5d1669717041f8.js) (https://github.githubassets.com/assets/hj-5126390ff433704d.js) (https://github.githubassets.com/assets/j05-dce4d588268f0f7e.js) (https://github.githubassets.com/assets/runtime-helpers-6df03a157bacbc44.js) (https://github.githubassets.com/assets/aria-live-76b18916d0c8ec4d.js) (https://github.githubassets.com/assets/hotkey-5109c77d7ac61078.js) (https://github.githubassets.com/assets/react-core-fc6fdc0a25514ccc.js) (https://github.githubassets.com/assets/04-a76c47ec12c12e01.js) (https://github.githubassets.com/assets/ur-024971cb63acad59.js) (https://github.githubassets.com/assets/4t-364e19c63d726e9a.js) (https://github.githubassets.com/assets/6ny-c969fbae697a356f.js) (https://github.githubassets.com/assets/yhq-3a209035a30b1a09.js) (https://github.githubassets.com/assets/z1-43f07743b557bfbe.js) (https://github.githubassets.com/assets/wo-09f85d22a6c8931b.js) (https://github.githubassets.com/assets/9y-81cfe57dc9040f3e.js) (https://github.githubassets.com/assets/j0-41a4cf04cbd99503.js) (https://github.githubassets.com/assets/0p-81491ed0d9d666e2.js) (../../github.githubassets.com/assets/react-core.8dead0ed901aad61.module.css) (https://github.githubassets.com/assets/n9-97e2e5539969aaaf.js) (https://github.githubassets.com/assets/ic-991f04433f366e7b.js) (https://github.githubassets.com/assets/primer-react-050aafaffcbc0f54.js) (https://github.githubassets.com/assets/ncx-9a860680a5f230b9.js) (https://github.githubassets.com/assets/j6-363f0ebf4f62f310.js) (https://github.githubassets.com/assets/t7l-bf6f21d7e7a43c35.js) (https://github.githubassets.com/assets/fe-7576d9b281e2106a.js) (https://github.githubassets.com/assets/wsr-5fd3071e5a9061ab.js) (https://github.githubassets.com/assets/0n-ecadb2ffe6b01ba2.js) (https://github.githubassets.com/assets/xv-51cb34754bda73a9.js) (https://github.githubassets.com/assets/n4u-6317ce1c31aed1db.js) (https://github.githubassets.com/assets/j8s-d90ce3a169b741ed.js) (https://github.githubassets.com/assets/la-de176c4ee471f2b3.js) (https://github.githubassets.com/assets/pa9-63a2449f68fddcc9.js) (https://github.githubassets.com/assets/qk-69b7a09c43e10e06.js) (https://github.githubassets.com/assets/6ko-674c1ec5588e9f0f.js) (https://github.githubassets.com/assets/nsi-926ffbc13301c5b7.js) (https://github.githubassets.com/assets/mgq-93f58f229b2328b4.js) (https://github.githubassets.com/assets/on-11158d6a3259e614.js) (https://github.githubassets.com/assets/bi0-e2f78de823e39ca9.js) (https://github.githubassets.com/assets/b1-1dbc371cef78c3c1.js) (https://github.githubassets.com/assets/0l-a9f09dfac8d0647c.js) (https://github.githubassets.com/assets/c2z-c92998400310b94b.js) (https://github.githubassets.com/assets/f9-038758dcbfe08dab.js) (https://github.githubassets.com/assets/0k-b7df0a74912a42bf.js) (https://github.githubassets.com/assets/sp-2bbb73a69162e23b.js) (https://github.githubassets.com/assets/og-93ae8b358505d372.js) (https://github.githubassets.com/assets/q5-fc1f2b54f1d10663.js) (https://github.githubassets.com/assets/ec-ec74cb1fa6c31a3f.js) (https://github.githubassets.com/assets/du-bbe0f39cd2abe9a0.js) (https://github.githubassets.com/assets/ql0-6accb9e40c25a6a5.js) (https://github.githubassets.com/assets/20-32a6db98bc57337d.js) (https://github.githubassets.com/assets/dsj-4cca625a20b72565.js) (https://github.githubassets.com/assets/wp-9f5235d335ab624b.js) (https://github.githubassets.com/assets/e84-4da7096eb6b55d6d.js) (https://github.githubassets.com/assets/0pz-90009c6b3d9415c6.js) (https://github.githubassets.com/assets/7mh-77fafa8751caee98.js) (https://github.githubassets.com/assets/bsb-4f4ac8c20da73fac.js) (https://github.githubassets.com/assets/46-90fb1c98afc2cd5a.js) (https://github.githubassets.com/assets/jga-fc367628ef990a38.js) (https://github.githubassets.com/assets/ax-cd04f2cfdc9dffb2.js) (https://github.githubassets.com/assets/0dh-eb608edac481e761.js) (https://github.githubassets.com/assets/xc-f5d51b571cd317cb.js) (https://github.githubassets.com/assets/7cv-33c444fbc72b9998.js) (https://github.githubassets.com/assets/4b-c63a3f3820a90d31.js) (https://github.githubassets.com/assets/qv-ec151c086300515c.js) (https://github.githubassets.com/assets/gtp-ba1d87cf91265966.js) (../../github.githubassets.com/assets/primer-react-css.7c5f404947919942.module.css) (../../github.githubassets.com/assets/ql0.bd9e6b542f167fd8.module.css) (../../github.githubassets.com/assets/46.3e560835284be460.module.css) (../../github.githubassets.com/assets/xc.13e027137438fd9f.module.css) (../../github.githubassets.com/assets/4b.e524e9f270f17ecc.module.css) (../../github.githubassets.com/assets/qv.ece388ced7ae58bf.module.css) (../../github.githubassets.com/assets/code-view.7785a46d5c6a1e46.module.css) (https://github.githubassets.com/assets/huh-f1ce8b62a040ffec.js) (https://github.githubassets.com/assets/uul-06c73d3dea5f5318.js) (../../github.githubassets.com/assets/primer-react-css.7c5f404947919942.module.css) (../../github.githubassets.com/assets/notifications-subscriptions-menu.238a4dcbfc4059c4.module.css) GitHub - arnegiacomo/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. · GitHub (repo_source) (https://github.githubassets.com/) (https://github.com/opensearch.xml) (GitHub) (https://github.com/fluidicon.png) (GitHub) (https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg) (https://github.githubassets.com/favicons/favicon.png) (../../github.githubassets.com/favicons/favicon.svg) (../manifest.json) (fugleramme.html#start-of-content) Skip to content (https://github.githubassets.com/assets/l7j-2ddd8b435dadae28.js) (https://github.githubassets.com/assets/keyboard-shortcuts-dialog-91e9194790406e8e.js) (../../github.githubassets.com/assets/primer-react-css.7c5f404947919942.module.css) (../../github.githubassets.com/assets/keyboard-shortcuts-dialog.91c562a806beeda3.module.css) (https://github.githubassets.com/assets/2l-cbdcab386be8ed25.js) (https://github.githubassets.com/assets/i26-e41bee64286a7613.js) (https://github.githubassets.com/assets/fz5-23f28c0f388769c9.js) (https://github.githubassets.com/assets/lht-26506ea833dda5be.js) (https://github.githubassets.com/assets/p1-76a75a6081059b19.js) (https://github.githubassets.com/assets/3d-82c347d20a13fb90.js) (https://github.githubassets.com/assets/tua-c4ca62c5e0e0318e.js) (https://github.githubassets.com/assets/4s-0fa28f31e42d2b12.js) (https://github.githubassets.com/assets/marketing-header-de56056189885f02.js) (../../github.githubassets.com/assets/primer-react-css.7c5f404947919942.module.css) (../../github.githubassets.com/assets/primer-react-brand-css.6a01c236ff527e7e.module.css) (../../github.githubassets.com/assets/4s.0475f8e2181c4fb1.module.css) Navigation Menu (https://github.com/) (https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Farnegiacomo%2Ffugleramme) Sign in Appearance settings Platform AI CODE CREATION (https://github.com/features/copilot) GitHub Copilot Write better code with AI (https://github.com/features/ai/github-app) GitHub Copilot app Direct agents from issue to merge (https://github.com/mcp) MCP Registry Integrate external tools DEVELOPER WORKFLOWS (https://github.com/features/actions) Actions Automate any workflow (https://github.com/features/codespaces) Codespaces Instant dev environments (https://github.com/features/issues) Issues Plan and track work (https://github.com/features/code-review) Code Review Manage code changes (https://github.com/features/code-quality) Code Quality Enforce quality at merge APPLICATION SECURITY (https://github.com/security/advanced-security) GitHub Advanced Security Find and fix vulnerabilities (https://github.com/security/advanced-security/code-security) Code security Secure your code as you build (https://github.com/security/advanced-security/secret-protection) Secret protection Stop leaks before they start EXPLORE (https://github.com/why-github) Why GitHub (https://docs.github.com) Documentation (https://github.blog) Blog (https://github.blog/changelog) Changelog (https://github.com/marketplace) Marketplace (https://github.com/features) View all features Solutions BY COMPANY SIZE (https://github.com/enterprise) Enterprises (https://github.com/team) Small and medium teams (https://github.com/enterprise/startups) Startups (https://github.com/solutions/industry/nonprofits) Nonprofits BY USE CASE (https://github.com/solutions/use-case/app-modernization) App Modernization (https://github.com/solutions/use-case/devsecops) DevSecOps (https://github.com/solutions/use-case/devops) DevOps (https://github.com/solutions/use-case/ci-cd) CI/CD (https://github.com/solutions/use-case) View all use cases BY INDUSTRY (https://github.com/solutions/industry/healthcare) Healthcare (https://github.com/solutions/industry/financial-services) Financial services (https://github.com/solutions/industry/manufacturing) Manufacturing (https://github.com/solutions/industry/government) Government (https://github.com/solutions/industry) View all industries (https://github.com/solutions) View all solutions Resources EXPLORE BY TOPIC (https://github.com/resources/articles?topic=ai) AI (https://github.com/resources/articles?topic=software-development) Software Development (https://github.com/resources/articles?topic=devops) DevOps (https://github.com/resources/articles?topic=security) Security (https://github.com/resources/articles) View all topics EXPLORE BY TYPE (https://github.com/customer-stories) Customer stories (https://github.com/resources/events) Events & webinars (https://github.com/resources/whitepapers) Ebooks & reports (https://github.com/solutions/executive-insights) Business insights (https://skills.github.com) GitHub Skills SUPPORT & SERVICES (https://docs.github.com) Documentation (https://support.github.com) Customer support (https://github.com/orgs/community/discussions) Community forum (https://github.com/trust-center) Trust center (https://github.com/partners) Partners (https://github.com/resources) View all resources Open Source COMMUNITY (https://github.com/open-source/sponsors) GitHub Sponsors Fund open source developers PROGRAMS (https://securitylab.github.com) Security Lab (https://maintainers.github.com) Maintainer Community (https://stars.github.com) GitHub Stars (https://archiveprogram.github.com) Archive Program REPOSITORIES (https://github.com/topics) Topics (https://github.com/trending) Trending (https://github.com/collections) Collections Enterprise ENTERPRISE SOLUTIONS (https://github.com/enterprise) Enterprise platform AI-powered developer platform AVAILABLE ADD-ONS (https://github.com/security/advanced-security) GitHub Advanced Security Enterprise-grade security features (https://github.com/features/copilot/copilot-business) Copilot for Business Enterprise-grade AI features (https://github.com/enterprise/premium-support) Premium Support Enterprise-grade 24/7 support (https://github.com/pricing) Pricing Search / (https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Farnegiacomo%2Ffugleramme) Sign in (https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=arnegiacomo%2Ffugleramme) Sign up Appearance settings You signed in with another tab or window. (fugleramme.html) Reload to refresh your session. You signed out in another tab or window. (fugleramme.html) Reload to refresh your session. You switched accounts on another tab or window. (fugleramme.html) Reload to refresh your session. Dismiss alert (https://github.com/arnegiacomo) arnegiacomo / (fugleramme.html) fugleramme Public Uh oh! There was an error while loading. (fugleramme.html) Please reload this page . (https://github.com/login?return_to=%2Farnegiacomo%2Ffugleramme) Notifications You must be signed in to change notification settings (https://github.com/login?return_to=%2Farnegiacomo%2Ffugleramme) Fork (33) 33 (https://github.com/login?return_to=%2Farnegiacomo%2Ffugleramme) Star (1,305) 1.3k (fugleramme.html) Code (Not available) (https://github.com/arnegiacomo/fugleramme/issues) Issues (9) 9 (https://github.com/arnegiacomo/fugleramme/pulls) Pull requests (1) 1 (https://github.com/arnegiacomo/fugleramme/discussions) Discussions (Not available) (https://github.com/arnegiacomo/fugleramme/actions) Actions (Not available) (https://github.com/arnegiacomo/fugleramme/projects) Projects (Not available) (https://github.com/arnegiacomo/fugleramme/security) Security and quality (0) 0 (https://github.com/arnegiacomo/fugleramme/pulse) Insights (Not available) Additional navigation options (fugleramme.html) Code (https://github.com/arnegiacomo/fugleramme/issues) Issues (https://github.com/arnegiacomo/fugleramme/pulls) Pull requests (https://github.com/arnegiacomo/fugleramme/discussions) Discussions (https://github.com/arnegiacomo/fugleramme/actions) Actions (https://github.com/arnegiacomo/fugleramme/projects) Projects (https://github.com/arnegiacomo/fugleramme/security) Security and quality (https://github.com/arnegiacomo/fugleramme/pulse) Insights (fugleramme.html) main (https://github.com/arnegiacomo/fugleramme/branches) Branches (https://github.com/arnegiacomo/fugleramme/tags) Tags (https://github.com/arnegiacomo/fugleramme/branches) (https://github.com/arnegiacomo/fugleramme/tags) (Go to file) () Go to file Code Open more actions menu Latest commit History (https://github.com/arnegiacomo/fugleramme/commits/main/) 279 Commits (https://github.com/arnegiacomo/fugleramme/commits/main/) 279 Commits Folders and files Name Name (Last commit message) Last commit message (Last commit date) Last commit date (.agents) (https://github.com/arnegiacomo/fugleramme/tree/main/.agents) .agents (.agents) (https://github.com/arnegiacomo/fugleramme/tree/main/.agents) .agents (.github) (https://github.com/arnegiacomo/fugleramme/tree/main/.github) .github (.github) (https://github.com/arnegiacomo/fugleramme/tree/main/.github) .github (assets) (https://github.com/arnegiacomo/fugleramme/tree/main/assets) assets (assets) (https://github.com/arnegiacomo/fugleramme/tree/main/assets) assets (detector) (https://github.com/arnegiacomo/fugleramme/tree/main/detector) detector (detector) (https://github.com/arnegiacomo/fugleramme/tree/main/detector) detector (docs) (https://github.com/arnegiacomo/fugleramme/tree/main/docs) docs (docs) (https://github.com/arnegiacomo/fugleramme/tree/main/docs) docs (examples) (https://github.com/arnegiacomo/fugleramme/tree/main/examples) examples (examples) (https://github.com/arnegiacomo/fugleramme/tree/main/examples) examples (hooks) (https://github.com/arnegiacomo/fugleramme/tree/main/hooks) hooks (hooks) (https://github.com/arnegiacomo/fugleramme/tree/main/hooks) hooks (This path skips through empty directories) (https://github.com/arnegiacomo/fugleramme/tree/main/src/fugleramme) src/ fugleramme (This path skips through empty directories) (https://github.com/arnegiacomo/fugleramme/tree/main/src/fugleramme) src/ fugleramme (tests) (https://github.com/arnegiacomo/fugleramme/tree/main/tests) tests (tests) (https://github.com/arnegiacomo/fugleramme/tree/main/tests) tests (tools) (https://github.com/arnegiacomo/fugleramme/tree/main/tools) tools (tools) (https://github.com/arnegiacomo/fugleramme/tree/main/tools) tools (.dockerignore) (https://github.com/arnegiacomo/fugleramme/blob/main/.dockerignore) .dockerignore (.dockerignore) (https://github.com/arnegiacomo/fugleramme/blob/main/.dockerignore) .dockerignore (.git-blame-ignore-revs) (https://github.com/arnegiacomo/fugleramme/blob/main/.git-blame-ignore-revs) .git-blame-ignore-revs (.git-blame-ignore-revs) (https://github.com/arnegiacomo/fugleramme/blob/main/.git-blame-ignore-revs) .git-blame-ignore-revs (.gitignore) (https://github.com/arnegiacomo/fugleramme/blob/main/.gitignore) .gitignore (.gitignore) (https://github.com/arnegiacomo/fugleramme/blob/main/.gitignore) .gitignore (.python-version) (https://github.com/arnegiacomo/fugleramme/blob/main/.python-version) .python-version (.python-version) (https://github.com/arnegiacomo/fugleramme/blob/main/.python-version) .python-version (AGENTS.md) (https://github.com/arnegiacomo/fugleramme/blob/main/AGENTS.md) AGENTS.md (AGENTS.md) (https://github.com/arnegiacomo/fugleramme/blob/main/AGENTS.md) AGENTS.md (CHANGELOG.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CHANGELOG.md) CHANGELOG.md (CHANGELOG.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CHANGELOG.md) CHANGELOG.md (CLAUDE.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CLAUDE.md) CLAUDE.md (CLAUDE.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CLAUDE.md) CLAUDE.md (CONTRIBUTING.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CONTRIBUTING.md) CONTRIBUTING.md (CONTRIBUTING.md) (https://github.com/arnegiacomo/fugleramme/blob/main/CONTRIBUTING.md) CONTRIBUTING.md (Dockerfile) (https://github.com/arnegiacomo/fugleramme/blob/main/Dockerfile) Dockerfile (Dockerfile) (https://github.com/arnegiacomo/fugleramme/blob/main/Dockerfile) Dockerfile (LICENSE) (https://github.com/arnegiacomo/fugleramme/blob/main/LICENSE) LICENSE (LICENSE) (https://github.com/arnegiacomo/fugleramme/blob/main/LICENSE) LICENSE (README.md) (https://github.com/arnegiacomo/fugleramme/blob/main/README.md) README.md (README.md) (https://github.com/arnegiacomo/fugleramme/blob/main/README.md) README.md (install.sh) (https://github.com/arnegiacomo/fugleramme/blob/main/install.sh) install.sh (install.sh) (https://github.com/arnegiacomo/fugleramme/blob/main/install.sh) install.sh (mkdocs.yml) (https://github.com/arnegiacomo/fugleramme/blob/main/mkdocs.yml) mkdocs.yml (mkdocs.yml) (https://github.com/arnegiacomo/fugleramme/blob/main/mkdocs.yml) mkdocs.yml (pyproject.toml) (https://github.com/arnegiacomo/fugleramme/blob/main/pyproject.toml) pyproject.toml (pyproject.toml) (https://github.com/arnegiacomo/fugleramme/blob/main/pyproject.toml) pyproject.toml (run.sh) (https://github.com/arnegiacomo/fugleramme/blob/main/run.sh) run.sh (run.sh) (https://github.com/arnegiacomo/fugleramme/blob/main/run.sh) run.sh (uv.lock) (https://github.com/arnegiacomo/fugleramme/blob/main/uv.lock) uv.lock (uv.lock) (https://github.com/arnegiacomo/fugleramme/blob/main/uv.lock) uv.lock View all files Repository files navigation (fugleramme.html#) README (fugleramme.html#) Contributing (fugleramme.html#) MIT license Moreitems fugleramme (fugleramme.html#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. (https://github.com/arnegiacomo/fugleramme/blob/main/docs/assets/hero.jpg) (The frame on a kitchen windowsill showing six birds heard in the garden, a window feeder on the glass behind it) Sorry about the dirty window - squirrels have been stealing the bird food. (https://fugleramme.arnegiacomo.dev) (Live demo) (https://github.com/arnegiacomo/fugleramme/releases) (Latest release) (https://github.com/arnegiacomo/fugleramme/actions/workflows/ci.yml) (CI) (https://github.com/arnegiacomo/fugleramme/commits/main) (Last commit) (https://github.com/arnegiacomo/fugleramme/stargazers) (Stars) (https://github.com/arnegiacomo/fugleramme/graphs/contributors) (Contributors) (fugleramme.html#license) (License: MIT, artwork CC BY-SA 4.0) (fugleramme.html#art) (Artwork) (fugleramme.html#art) (Species) Note Still in early development: expect the odd bug and a few unpolished edges, with plenty more features to come. Live on (https://fugleramme.arnegiacomo.dev) 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: (https://arnegiacomo.dev/fugleramme/) arnegiacomo.dev/fugleramme How it works (fugleramme.html#how-it-works) (https://github.com/tphakala/birdnet-go) BirdNET-Go listens on a mic and handles the classifier. Fugleramme polls its api, matches each species to an illustration, then packs them onto a page, and redraws only when the birds change - on an (https://shop.pimoroni.com/products/inky-impression) Inky Impression e-ink panel, and as a web kiosk serving the same view. There's an admin page that lets you configure what to show, and automatic updates and such. If you already run BirdNET-Go, point the frame at it instead - on the same machine or anywhere else reachable from your network. Tip The e-ink panel is not required, although it's recommended for the intended experience. Without one, Fugleramme runs web-only - show the kiosk on a display over HDMI, or open it from any device on the network. Hardware (fugleramme.html#hardware) A Raspberry Pi 5, an (https://shop.pimoroni.com/products/inky-impression) Inky Impression 13.3" (Spectra 6), a mic and an A4 frame. Full parts list, recommendations and alternatives: (https://github.com/arnegiacomo/fugleramme/blob/main/docs/hardware.md) Hardware . Art (fugleramme.html#art) Half the point of this project is showing off some amazing public-domain natural-history illustrations. Over 800 cut-outs covering more than 400 species, every one taken from a real plate and hand-curated for this project (no art is AI-generated, though some has been retouched with AI). Each detected species is matched to its illustration, background-removed, and packed onto a textured paper page with the larger birds toward the centre, sized by body mass. An empty window shows a bare perch. The plates are Scandinavian, British and central European, so the Nordics, the British Isles and Germany are best covered. Elsewhere not so much (yet). Broader European and North American coverage is in the works! See (https://github.com/arnegiacomo/fugleramme/blob/main/docs/adding-artwork.md) Adding artwork for manual cutout steps. No detections A few visitors A full garden (https://github.com/arnegiacomo/fugleramme/blob/main/docs/assets/empty.png) (No birds detected) (https://github.com/arnegiacomo/fugleramme/blob/main/docs/assets/few.png) (A few garden birds) (https://github.com/arnegiacomo/fugleramme/blob/main/docs/assets/many.png) (Many garden birds) Inspiration and related projects (fugleramme.html#inspiration-and-related-projects) The look came from a (https://www.axelthorenfeldt.com/news/wwf-verdens-naturfonds-fugleskole) WWF Verdens naturfond poster by Axel Thorenfeldt hanging on my wall, the live-frame idea from (https://theodore.net/projects/AvianVisitors/) AvianVisitors that I saw on Instagram, and the detection from (https://github.com/tphakala/birdnet-go) BirdNET-Go - I wanted a version of that poster showing the actual birds in my garden. Similar projects: (https://github.com/Twarner491/AvianVisitors) AvianVisitors - BirdNET-Pi, AI-generated illustrations and photo cutouts (https://github.com/veteranbv/inky-bird-frame) inky-bird-frame - BirdNET, field-journal illustrations on an Inky panel (https://github.com/adamoberley/HABirdDashboard) HABirdDashboard - BirdNET-Go, a collage card for Home Assistant (https://github.com/Belkins/belkins-birdnet) belkins-birdnet - BirdNET-Pi, AI-generated kachō-e style illustrations Fugleramme shares no code or art with them. Run locally (for development) (fugleramme.html#run-locally-for-development) 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: (https://github.com/arnegiacomo/fugleramme/blob/main/CONTRIBUTING.md#running-it-without-a-pi) Running it without a Pi . Install on a Raspberry Pi (fugleramme.html#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 Asks where BirdNET-Go should live and which ports to use, clones the repo, installs the required deps, and starts the frame as a systemd service. NB! Will probably require a reboot on a fresh system. From a blank SD card, see the full (https://github.com/arnegiacomo/fugleramme/blob/main/docs/install.md) install guide . Run in a container (fugleramme.html#run-in-a-container) docker run -d -p 8080:8080 -v fugleramme:/data \ -e FUGLERAMME_DETECTOR_URL=http://birdnet.local:8080 \ ghcr.io/arnegiacomo/fugleramme Or build the image from a checkout: docker build -t fugleramme . docker run --rm -p 8080:8080 -v fugleramme:/data \ -e FUGLERAMME_DETECTOR_URL=http://birdnet.local:8080 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 (https://github.com/arnegiacomo/fugleramme/blob/main/docs/container.md) Container for more info. Contributing (fugleramme.html#contributing) Contributions are very welcome and encouraged - fixes, docs and artwork most of all. Thanks to (https://github.com/arnegiacomo/fugleramme/graphs/contributors) everyone who has contributed so far ❤️ Something is broken - a (https://github.com/arnegiacomo/fugleramme/issues/new/choose) bug report A question, an idea, or a frame you have built - the (https://arnegiacomo.dev/fugleramme/faq/) FAQ first, then (https://github.com/arnegiacomo/fugleramme/discussions) Discussions A fix, a doc change, or a bird you have cut - open a PR, no issue needed See (https://github.com/arnegiacomo/fugleramme/blob/main/CONTRIBUTING.md) Contributing for more info. License (fugleramme.html#license) Code: MIT - see (https://github.com/arnegiacomo/fugleramme/blob/main/LICENSE) LICENSE . Detection ((https://github.com/tphakala/birdnet-go) 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 (https://github.com/arnegiacomo/fugleramme/blob/main/assets/artwork/classic/ATTRIBUTION.md) assets/artwork/classic/ATTRIBUTION.md . Label fonts (assets/fonts/ ): SIL OFL 1.1 - see (https://github.com/arnegiacomo/fugleramme/blob/main/assets/fonts/ATTRIBUTION.md) assets/fonts/ATTRIBUTION.md . Bird sizes (assets/bird_sizes.csv ): body mass from AVONET (Tobias et al. 2022, Ecology Letters, (https://doi.org/10.1111/ele.13898) doi:10.1111/ele.13898 ), CC BY 4.0. BirdNET scientific-name aliases (assets/birdnet_aliases.json ): (https://github.com/tphakala/openfauna) OpenFauna 's compiled taxonomic alias map, CC BY-SA 4.0 - see (https://github.com/arnegiacomo/fugleramme/blob/main/assets/ATTRIBUTION.md) assets/ATTRIBUTION.md . Prebuilt frames (fugleramme.html#prebuilt-frames) I've built a few of these. If you'd like one rather than building it yourself, please (https://arnegiacomo.dev/) get in touch . About E-ink bird frame for Raspberry Pi - real-time bird detection by audio, fully local AI, rendered as real, hand-cut 1800s bird illustrations. (http://arnegiacomo.dev/fugleramme/) (http://arnegiacomo.dev/fugleramme/) arnegiacomo.dev/fugleramme/ Topics (https://github.com/topics/bird-detection) bird-detection (https://github.com/topics/birding) birding (https://github.com/topics/birdnet) birdnet (https://github.com/topics/birdnet-go) birdnet-go (https://github.com/topics/birdwatching) birdwatching (https://github.com/topics/docker) docker (https://github.com/topics/e-ink) e-ink (https://github.com/topics/epaper) epaper (https://github.com/topics/homelab) homelab (https://github.com/topics/inky-impression) inky-impression (https://github.com/topics/kiosk-software) kiosk-software (https://github.com/topics/pimoroni) pimoroni (https://github.com/topics/public-domain-art) public-domain-art (https://github.com/topics/python) python (https://github.com/topics/raspberry-pi) raspberry-pi (https://github.com/topics/self-hosted) self-hosted Resources (fugleramme.html#readme-ov-file) Readme (fugleramme.html#MIT-1-ov-file) MIT license Contributing (fugleramme.html#contributing-ov-file) Contributing (https://github.com/arnegiacomo/fugleramme/activity) Activity Stars 1.3k stars Watchers 5 watching Forks (https://github.com/arnegiacomo/fugleramme/forks) 33 forks (https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Farnegiacomo%2Ffugleramme&report=arnegiacomo+%28user%29) Report repository Releases Sponsor this project Packages Contributors Languages Footer (https://github.com) © 2026 GitHub, Inc. Footer navigation (https://docs.github.com/site-policy/github-terms/github-terms-of-service) Terms (https://docs.github.com/site-policy/privacy-policies/github-privacy-statement) Privacy (https://github.com/security) Security (https://www.githubstatus.com/) Status (https://github.community/) Community (https://docs.github.com/) Docs (https://support.github.com?tags=dotcom-footer) Contact Manage cookies Do not share my personal information You can’t perform that action at this time.