An Arduino library for creating ESP32-based HomeKit devices that pair directly with Apple HomeKit via WiFi.
HomeSpan is an Arduino library that implements Apple's HomeKit Accessory Protocol for ESP32 microcontrollers. It allows developers to create custom HomeKit devices that connect directly to Apple's ecosystem via WiFi, enabling control through the Home app or Siri without requiring external bridges.
IoT hobbyists, makers, and developers who want to build custom HomeKit-compatible smart home devices using ESP32 microcontrollers and the Arduino IDE.
HomeSpan provides a fully HAP-R2 compliant, easy-to-use framework specifically designed for the ESP32 platform, with extensive hardware integration and debugging tools that simplify HomeKit accessory development compared to lower-level implementations.
HomeKit Library for the Arduino-ESP32
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements 100% of Apple's HomeKit specification, ensuring seamless pairing and control via the Home app or Siri without external bridges, as stated in the README.
Provides dedicated classes for PWM LED/servo control, IR/RF signals, addressable RGB LEDs, and stepper motors, leveraging ESP32's built-in peripherals for easy IoT development.
Offers extensive Serial Monitor output with a command-line interface for real-time debugging and configuration, making every HomeKit action transparent during development.
Includes a built-in WiFi access point and web interface for non-developers to configure WiFi credentials and pairing codes, simplifying deployment after programming.
Requires a Home Hub (HomePod or Apple TV) for full operation and explicitly has no plans for Matter support, limiting cross-platform flexibility and future-proofing.
Designed exclusively for ESP32 microcontrollers and does not support ESP8266 or other chips, restricting hardware options and migration paths.
Has strict version requirements for the Arduino-ESP32 Core, with breaking changes that can complicate updates and introduce compatibility issues, as noted in the README.