Oberon HomeKit SDKs

Our HomeKit SDKs make it easy for home accessory manufacturers and systems integrators to add HomeKit support to their accessories such as thermostats, window blinds, door locks, security systems and sensors. They also support HomeKit bridges and come with numerous examples.

Every SDK refers to a specific reference platform, i.e., a hardware/software combination which can be easily procured, for which the SDK has been tested and for which the SDK is maintained by us. An accessory manufacturer, or its systems integrator, adapts the part of the SDK that is specific to the reference platform – the platform-support package – for the target platform.

OberonHAP Linux Ethernet HomeKit SDK

Target platforms: Any modern Linux system.
Reference platform: Raspberry Pi 3 with Raspbian Jessie (based on Debian).
Core: OberonHAP Core delivered as portable C source code that can be compiled with GCC 4.9.

OberonHAP Microchip-CycloneTCP Wi-Fi HomeKit SDK (coming soon)

Target platforms: Any system using a microcontroller with an ARM Cortex-M4/M4F/M7/M33 core, CycloneTCP and an ATWILC1000 (or ATWINC1500) Wi-Fi chip.
Reference platform: Microchip SAM V71 plus Microchip ATWILC1000-Wi-Fi chip.

Core code does not depend on the SAM V71. Remaining code directly supports the SAM V70, S70 and E70 families, and can be easily adapted to other microcontrollers.

This is a “bare metal” implementation, i.e., no operating system is required. To demonstrate the optional use of an RTOS, a FreeRTOS/OpenRTOS example is given in addition.

Core: OberonHAP Core, delivered as binary code compiled with GCC (optional: Keil), source code as an option.

Oberon HomeKit Libraries

OberonHAP Core

This library, available in source code, can be used by semiconductor manufacturers to build their own HomeKit SDKs for their chipsets. Our own HomeKit SDKs (see above) are also based on this core library. It consists of two components: a protocol component that implements the HomeKit pairing and session security protocols, and a cryptographic component.

The protocol component is available in two variants:

  • OberonHAP Core for BLE
  • OberonHAP Core for IP

The cryptographic component is available in several variants:

  • ARM Cortex-M0/M0+/M23
  • ARM Cortex-M3
  • ARM Cortex-M4/M4F/M7/M33
  • MIPS microAptiv UP
  • Cortus APS3RP
  • Portable C code

Except for the last variant: key functions are optimized in assembly language, using GCC syntax (optional: Keil syntax for ARM Cortex-M cores).