Get started with Matter

Google's Home Developer program allows device manufacturers to connect their smart home devices with the Google Home ecosystem. We are expanding the Smart Home Actions local fulfillment path with the ability to add Matter-enabled devices for setup using the Google Home app (GHA) and control them using Google Assistant, GHA, or smart displays like the Google Nest Hub (2nd gen).

This documentation describes how to get started with building and integrating a Matter-supported platform in the Google Home ecosystem.

Disclaimers

Regarding the procedures described in the Matter documentation, be aware of the following:

  • We recommend that the account used for development only have a single Matter-enabled hub connected for testing. Multiple Matter-enabled hubs connected at the same time or connected to the same structure during testing could result in unpredictable behavior.
  • All procedures assume the use of a Linux machine running Ubuntu 20.04 for building and flashing Matter samples, which have been tested by Google. While macOS machines are supported, Linux is recommended. Mac-specific instructions are called out in the procedures as needed.

How to build

To build a Matter-enabled device that integrates with the Google Home ecosystem, you'll work with a Matter-compatible development board and the Matter SDK.

The easiest way to get started is by going through our codelabs. We recommend doing at least one of the following codelabs:

After that, check our list of supported devices to ensure that what you plan to integrate is supported in the Google Home ecosystem. Then read through the Developer Checklist to understand the entire development flow from project creation to launch.

Supported Devices Developer Checklist

Definitions

The following terms are used throughout this documentation:

Border router
A hub that implements a general-purpose Thread Border Router for Thread-enabled devices.
Hub
A supported Google Nest device, such as the Google Nest Hub (2nd gen). A hub is required to control Matter-enabled devices through other surfaces such as Assistant, the GHA, and smart displays.
Matter-enabled device
A device or development board that has been flashed with a Matter-enabled build or sample app.
Mobile device
The test phone used to assist with pairing. Currently this is an Android phone.

Prerequisites

Recommended IDE extensions for Matter development

In order to fully integrate a Matter-enabled device with the Google Home ecosystem, a developer must have:

  1. A Google hub with Thread support to serve as both a Border Router for Thread-enabled devices and as a local fulfillment path for routing Smart Home intents.
  2. A mobile device (test phone) that meets the minimum requirements:
    • Android O (8.1, API level 27 or newer)
    • iOS (v16.5 or newer)
    • BLE capability
  3. A Vendor ID (VID) and Product ID (PID) for the Matter-enabled device.
  4. A Matter-enabled device. This device should be one of the Matter device types supported in the Google Home ecosystem, and could be:
    • Your own product with Matter-enabled firmware.
    • One of the following Matter devices to use for end-to-end verification:
Table: Matter examples from silicon vendors
Vendor Platform Thread Support Guide
Bouffalo Lab BL602
BL702
Espressif ESP32 OTA Testing
Nordic Semiconductor nRF52840 DK OTA Testing
NXP IOTZTB-DK006 development kit
Realtek Ameba D Series
Silicon Labs EFR32MG24 Dev Kit
EFR32MG Zigbee and Thread Starter Kit
Telink TLSR9518
Texas Instruments CC2652R7 LaunchPad development kit

Vendor ID

By default, you can use one of the VIDs allocated by the CSA for testing purposes. Select one of the following: 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4.

To use a Production VID so that your integration can be certified and launched, you must first have it verified by Google to ensure that it has been issued to you by the CSA.

This VID should be implemented in your device's firmware.

A Matter device can only be paired in the Google Home ecosystem in certain Vendor ID and device type scenarios.

  • A test VID cannot be used in a consumer device.
  • Your production VID must issued by the Connectivity Standards Alliance (Alliance). Google will validate you're the owner of that VID before you can use it in the Google Home Developer Console. Once that happens you'll be able to create integrations for that VID.
  • For development and field trial purposes, a project and integration with the corresponding VID and PID combination must be created in the Developer Console. The user commissioning the device must either be a member of the project or be included in the list of field trial users.
  • Consumer users can only use your product once it has been certified by the Alliance.
Table: Vendor ID (VID) and device type pairing scenarios
Which types of users can commission the device into the Google Home ecosystem?
VID type VID certification and console integration status Production
(Consumer users)
Development
(Developers, Field Trial users)
Test No integration in the Developer Console (cannot be certified)
Test Integration exists in the Developer Console (cannot be certified)
Production Not certified, integration does not exist in the Developer Console
Production Not certified, integration exists in the Developer Console
Production Certified in the Alliance DCL, integration does not exist in the Developer Console
Production Certified in the Alliance DCL and integration exists in the Developer Console

Product ID

Information about the device is read from the Matter Basic Information Cluster. The Product ID encoded in your device's firmware must match the Product ID of the Matter integration in the Developer Console.

Unsupported features

Some Matter clusters are not yet exposed to users, though they may be used by the system. In most cases, this means that attributes exposed through these clusters aren't visible to end users:

Table: Matter clusters not exposed to users in the Google Home ecosystem
Cluster Type Clusters
Core
  • Binding ¹
  • Label
  • Fixed Label
  • User Label
  • Actions
  • Group Key
  • Localization Configuration
  • Time Format Localization
  • Unit Localization
  • Power Source Configuration
  • Power Source
  • Diagnostics clusters (Diagnostic Logs, General Diagnostics, Software Diagnostics, Thread Network Diagnostics, Wi-Fi Network Diagnostics, Ethernet Network Diagnostics)
  • Time Synchronization
  • Mode Select
Application
  • Groups and Scenes are not directly supported. Equivalent functionality is available via Routines.
  • All Media clusters. Equivalent functionality is available via Google Cast.

¹ See On/Off Light Switches for how this impacts On/Off Light Switches.