There are currently 4 implementations of the CHIP device controller with varying support for certain CHIP features.
The iOS chip-tool is located in ../darwin/CHIPTool.
The Android chip-tool is located in ../android/CHIPTool.
The POSIX CLI chip-tool is located in ../../examples/chip-tool.
The POSIX CLI chip-tool is located in ../../examples/darwin-framework-tool.
The Python chip-device-ctrl is located in ../controller/python/.
| Onboarding | iOS | Android | CLI | Python | 
|---|---|---|---|---|
| Setup code | y? | n | y | y | 
| QR code | y | y | n | n | 
| NFC | y | y | n | n | 
| Provisioning | iOS | Android | CLI | Python | 
|---|---|---|---|---|
| Soft-AP | y | n | y | y | 
| WiFi-BLE | y? | y | y | y | 
| Thread-BLE | n(*0) | y(*1) | n | y(*1) | 
| Commands/Clusters | iOS | Android | CLI | Python | 
|---|---|---|---|---|
| Echo Client | y? | y | y | y | 
| On/Off Client | y | y | y | y | 
| LevelControl Client | ? | y | y | y | 
| Identify Client | ? | n(*2) | y | y | 
| Scene Client | n? | n(*2) | y | y | 
| Group Client | n? | n(*2) | y | y | 
| Binding Client | n? | n(*2) | y | y | 
| Attributes/Clusters | iOS | Android | CLI | Python | 
|---|---|---|---|---|
| Read | n | n(*2) | y | y | 
| Write | n | n(*2) | y | n | 
| iOS | Android | CLI | Python | |
|---|---|---|---|---|
| Multiple Devices | y | n | ? | y | 
Notes:
(*0) https://github.com/project-chip/connectedhomeip/pull/4829
(*1) Only static commissioning, not MeshCoP.
(*2) Locally a patch exists, could be upstreamed.