Field Station NΒΊ 001 Β· 34.03Β° N, 84.15Β° W Β· How it works

Anatomy of a backyard wildlife station

Everything on the Back Forty Wildlife Report is produced by about $625 of hardware and a stack of open-source software running in North Georgia. This page explains the whole machine, end to end, for the curious and the tinkerers.

The big picture

Two senses, one page. A microphone hears the yard and an AI identifies every bird call; a camera watches the yard and an AI identifies every animal that walks through. Both feed a small home server, and the website you're reading pulls its data from that server, live.

A second camera, the Feeder Cam, went up on 20 September 2026. It is zoomed all the way in on four bird feeders and the deck rail, and its close-ups sit at the top of the front page.

The same microphone does a third job with no AI at all: every five minutes it measures the insect chorus β€” how loud it is, what pitch it is singing at, and how fast it pulses.

A weather station in the yard reports every minute alongside all of it. That is partly for the pleasure of knowing, and partly because temperature is what turns a cricket's pulse rate into a species, and rain is what explains an insect chart that suddenly looks wrong.

How the Back Forty Wildlife Report works A microphone and a 180-degree camera on a screened porch stream audio and video over WiFi, and a zoomed-in feeder camera sends video over a wired Ethernet cable that also powers it, to a laptop server in the basement, which runs BirdNET and Frigate to identify birds and animals. A weather station in the yard sends rain, wind, sun and shaded temperature to an indoor gateway over radio, which the same server reads once a minute. Results travel out through an encrypted tunnel to Cloudflare, which serves the website to phones and computers. HOW A BIRD CALL, AN ANIMAL SIGHTING AND A RAINDROP GET FROM THE YARD TO YOUR SCREEN FIG. 01 Β· SIGNAL PATH 01 Β· THE YARD & PORCH 02 Β· THE BASEMENT 03 Β· THE INTERNET MICROPHONE omnidirectional lav SoC RASPBERRY PI ZERO 2 W + USB sound adapter streams only Β· no analysis 180Β° CAMERA dual lens Β· day + night FEEDER CAM 4K Β· full zoom four feeders + the rail Ethernet power + video WiFi Β· RTSP BirdNET Β· listening Frigate Β· watching deer 0.94 person βœ• ignored HOME SERVER repurposed laptop Β· Proxmox two containers Β· GPU accelerated nothing kept unless an animal appears encrypted tunnel CLOUDFLARE EDGE NETWORK serves the site worldwide The Back Forty Wildlife Report public Β· no login Β· nothing to install shaded Β· on the porch on a pole WEATHER STATION rain Β· wind Β· sun Β· UV Β· shaded temp 915 MHz radio read every 60 s WEATHER GATEWAY on the LAN Β· its cloud unused LAN
Illustration, not a photo: the yard hears, watches and measures the weather, the basement thinks, the cloud publishes.

The ears Β· hardware

The Pi encodes the microphone's feed and serves it as an RTSP stream β€” the same open protocol security cameras use β€” over WiFi to the server.

The ears Β· software

The server runs BirdNET-Go, an open-source engine built around BirdNET β€” the neural network from the Cornell Lab of Ornithology and Chemnitz University that can recognize more than 6,000 bird species by sound alone. The pipeline:

  1. Audio arrives continuously and is analyzed in ~3-second windows, around the clock.
  2. Each window gets scored against the full species catalog. A location filter (using the station's rounded coordinates and the calendar) keeps the candidate list to species actually plausible here in each season.
  3. Above a confidence threshold, a detection is logged: species, timestamp, confidence β€” plus a short audio clip so every entry carries its own evidence.
  4. Everything else is discarded on the spot. The raw stream is never stored.

The eyes Β· hardware

A Reolink Duo 2 WiFi, a dual-lens 180Β° camera (~$105), mounted under an eave. Two 4K sensors are stitched into a single panoramic frame that covers the whole yard at once β€” chosen deliberately over a motorized pan-tilt camera, because a fixed frame is what lets detection software watch every corner all the time instead of whichever direction a motor happens to point.

The Feeder Cam is a Reolink RLC-811A (about $119), the opposite kind of camera: one 4K sensor behind a 5× optical zoom, mounted under the soffit and run at full zoom so that four feeders and a stretch of deck rail fill the frame. The wide camera cannot do this job. A bird on a feeder is a few dozen pixels in a view that takes in the whole yard. The Feeder Cam is wired, not WiFi: a single outdoor Ethernet cable carries both its power and its video to a switch in the basement.

The eyes Β· software

Frigate, the open-source network video recorder, ingests the camera's RTSP stream on the server. It runs object detection only on regions of the frame where motion occurs, several times a second, hardware-accelerated on the server's integrated GPU (OpenVINO for inference, VAAPI for video decode). When it confirms an animal, it saves a snapshot cropped to the animal β€” a close-up portrait, not a speck in a panorama β€” plus a short video clip.

The detector is a Frigate+ model fine-tuned on this camera's own footage rather than a generic one, and it looks for twelve animals: deer, raccoon, fox, squirrel, rabbit, skunk, possum, rodent, bird, dog, cat and bear. It has no word for coyote β€” that label does not exist in the model β€” and on 3 August it duly filed a pair of coyotes as "deer" at 91% confidence. Which is the honest lesson of the whole camera: a classifier can only answer with the words it was given.

Only deer publish automatically. Anything else waits for a human to look at it first, because on that same day the camera called a coyote a deer and called a deer a dog.

The Feeder Cam works differently, because its job is a portrait. Frigate spots a bird on a small, fast copy of the video. The picture you see is not that copy: it is cut afterwards from the full 4K recording, around the bird. Every frame in the second or so the bird sat still is measured for sharpness and the crispest one is kept. Each hour, the best picture from each feeder and from the rail is set aside. None of them is published until a person has looked at it, and a blurry one is thrown away rather than shown.

The weather Β· the third sense

A weather station in the yard reports every minute, and it is not decoration. It exists because two specific things kept going wrong.

Rain masquerades as insects. The insect index showed a large spike late one night in July. It was not a chorus β€” the full-spectrum level ran 16 dB above the cricket band, which is the signature of broadband noise rather than anything tonal. It was water dripping off the roof and the trees after a 10 PM rain. Diagnosing that took hours of acoustics and an hourly regional observation from miles away. With a rain gauge in the yard it is one number.

Temperature is the weakest link in identifying a cricket. Every pulse-rate curve in the reference is pulses per second = intercept + slope Γ— temperature. The whole identification hangs on that number, and it used to come from a regional forecast β€” miles away, hourly, and warmer or cooler than a shaded porch by several degrees. Now it comes from the yard.

A small job on the home server reads the gateway once a minute and pushes the reading straight out to Cloudflare, the same way the camera pushes sightings. The front page renders it, and the insect chart uses the temperature to turn a pulse rate into a shortlist of species.

The honest part is what happens when a sensor goes quiet. A gateway that has lost a sensor keeps serving that sensor's last value forever β€” no error, no timestamp, nothing that looks wrong. Dead batteries in February would publish a frozen temperature indefinitely and the cricket identifications would go quietly wrong. So the reader checks each sensor's radio signal and sends nothing rather than a stale number, and this page draws a missing reading as a dash. It is never drawn as zero: a rain rate of "0.00 in/hr" when the gauge is unreachable is a confident lie about the weather. Anything more than ten minutes old is labelled as stale rather than shown as current.

The brain

Both AIs run on a repurposed laptop in the basement acting as a home server (Proxmox hypervisor). Each subsystem lives in its own Linux container: one for BirdNET-Go, one for Frigate. A laptop makes a surprisingly good home server β€” low power draw, quiet, and its battery doubles as a built-in UPS through power blips.

The website

This site is a Cloudflare Worker β€” the page itself is served from Cloudflare's edge network worldwide, so traffic never strains the home connection. When the page needs data, the Worker (not your browser) fetches it from the home server through an encrypted Cloudflare Tunnel. The home network accepts no inbound connections at all; the server dials out to Cloudflare, and authenticated requests ride back down that tunnel. The Worker holds a machine credential for the tunnel's access gate and forwards only a fixed allow-list of read-only endpoints β€” detections, images, audio clips, and the live event streams that drive the waveform and the real-time bird badge. Nothing that could modify the station is reachable from the public site.

The night chorus Β· no AI required

Birds get a neural network. The insects get arithmetic, and it works better.

Every five minutes the porch microphone is sampled for twenty seconds and three numbers are extracted: the energy between 4 and 10 kHz (where crickets and katydids sing), the dominant pitch in that band, and the pulse rate of the envelope. None of that needs a model β€” it is a spectrum and a peak count.

The numbers are more useful than a species label would be. Pitch is close to a fingerprint: ground crickets sit near 6 kHz, tree crickets nearer 2 to 4 kHz, katydids higher and broader. When the dominant pitch shifts over a few weeks, a different species has taken over the yard. Pulse rate climbs with temperature, which is the basis of the old trick of counting cricket chirps to read a thermometer β€” and because the station logs weather alongside every detection, the rate can be plotted against the actual temperature outside rather than a textbook formula.

The reference data is sixty-eight years old and it is the best part of this station. Singing Insects of North America (SINA) is a project of Thomas J. Walker, professor emeritus of entomology at the University of Florida. Walker spent a career recording singing insects in the field, and SINA publishes his measurements as one spreadsheet per species β€” raw observations going back to 1958, each row a real insect on a real night: the song's pulse rate, the air temperature when it was recorded, the place, and the date.

That is exactly the data needed here. Insects are cold-blooded, so their song rate rises almost linearly with temperature. Seventeen of Walker's workbooks were downloaded and sixteen linear regressions fitted to them, one per species, of the form pulses per second = intercept + slope Γ— Β°C. The tightest is the southern ground cricket at rΒ² = 0.931 across 62 field observations; the western tree cricket, Fulton's ground cricket and the slightly musical conehead all fit above 0.88.

So the station measures pitch and pulse rate, reads the air temperature from its own shaded sensor on the porch, and asks which of twenty-two species could be singing that fast at that temperature. Every candidate links back to its own SINA page, so any claim here can be checked against Walker's original measurements.

It still says closest matches and never identified. Two numbers narrow the field to a small group, not a species; a chorus is many individuals overlapping; and the reference table is not yet filtered to Georgia, so a western tree cricket can win a match it has no business winning. The chart at the bottom of the front page remains an activity record β€” but the seasonal shape of it, and the fact that a 1958 field notebook can identify what is singing in a Georgia yard tonight, is the more interesting thing anyway.

The reference data also caught a bug in this station's own measurement. SINA's rates run from 8 to 200 pulses per second; the sampler was reporting 1.5 to 2.3 for everything, because its envelope used 10-millisecond windows and physically could not resolve anything above about 50 Hz. It had been measuring slow amplitude swells, not pulses. Walker's numbers made that obvious in a way nothing else would have.

Watching, not just seeing

Every species on Every creature ever seen can carry a short video, not only a still. The camera records at 4608×1728 in a codec no browser will play, so a clip is re-encoded to something ordinary, capped at sixteen seconds and stored alongside the photos.

One clip per species, deliberately β€” not one per sighting. There have been ninety-odd deer sightings and six species; a clip for each sighting would be hours of the same deer. And no clip is published automatically: each one is reviewed by a human first, on a page that plays it with the controls beneath the frame, because a ten-second video is a far bigger privacy surface than a single frame and nothing here is scanned for people automatically.

Buck, doe, or fawn

Deer sightings carry a second label where the footage supports one. In early August a buck's antlers are still in velvet β€” thick and rounded β€” and a fawn born in late May still shows white spots along its flanks into September. Both are small features, and both are invisible in the 720-pixel thumbnail the website displays.

So the reading is done on the original frame instead: the animal's position is taken from the detector's own bounding box, the sharpest moment in the clip is chosen, and that region is cropped out of the full 4608×1728 image. At that size a deer's head is around 180 pixels instead of 20.

It answers unknown often, and that is deliberate. A head turned away, a distant animal, or more than one deer in the frame all produce no label rather than a guess. Roughly a third of deer sightings carry a call; the rest say nothing, which is the honest answer.

Why sound needs one tap

The moment a bird is identified, its photo appears on the field log by itself. Playing its call takes one tap first.

That is not a quirk of this station, it is a rule every browser enforces: a page may not play audio until the visitor has interacted with it. The rule exists to stop pages blaring adverts at you, and nothing a website can do gets around it.

So the sound control is a single switch. It reads “sound off” until you tap it, then “sound on” — and that one tap is also the interaction the browser was waiting for. Every bird after it plays by itself for as long as the tab stays open. Reload the page and you tap once more.

Recordings from the yard are faint by nature, so playback is amplified about thirty decibels and passed through a limiter, which is why a bird heard fifty feet away is audible at all.

If you would rather never tap, grant the site standing permission: in Safari, right-click the address bar, choose Settings for This Website, and set Auto-Play to Allow All Auto-Play. In Chrome it is under the padlock icon → Site settingsSound.

Privacy, by design

Parts & costs

PartRoleApprox.
Raspberry Pi Zero 2 W kitporch audio streamer$90
USB sound adaptermic input for the Pi$9
Lavalier microphonethe ears$15
Dual-lens 180Β° WiFi camerathe eyes$105
Reolink RLC-811A camerathe Feeder Cam$119
Netgear GS305P Power over Ethernet switchpowers and connects the Feeder Cam$59
Ecowitt weather stationrain, wind, sun, UV + gateway$210
Shaded temp/humidity sensorthe porch thermometer$17
Home server + softwarealready owned Β· all open source$0
Totalβ‰ˆ $625

For comparison: the leading commercial bird-listening gadget costs about $250 and covers only the audio half β€” no camera, no weather, no website of your own, and no way to add any of them. The ears here came to about $115 of that, and the money saved went into eyes and weather instead.

Credits