1032 Matter SDKs and Development Environment
1032.1 Matter SDKs and Development Environment
NoteLearning Objectives
By the end of this section, you will be able to:
- Identify and compare the major Matter SDK options
- Choose the appropriate SDK based on transport, power, and cost requirements
- Set up a complete Matter development environment
- Understand the development workflow for Matter devices
1032.2 Prerequisites
Before diving into this chapter, you should be familiar with:
- Matter Protocol Overview: Understanding Matterโs role and architecture
- Matter Architecture and Fabric: Data model, security, and fabric concepts
- Matter Device Types and Clusters: Device types and cluster library
TipFor Beginners: What Do You Need to Build a Matter Device?
Building a Matter device requires three things:
- Hardware: A microcontroller or processor that can run Matter (ESP32, nRF52, etc.)
- SDK: Software libraries that handle all the Matter protocol complexity
- Certification: Testing to prove your device works with all Matter controllers
Analogy: Building a Matter device is like opening a restaurant: - Hardware = Your kitchen and equipment - SDK = Recipes and cooking techniques (Matter provides the recipes) - Certification = Health inspection (proves you follow standards)
The good news: Most of the hard work (encryption, networking, commissioning) is done by the SDK. You focus on what makes your device unique - the application logic.
1032.3 Matter SDK Landscape
1032.3.1 Official SDK Options
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#E67E22', 'secondaryColor': '#16A085', 'tertiaryColor': '#7F8C8D'}}}%%
graph TB
subgraph Official["Official/Reference SDKs"]
CSA[connectedhomeip<br/>CSA Reference SDK]
end
subgraph SiliconVendors["Silicon Vendor SDKs"]
ESP[ESP-Matter<br/>Espressif ESP32]
Nordic[nRF Connect<br/>Nordic nRF52/53]
NXP[NXP Matter<br/>NXP i.MX/K32W]
SiliconLabs[Silicon Labs<br/>EFR32]
TI[SimpleLink<br/>Texas Instruments]
Telink[Telink Matter<br/>TLSR9 Series]
end
subgraph Platforms["Platform SDKs"]
Apple[HomeKit ADK<br/>Apple integration]
Google[Google Home<br/>Development tools]
Amazon[Alexa Matter<br/>Integration SDK]
end
CSA --> ESP
CSA --> Nordic
CSA --> NXP
CSA --> SiliconLabs
CSA --> TI
CSA --> Telink
style CSA fill:#16A085,stroke:#2C3E50,color:#fff
style ESP fill:#E67E22,stroke:#2C3E50,color:#fff
style Nordic fill:#E67E22,stroke:#2C3E50,color:#fff
style Apple fill:#2C3E50,stroke:#16A085,color:#fff
{fig-alt=โMatter SDK ecosystem showing three tiers: Official CSA Reference SDK (connectedhomeip) in teal at top, Silicon Vendor SDKs in orange (ESP-Matter, nRF Connect, NXP, Silicon Labs, SimpleLink, Telink) all derived from reference SDK, and Platform SDKs in navy (Apple HomeKit ADK, Google Home tools, Amazon Alexa integration). Arrows show reference SDK flowing to vendor implementations.โ}
NoteAlternative View: SDK Selection Decision Matrix
This matrix view helps you quickly identify the right SDK based on your primary constraints (transport, power, cost).
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#E67E22', 'secondaryColor': '#16A085', 'tertiaryColor': '#7F8C8D'}}}%%
quadrantChart
title Matter SDK Selection by Transport and Power Requirements
x-axis Low Power --> High Power
y-axis Wi-Fi Only --> Thread Only
quadrant-1 Thread + Battery
quadrant-2 Thread + Mains
quadrant-3 Wi-Fi + Mains
quadrant-4 Wi-Fi + Battery
nRF Connect: [0.2, 0.85]
Silicon Labs: [0.7, 0.8]
ESP-Matter C6: [0.5, 0.5]
NXP i.MX: [0.8, 0.3]
ESP-Matter C3: [0.4, 0.2]
Quadrant Guide: - Thread + Battery (top-left): nRF Connect SDK for ultra-low-power sensors - Thread + Mains (top-right): Silicon Labs for powered Thread devices - Wi-Fi + Mains (bottom-right): NXP for high-performance gateways - Wi-Fi + Battery: ESP-Matter for cost-effective battery Wi-Fi (challenging use case)
1032.3.2 SDK Comparison
| SDK | Platform | License | Best For |
|---|---|---|---|
| connectedhomeip | Linux, RTOS, embedded | Apache 2.0 | Reference, custom platforms |
| ESP-Matter | ESP32 series | Apache 2.0 | Cost-effective Wi-Fi/Thread |
| nRF Connect SDK | nRF52/53/91 | Nordic license | Low-power Thread devices |
| Silicon Labs SDK | EFR32 series | Proprietary | Zigbee to Matter migration |
| NXP Matter | i.MX, K32W | BSD | High-performance edge |
1032.3.3 Choosing the Right SDK
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#E67E22', 'secondaryColor': '#16A085', 'tertiaryColor': '#7F8C8D'}}}%%
flowchart TB
Start[Choose SDK] --> Q1{Transport?}
Q1 -->|Thread Only| Thread[Thread-optimized]
Q1 -->|Wi-Fi Only| Wi-Fi[Wi-Fi-optimized]
Q1 -->|Both| Both[Dual-transport]
Thread --> Q2{Battery?}
Q2 -->|Yes| Nordic[nRF Connect SDK<br/>Nordic nRF52840]
Q2 -->|No| SiliconLabsSDK[Silicon Labs SDK<br/>EFR32MG24]
Wi-Fi --> Q3{Cost Priority?}
Q3 -->|Yes| ESP[ESP-Matter<br/>ESP32-C3/C6]
Q3 -->|No| NXP[NXP Matter<br/>i.MX RT]
Both --> Q4{Existing Ecosystem?}
Q4 -->|Zigbee| SiLabs2[Silicon Labs<br/>Zigbee migration]
Q4 -->|None| ESP2[ESP-Matter<br/>ESP32-C6]
style Start fill:#16A085,stroke:#2C3E50,color:#fff
style Nordic fill:#E67E22,stroke:#2C3E50,color:#fff
style ESP fill:#E67E22,stroke:#2C3E50,color:#fff
style NXP fill:#E67E22,stroke:#2C3E50,color:#fff
style SiLabs2 fill:#E67E22,stroke:#2C3E50,color:#fff
style ESP2 fill:#E67E22,stroke:#2C3E50,color:#fff
{fig-alt=โSDK selection decision tree: Starting with transport choice (Thread/Wi-Fi/Both), Thread path branches on battery (nRF Connect for battery, Silicon Labs for mains), Wi-Fi path branches on cost (ESP-Matter for cost-sensitive, NXP for performance), Both path branches on existing ecosystem (Silicon Labs for Zigbee migration, ESP-Matter otherwise). Orange endpoints show recommended SDKs.โ}
1032.4 Development Environment Setup
1032.4.1 Hardware Requirements
Minimum Development Setup:
| Component | Purpose | Example |
|---|---|---|
| Development board | Run Matter device | ESP32-C6-DevKitC |
| USB cable | Programming/debug | USB-C |
| Thread Border Router | Network connectivity | Apple HomePod Mini |
| Controller device | Testing | iPhone/Android phone |
Recommended Additions:
| Component | Purpose | Example |
|---|---|---|
| Second dev board | Controller testing | Nordic nRF52840-DK |
| Sniffer | Protocol debugging | Nordic nRF52840 Dongle |
| Logic analyzer | Signal debugging | Saleae Logic 8 |
1032.4.2 Software Setup (ESP-Matter Example)
1. Install Prerequisites:
# Ubuntu/Debian
sudo apt-get install git wget flex bison gperf python3 python3-pip \
python3-venv cmake ninja-build ccache libffi-dev libssl-dev \
dfu-util libusb-1.0-0
# macOS
brew install cmake ninja dfu-util python32. Clone ESP-IDF and ESP-Matter:
# ESP-IDF (Espressif's IoT Development Framework)
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.1.2 # Check for latest compatible version
./install.sh esp32c6
source export.sh
# ESP-Matter
cd ~/esp
git clone --recursive https://github.com/espressif/esp-matter.git
cd esp-matter
./install.sh
source export.sh3. Build and Flash Example:
cd ~/esp/esp-matter/examples/light
idf.py set-target esp32c6
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor1032.4.3 Development Workflow
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#E67E22', 'secondaryColor': '#16A085', 'tertiaryColor': '#7F8C8D'}}}%%
graph LR
Code[Write Code] --> Build[Build]
Build --> Flash[Flash Device]
Flash --> Commission[Commission]
Commission --> Test[Test with App]
Test --> Debug{Working?}
Debug -->|No| Logs[Check Logs]
Logs --> Code
Debug -->|Yes| Iterate[Add Features]
Iterate --> Code
style Code fill:#16A085,stroke:#2C3E50,color:#fff
style Build fill:#2C3E50,stroke:#16A085,color:#fff
style Flash fill:#2C3E50,stroke:#16A085,color:#fff
style Commission fill:#E67E22,stroke:#2C3E50,color:#fff
style Test fill:#E67E22,stroke:#2C3E50,color:#fff
style Debug fill:#7F8C8D,stroke:#2C3E50,color:#fff
{fig-alt=โDevelopment workflow cycle: Write Code in teal leads to Build, Flash Device, Commission in orange, Test with App in orange, then decision point Working? If no, Check Logs loops back to Write Code. If yes, Add Features loops back to Write Code. Shows iterative development process.โ}
1032.5 Summary
TipKey Takeaways
Choose SDK based on transport and power requirements - ESP-Matter for Wi-Fi/Thread dual-transport, nRF Connect for ultra-low-power battery devices, Silicon Labs for Zigbee migration
Hardware selection drives SDK choice - ESP32-C6 for cost-effective dual-transport, nRF52840 for battery optimization, EFR32 for Zigbee ecosystem compatibility
Development environment requires network infrastructure - Thread devices need a Border Router (HomePod Mini, Nest Hub, Echo 4th gen) in addition to the development board
Iterative workflow is essential - Code, build, flash, commission, test, debug, repeat until the device works correctly with ecosystem apps
1032.6 Whatโs Next
Continue to the next chapter to learn about implementing Matter device functionality:
- Matter Device Implementation and Commissioning - Building device logic and commissioning flows
- Matter Testing and Certification - Debugging, testing, and certification process