Your Homelab Can Hear Birds
This video explores Fugleramme, a homelab project that uses BirdNET-Go to identify birds by sound and renders them as authentic 1800s illustrations. It runs fully locally in Docker or Python, allowing you to display real-time audio analysis on e-ink screens, TVs, or browsers without relying on AI-generated images.
LINKS & SOURCES
▸ Fugleramme
fugleramme.arnegiacomo.dev
▸ arnegiacomo/fugleramme on GitHub (3866★)
arnegiacomo/fugleramme
▸ arnegiacomo/fugleramme — project site
arnegiacomo.dev
▸ tphakala/birdnet-go on GitHub (2334★)
tphakala/birdnet-go
ForgeStacx — Dev tools, self-hosted software, and open source worth your weekend.
Subscribe: youtube.com
#opensource #selfhosted #devtools #Shorts
133 views
Bird-recognizing frame for your homelab (BirdNET-Go + Docker, on e-ink or any screen)
Hi, I'd like to share a project I've been working on the last few months. It was well received over at r/raspberry_pi, and since it now runs in a container and on pretty much anything, I thought it might fit here too.
It sits on top of BirdNET-Go, a popular self-hosted bird and animal analyzer that listens on a mic and identifies the species it hears.
Fugleramme draws the birds it has heard recently as real 1800s natural-history illustrations. Mine runs on a Raspberry Pi 5 with an e-ink display, but it also works on a TV, any screen or a browser and can run on pretty much anything with python or docker.
Everything runs fully locally and it works offline. Got no birds where you live? It can also read from a BirdWeather station.
What sets it apart: over 1200 hand-cut birds from scanned natural history works, covering over 700 species - all attributed and public-domain. No AI-generated images.
Live from my garden (running in docker on my homelab): fugleramme.arnegiacomo.dev
Source and docs: arnegiacomo/fugleramme
Happy to answer any questions!
491 points · 41 comments
Some of the birds in my backyard
The microphones in my security cameras listen all day and BirdNET-Go works out who's calling. Every bird it hears gets drawn in the style of an old engraving and laid on one sheet with its name and how many times it called to-day.
I was worried it wouldn't look good without colour, but I'm pleasantly surprised. It reads like a page from a field guide.
The drawings are AI-generated from reference photos, after 19th-century natural history plates. Sheet layout inspired by the Fugleramme project.
24 points
Colour e-ink bird frames fed by BirdNET-Go and my security cameras
Left: a Seeed EE02 in a custom frame, showing every bird heard today as a specimen sheet. Right: an OpenPaper 7 with the latest visitor as a folio plate.
The microphones on my security cameras (generic HiLook/Hikvision, blocked from the internet) feed BirdNET-Go, which identifies birds by their calls, and these frames show what's been heard today. Birds with a plate in the pack get public-domain illustrations by Gould, Audubon and Lear. The rest are painted by AI in a matching style; the ones here are watercolours after Audubon.
Layouts include a field log, a day chart, a full-bleed plate with a dozen frame styles, and a page of the whole day's birds. That page can be a specimen sheet, a numbered plate, a wreath, a field notebook or a museum drawer.
The specimen-sheet look is inspired by Fugleramme by Arne Giacomo, a dedicated BirdNET-Go bird frame for the Raspberry Pi with hand-cut 1800s illustrations. It's worth a look if you want a standalone frame.
It's a widget for Tesserae, my self-hosted e-ink dashboard project, and it works on colour, greyscale and mono panels.
- Widget: dmellok/tesserae-widget-backyard-birds
- Tesserae: tesserae.ink (code on GitHub)
81 points · 7 comments
I turned my security cameras into a backyard bird counter with BirdNET-Go, and put the results on e-ink frames
Left: a Seeed EE02 in a custom frame, showing everything heard today as a specimen sheet. Right: an OpenPaper 7 showing the latest bird as a folio plate.
My cameras already had microphones, so I wondered whether I could use their audio to find out which birds visit the garden. It turns out you can, and it works really well!
The audio side
- BirdNET-Go runs as a Home Assistant App on my pi4 8GB. It's a Go port of BirdNET, the bird-call model from the Cornell Lab of Ornithology, and it runs fully locally. No audio leaves the house.
- Instead of a USB mic, it listens to the RTSP streams from my cameras, which are generic HiLook/Hikvision models blocked from the internet. In BirdNET-Go's audio settings you add each stream URL, for these cameras rtsp://user:pass@camera-ip:554/Streaming/Channels/101 (or 102 for the sub-stream), and it pulls the audio from each one. I'm using 2 cameras, (front yard and backyard).
The display side
I wanted something nicer than a list in a dashboard, so I wrote a widget for Tesserae, my self-hosted e-ink dashboard project. It reads BirdNET-Go's API and shows today's birds in a few ways:
- a field log with times and call counts
- a day chart of who called in which hour
- a "latest visitor" page
- a full-bleed plate of the last bird heard, with caption styles like the folio plate on the right, a museum label, cyanotype, postage stamp, woodblock print and cameo
- a cluster of everything heard today, printed like a page from an old field guide: the specimen sheet on the left, or a numbered plate with a key, a wreath, a field notebook with taped-in birds, or a museum specimen drawer
The pictures are public-domain plates by Gould, Audubon, Lear and others where one exists for the species. Optionally, fal.ai paints the missing birds in a style you pick, at about US$0.04 a bird; the ones in the photo are painted as watercolours after Audubon. Each bird is painted once and kept, and a page in Tesserae lets you repaint, restore or delete them. It works on colour, greyscale and black-and-white panels.
If you don't have BirdNET-Go yet, the widget runs a demo garden for your location, so you can see the layouts first.
- Tesserae: dmellok/tesserae
- Website: [tesserae.ink](tesserae.ink)
- Bird widget: dmellok/tesserae-widget-backyard-birds
- BirdNET-Go: tphakala/birdnet-go
The specimen-sheet look is inspired by Fugleramme by Arne Giacomo, a dedicated BirdNET-Go bird frame for the Raspberry Pi with hand-cut 1800s illustrations. It's worth a look if you want a standalone frame.
Happy to answer questions about the camera audio setup. I'm sure there are better ways to tune it, and I'd love to hear what's worked for others.
1,232 points · 69 comments
Mentions
Your Homelab Can Hear Birds This video explores Fugleramme, a homelab project that uses BirdNET-Go to identify birds by sound and renders them as authentic 1800s illustrations. It runs fully locally in Docker or Python, allowing you to display real-time audio analysis on e-ink screens, TVs, or browsers without relying on AI-generated images. LINKS & SOURCES ▸ Fugleramme fugleramme.arnegiacomo.dev ▸ arnegiacomo/fugleramme on GitHub (3866★) arnegiacomo/fugleramme ▸ arnegiacomo/fugleramme — project site arnegiacomo.dev ▸ tphakala/birdnet-go on GitHub (2334★) tphakala/birdnet-go ForgeStacx — Dev tools, self-hosted software, and open source worth your weekend. Subscribe: youtube.com #opensource #selfhosted #devtools #Shorts
Bird-recognizing frame for your homelab (BirdNET-Go + Docker, on e-ink or any screen) Hi, I'd like to share a project I've been working on the last few months. It was well received over at r/raspberry_pi, and since it now runs in a container and on pretty much anything, I thought it might fit here too. It sits on top of BirdNET-Go, a popular self-hosted bird and animal analyzer that listens on a mic and identifies the species it hears. Fugleramme draws the birds it has heard recently as real 1800s natural-history illustrations. Mine runs on a Raspberry Pi 5 with an e-ink display, but it also works on a TV, any screen or a browser and can run on pretty much anything with python or docker. Everything runs fully locally and it works offline. Got no birds where you live? It can also read from a BirdWeather station. What sets it apart: over 1200 hand-cut birds from scanned natural history works, covering over 700 species - all attributed and public-domain. No AI-generated images. Live from my garden (running in docker on my homelab): fugleramme.arnegiacomo.dev Source and docs: arnegiacomo/fugleramme Happy to answer any questions!
Some of the birds in my backyard The microphones in my security cameras listen all day and BirdNET-Go works out who's calling. Every bird it hears gets drawn in the style of an old engraving and laid on one sheet with its name and how many times it called to-day. I was worried it wouldn't look good without colour, but I'm pleasantly surprised. It reads like a page from a field guide. The drawings are AI-generated from reference photos, after 19th-century natural history plates. Sheet layout inspired by the Fugleramme project.
Colour e-ink bird frames fed by BirdNET-Go and my security cameras Left: a Seeed EE02 in a custom frame, showing every bird heard today as a specimen sheet. Right: an OpenPaper 7 with the latest visitor as a folio plate. The microphones on my security cameras (generic HiLook/Hikvision, blocked from the internet) feed BirdNET-Go, which identifies birds by their calls, and these frames show what's been heard today. Birds with a plate in the pack get public-domain illustrations by Gould, Audubon and Lear. The rest are painted by AI in a matching style; the ones here are watercolours after Audubon. Layouts include a field log, a day chart, a full-bleed plate with a dozen frame styles, and a page of the whole day's birds. That page can be a specimen sheet, a numbered plate, a wreath, a field notebook or a museum drawer. The specimen-sheet look is inspired by Fugleramme by Arne Giacomo, a dedicated BirdNET-Go bird frame for the Raspberry Pi with hand-cut 1800s illustrations. It's worth a look if you want a standalone frame. It's a widget for Tesserae, my self-hosted e-ink dashboard project, and it works on colour, greyscale and mono panels. - Widget: dmellok/tesserae-widget-backyard-birds - Tesserae: tesserae.ink (code on GitHub)
I turned my security cameras into a backyard bird counter with BirdNET-Go, and put the results on e-ink frames Left: a Seeed EE02 in a custom frame, showing everything heard today as a specimen sheet. Right: an OpenPaper 7 showing the latest bird as a folio plate. My cameras already had microphones, so I wondered whether I could use their audio to find out which birds visit the garden. It turns out you can, and it works really well! The audio side - BirdNET-Go runs as a Home Assistant App on my pi4 8GB. It's a Go port of BirdNET, the bird-call model from the Cornell Lab of Ornithology, and it runs fully locally. No audio leaves the house. - Instead of a USB mic, it listens to the RTSP streams from my cameras, which are generic HiLook/Hikvision models blocked from the internet. In BirdNET-Go's audio settings you add each stream URL, for these cameras rtsp://user:pass@camera-ip:554/Streaming/Channels/101 (or 102 for the sub-stream), and it pulls the audio from each one. I'm using 2 cameras, (front yard and backyard). The display side I wanted something nicer than a list in a dashboard, so I wrote a widget for Tesserae, my self-hosted e-ink dashboard project. It reads BirdNET-Go's API and shows today's birds in a few ways: - a field log with times and call counts - a day chart of who called in which hour - a "latest visitor" page - a full-bleed plate of the last bird heard, with caption styles like the folio plate on the right, a museum label, cyanotype, postage stamp, woodblock print and cameo - a cluster of everything heard today, printed like a page from an old field guide: the specimen sheet on the left, or a numbered plate with a key, a wreath, a field notebook with taped-in birds, or a museum specimen drawer The pictures are public-domain plates by Gould, Audubon, Lear and others where one exists for the species. Optionally, fal.ai paints the missing birds in a style you pick, at about US$0.04 a bird; the ones in the photo are painted as watercolours after Audubon. Each bird is painted once and kept, and a page in Tesserae lets you repaint, restore or delete them. It works on colour, greyscale and black-and-white panels. If you don't have BirdNET-Go yet, the widget runs a demo garden for your location, so you can see the layouts first. - Tesserae: dmellok/tesserae - Website: [tesserae.ink](tesserae.ink) - Bird widget: dmellok/tesserae-widget-backyard-birds - BirdNET-Go: tphakala/birdnet-go The specimen-sheet look is inspired by Fugleramme by Arne Giacomo, a dedicated BirdNET-Go bird frame for the Raspberry Pi with hand-cut 1800s illustrations. It's worth a look if you want a standalone frame. Happy to answer questions about the camera audio setup. I'm sure there are better ways to tune it, and I'd love to hear what's worked for others.