Espkyogate

Serial Bridge for Bentel Kyo Alarm System.

Internet of Things (IoT)C++AGPL-3.0

Abstract

Espkyogate is an open-source Internet of Things (IoT) project. Serial Bridge for Bentel Kyo Alarm System. Complete ESPHome component for Bentel Security KYO alarm panels, based on ESP32 and communicating over RS-232 serial via a MAX3232 level shifter. It is built using C++, ESP8266. Key capabilities include: Alarm Control Panel entities per partition (arm away, arm home, arm night, disarm) with full Home Assistant integration; Binary sensors for zones, zone tamper, zone bypass, alarm memory, tamper memory, warnings, tamper flags, siren, communication status, and output states; Text sensors for firmware version, alarm model, zone diagnostics (type, panel name, partition, serial number), output names, partition timers, keyfob serial numbers, partition names, and code names. The complete source code is publicly available on GitHub under the GNU Affero General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.

1. Introduction

Complete ESPHome component for Bentel Security KYO alarm panels, based on ESP32 and communicating over RS-232 serial via a MAX3232 level shifter.

2. Objective

Serial Bridge for Bentel Kyo Alarm System.

This project demonstrates how C++, ESP8266 can be applied to a real-world Internet of Things (IoT) problem.

3. Key Features / Modules

  • Alarm Control Panel entities per partition (arm away, arm home, arm night, disarm) with full Home Assistant integration
  • Binary sensors for zones, zone tamper, zone bypass, alarm memory, tamper memory, warnings, tamper flags, siren, communication status, and output states
  • Text sensors for firmware version, alarm model, zone diagnostics (type, panel name, partition, serial number), output names, partition timers, keyfob serial numbers, partition names, and code names
  • Non-blocking serial I/O with async state machine (no blocking delays)
  • Response caching with change detection (only publishes when state changes)
  • Exponential backoff on communication failures (2s to 32s)
  • Dual-query polling (sensor + partition status every 500ms cycle)
  • One-time config reads for zone configuration, names, serial numbers, output names, partition timers, keyfob serial numbers, partition names, and code names

4. Technology Stack

C++ESP8266
  • ESP32 board (e.g., ESP32 DevKit)
  • MAX3232 RS-232 to TTL adapter with DB9 connector
  • 12V to USB converter for panel-powered operation (recommended for battery backup)
  • source: github://lorenzo-deluca/espkyogate

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Arduino IDE / PlatformIO or a C++ compiler (g++)
  • Target board (e.g. Arduino, ESP32) where applicable
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/lorenzo-deluca/espkyogate.git
cd espkyogate
external_components:
  - source:
      type: local
      path: path/to/espkyogate/components
    components: [bentel_kyo]

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a mobile dashboard using Blynk or Firebase
  • Store readings in a cloud database for history charts
  • Add alerts via SMS / Telegram when thresholds are crossed

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which microcontroller / board and sensors are used and why?
  2. How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
  3. Where is the sensor data stored and visualised?
  4. How is power consumption managed?
  5. How would you secure the device and its communication?

9. Source Code & License

This project is developed by lorenzo-deluca and published on GitHub under the GNU Affero General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Internet of Things (IoT) Internship