The HomeKit Accessory Development Kit (ADK) is an open-source framework from Apple for building smart home accessories that pair and communicate with the Home app and the broader Apple Home ecosystem. At its core, the ADK implements the HomeKit Accessory Protocol (HAP), providing the cryptographic pairing and secure session establishment—using SRP and Curve25519 key exchange—required for trusted accessory-controller links. Accessories are modeled through an event-driven architecture that manages state and characteristics, with configuration stored in a structured JSON format for runtime querying and updates.
The ADK distinguishes itself by enabling MFi-free accessory prototyping, allowing developers to experiment with HomeKit-compatible hardware without Apple's licensing program, reducing cost and certification barriers. It includes a platform abstraction layer that provides a hardware-agnostic interface for GPIO, I2C, and other peripherals, supporting diverse smart home hardware. The framework also integrates Thread networking for low-power mesh communication and uses Bonjour/mDNS for automatic accessory discovery on the local network.
The documentation covers building a HomeKit accessory from scratch, secure device pairing, and integrating custom accessories into home automation scenarios such as voice control, scenes, and automation rules. The ADK is distributed as source code with build instructions for multiple platforms.