An ESP32-based system for monitoring 24V analog alarm signals triggered by sensors throughout a farm. The software side of the system is made with ESPHome, Node-RED and Home Assistant. The ESP32 used is the Olimex ESP32-POE-ISO-IND, but any PoE powered ESP32 would have worked.
There are 5 LEDs that represent alarms in different buildings. In order to find out whether a problem has occurred, and where said problem is, one must check these LEDs. The goal is to get these LEDs into Home Assistant as binary sensors, and notify me when a problem has occurred in any of the buildings.
The five alarms can be simplified as seperate 24V circuits each containing an LED and an on/off switch.
As I wanted to learn the basics of designing PCBs, I figured i could try to design a simple PCB that could solve this problem. Additionally, the ESP32 had to be powered using PoE (to minimize cabling). After searching for boards around the internet, I settled for the Olimex ESP32-POE board. The idea was simple. I wanted to intercept the signal on each LED using optocouplers. The collectors were connected to their own GPIO pin, with ESP32's internal pullup resistors, and the emitters were connected to ground. The simplified circuit with an optocoupler can be seen in the picture below.
The KiCAD files for the final design of the PCB can be found in the repository.