6132

I built a Unify AI Horn alternative, it’s a PoE-powered, weatherproof, webhook-triggered audio announcement system that integrates with the Ubiquiti Unifi security ecosystem — designed from scratch using an ESP32 S3, custom KiCad PCB, and Arduino C++ firmware.

How it all started

Three years of garden restoration. Gone. Muntjac deer don't care about your landscaping.

After exhausting the usual suspects — electric fences, chicken wire, stern looks — I installed a Ubiquiti UniFi camera system with AI animal detection. It worked brilliantly at telling me, in real time, that deer were destroying my garden. What I needed was something that would actually do something about it.

That's when I discovered UniFi webhooks.

ubiquiti-logo.jpg

From Webhook to Rabbit Hole

A webhook fires an HTTP POST when an event triggers — animal detected, motion, intrusion. All I needed was something to receive it and make a noise. Simple enough. Except "simple enough" is the most dangerous phrase in a maker's vocabulary.

The obvious first step was an off-the-shelf IP speaker. But nothing in the market integrated cleanly with UniFi, and the closest thing — the Ubiquiti UniFi AI Horn — felt like overkill for what I needed and underwhelming for what I wanted to build. It is also very ugly to look at!
unify-ai-horn-speaker-20260710211424.png

So naturally, I decided to design my own from scratch.

The Prototype Phase

I started where every sensible maker starts — veroboard. An ESP32 driving a Class-D amp, triggered over Wi-Fi. It proved the concept worked, but when I design something, I always think how it could work generally, not just how I want it to work. This meant I needed options, both Wi-Fi and Wired.

That decision made everything more interesting.
img-1534.JPEG

Designing the Hardware

The final design centred on four key components:

  • ESP32-S3 WROVER — the brains, running Arduino C++ firmware with a built-in web server
  • WIZnet W5500 — hardwired Ethernet for flexibility
  • ST PM8805 — PoE PD controller, Class 5, pulling up to 25W from the network switch
  • TAS5760L — Texas Instruments Class-D amplifier driving a weatherproof Visaton speaker
The PCB was designed in KiCad. Routing Ethernet differential pairs for the first time is humbling — there's a reason signal integrity gets its own engineering discipline.
unify-announce-rev-10.jpg
The Bug That Nearly Ended It

First boards arrived from MakerPCB in China. Powered up. Nothing.

The PM8805 PoE controller outputs a Power Good signal once negotiation completes and rails are stable — the ESP32 should wait for that before booting. My RC timing capacitors were sized wrong, so Power Good arrived too early, before the rails were actually ready. The ESP32 was trying to boot into an unstable power environment.

Fix: adjust the RC values, re-spin the board. Lesson: read the timing diagrams. All of them.
elektor-announce-finished-pcb.JPG
The Finished Product

The assembled unit lives in a Hammond weatherproof enclosure with a Visaton waterproof speaker mounted externally. It sits on the network like any other PoE device — single cable, no external power supply, either Wi-Fi or Wire Ethernet.

From the web UI you can upload audio files, configure which webhook events trigger which announcements, set volume, and update firmware over the air. The SD card holds audio locally so announcements still fire even if the server is unreachable.

Five boards manufactured in China came in at around £800 fully assembled. The same job quoted in the UK: circa £4, 000. As a maker and hobbyist, I had no choice but to order them from China.

Does It Work?

That's a difficult question. The unit works floorlessly, but after a while, the deer simply started to ignore the announcements...

However, I fitted one in my driveway and that has been very useful when we get unwanted visitors!

https://youtu.be/x_BiPibEjxk?si=Ht5rOSIAjPaOfnv9&t=1004