Skip to content
Ben's Tech
Go back

Yard Birds: A Dedicated BirdNET-Go Display on a 2.8-inch CYD

Edit page

I wanted a small, dedicated display for the bird detections around my yard. BirdNET-Go was already doing the difficult work of listening and identifying species, but I wanted to see the results somewhere without opening a browser or checking a dashboard.

The result is Yard Birds, a firmware project for the 2.8-inch ESP32-2432S028 Cheap Yellow Display, commonly called the CYD.

The complete source and build instructions are available on GitHub.

What it displays

The normal screen is a portrait-oriented list of the species detected that day. Each row shows the common name, the number of detections, and BirdNET-Go’s identification confidence.

Yard Birds list showing species counts and identification confidence

The display pulls the daily species data from BirdNET-Go’s HTTP API. It does not have a microphone and it does not perform the bird identification itself. BirdNET-Go remains the detection system; the CYD is a small network display for the results.

When a new species is identified, the display switches to a full-screen image for three seconds. It then returns to the daily list. The image comes from BirdNET-Go using the detected bird’s scientific name, so the device can show a useful photo without storing a large bird-photo library on the device.

Yard Birds showing a full-screen Carolina Chickadee image

Keeping the firmware reusable

The firmware does not contain my network credentials or a hard-coded installation address. On first boot, the CYD provides a setup portal where the user enters the local WiFi details and the BirdNET-Go server address. Optional HTTP Basic Authentication fields are available for installations that protect the BirdNET-Go interface.

The settings are saved on the device. After setup, it boots directly into the bird display rather than opening the configuration portal every time. A SETUP button remains available in the header if the server details need to be changed later.

The firmware is built with PlatformIO. The repository documents the board-specific details, including the touch calibration sequence and the current esptool command for flashing a board from a separate computer.

A simple enclosure

For the physical installation, I used a slim, minimal 3D-printed case designed for the CYD. It mounts flat on a Skadis board, which gives it a convenient place next to the wall art and keeps the display off the desk.

Yard Birds mounted on a Skadis board

The rear photo shows the printed plate and the four mounting points. The enclosure model is available from MakerWorld.

Back of the 3D-printed CYD enclosure

The useful part is the constraint

This is a good example of a project where the hardware is not trying to replace the main system. BirdNET-Go already does the difficult work. The CYD only needs to do a few things well: connect to the local network, fetch the current list, show readable numbers, and call attention to a new identification.

That makes the device useful without turning it into another general-purpose dashboard. It has one job, it fits in a small printed case, and it gives the bird detections a physical place in the room.

If you want to build one, start with the Yard Birds GitHub repository. It includes the firmware, setup instructions, board-specific notes, and the photos of the finished installation shown here.


Edit page
Share this post on:

Next Post
LoRa Wiki Bot: Answering Meshtastic Messages with Hermes