What is the Alexa Connect Kit?
Alexa Connect Kit (ACK) is a managed service that makes it easy to integrate Alexa into your product. With ACK, you don't need to write an Alexa skill, manage a cloud service, or develop complex network and security firmware to connect your product to Alexa. Instead, you integrate the ACK module into your product and pay a one-time fixed cost. ACK provides the managed services, software, and tools you can use to develop and manage your Alexa-connected products on an ongoing basis. Your customers benefit from Alexa device control and other features, such as Amazon's Frustration Free Setup (FFS) and Wi-Fi Simple Setup (WSS).
How the Alexa Connect Kit works
The following diagram shows the high-level components of an ACK-based smart device:
ACK-built product components
The following list shows the high-level components of a product built with the Alexa Connect Kit:
ACK Module — An Amazon-managed system-on-a-module that you integrate into your devices. The ACK Module is a wifi and Bluetooth Low Energy (BLE) hardware system-on-module that runs Amazon-managed firmware. The ACK module runs Amazon-managed firmware that provides connection with Alexa and the ACK managed services, and communicates with your device’s host microcontroller unit (HMCU) over a universal asynchronous receiver-transmitter (UART). You purchase the ACK module in a development kit from a third-party and integrate it into your device. For details, see Obtain the ACK Development Kit.
HMCU — The HMCU runs the device's HMCU application.
HMCU Application — The HMCU application runs the device-specific logic that governs device behavior.
Additional MCUs and peripheral hardware — Your ACK product might use one or more additional microcontroller units (MCUs) and peripheral hardware.
ACK services and components
The following list shows the high-level components of the Alexa Connect Kit:
ACK Console — ACK provides the ACK developer console to manage and configure your ACK-based products and devices. Use the developer console to view registered devices, create and edit virtual products, view and edit the Alexa interfaces associated with your product, and download resources, such as the ACK Device SDK.
ACK Device SDK — The ACK Device SDK for Embedded C contains a library, samples, and documentation for developers to build Alexa-connected HMCU applications for ACK. For details, see ACK Device SDK.
Alexa-enabled device or Alexa app — An ACK-based device relies on the Alexa app or an Alexa-enabled device, such as an Amazon Echo Dot, to enable Alexa voice interaction and device control by the customer.
ACK Managed Services — ACK managed services provide partner and device-specific functionalities, such as Alexa capability management, and logs and metrics for your devices.
Alexa Services — Alexa services convert customer utterances into directives, support WSS, and provide access to other Alexa capabilities and features. These are not specific to ACK.
A product integrated with ACK has the following benefits:
Alexa control — Customers can control your product with the Alexa app or an Alexa-enabled product, such as an Amazon Echo Dot or an Alexa Built-in device.
Wifi Simple Setup (WSS) — Register products with WSS, which is a feature of Amazon's Frustration Free Setup. WSS makes it easy for your customers to register their devices with Amazon and Alexa services. WSS can offer zero-touch setup, barcode registration, and customer-guided setup for device registration. For details, see Understand Wifi Simple Setup.
Alexa companion app support * — Support for your product's custom Alexa companion app. This is an optional feature for commercial manufacturers.
Amazon Dash Replenishment Service * — Enable Amazon's Dash Replenishment Service (DRS) for your devices. For details, see Dash Replenishment Service.
Logs and metrics * — View logs and metrics for your devices.
Over the air firmware updates * — Update ACK module and host microcontroller firmware over the air.
How your customer interacts with your ACK-based device
Alexa interfaces define the Alexa utterances your customers use with your product, and the Alexa app control page that they interact with.
When a customer says "Alexa, turn on my kitchen light", the Alexa service interprets the utterance and sends a Alexa.PowerController.TurnOn directive to the ACK service, which routes it to the ACK module. The ACK module forwards the directive to the HMCU. The device's HMCU application receives it using functionality provided by the ACK Device SDK, and device-specific logic turns the light on. The device's HMCU application lets the ACK Device SDK know it has processed the directive.
Here are some example products and associated Alexa smart home interfaces and utterances. For ideas about how to combine Alexa interfaces in different products, see Get Started with Device Templates.
|Product Name||Example Utterance||Smart Home Interfaces|
|Tea Kettle||"Alexa, turn on the tea kettle."||Alexa.PowerController|
|Light Switch||"Alexa, turn on the bedroom light."||Alexa.PowerController, Alexa.BrightnessController|
|Fan||"Alexa, turn on the fan."
"Alexa, set the fan speed to high."
Support for Alexa smart home interfaces
The Smart Home Skill API contains Alexa capability interfaces that your device can support. Each ACK-based device supports one or more Alexa interfaces. For example, if your device is a smart light, you might support the
Alexa.BrightnessController interfaces. If your device is a coffee maker, you might support the
Alexa.ModeController interfaces. For details about the Alexa Smart Home Skill API, see Understand the Smart Home Skill API.
The following table shows the Alexa Smart Home interfaces that ACK supports.
|BrightnessController||Control the brightness of a device such as a smart light bulb.||SDK 4, SDK 3|
|ColorController||Change the color of a device, such as a color-changing light bulb.||SDK 4, SDK 3|
|ColorTemperatureController||Control the color temperature of a device that supports tunable white light.||SDK 4, SDK 3|
|Cooking||Control the cooking functions of a cooking appliance. Not all functions of
||SDK 4, SDK 3|
|DeviceUsage.Estimation||Report the energy use of a device that estimates energy use. The
|DeviceUsage.Meter||Report the energy use of a device that measures energy use. The
|ModeController||A generic controller for the properties of a device that can be set to one of a list of values. For example, the wash cycle of a washing machine.||SDK 4, SDK 3|
|PercentageController||Control properties of a device that can expressed in percentage. For example, a smart light bulb set to twenty percent brightness.||SDK 4, SDK 3|
|PowerController||Control the power state of a device.||SDK 4, SDK 3|
|RangeController||A generic controller for the properties of a device that can be set to one of a range of values. For example, the speed setting of a fan from one to ten.||SDK 4, SDK 3|
|TemperatureSensor||Report temperature for a device that measures temperature, such as a thermostat. The
|ThermostatController||Control the target temperature and mode of devices that manage temperature automatically, such as furnaces, air conditioners, ceiling fans, water heaters, and others. The
|TimeHoldController||Pause a device. For example, pauses a microwave oven while it's cooking. The
||SDK 4, SDK 3|
|ToggleController||A generic controller for the properties of a device that can be set to on or off. For example, the oscillation feature of a fan.||SDK 4, SDK 3|
Support for international languages
When you build an ACK product, your customers automatically get support for utterances in their own language, for the smart home interfaces that support international languages.
- For the list of smart home interfaces that ACK supports, see Support for Alexa smart home interfaces.
- For the languages and locales that the smart home interfaces support, see List of Alexa Interfaces and Supported Languages.
When you implement the Alexa.ModeController, Alexa.RangeController, and Alexa.ToggleController interfaces in your product, you can provide additional language support for your customers. You can provide friendly names for your mode settings and preset values in foreign languages. For details, see Add support for international languages.
- Obtain the Development Kit for ACK. For details, see Obtain the ACK Development Kit.
- Learn how to use your development kit. For details, see Get Started with the Development Kit for ACK.
- Start to prototype your product. For details, see Prototype Your Product.
- If you are a commercial manufacturer that would like to move forward with a project, see Contact us about your project.