# Examples

The Matter SDK provides examples of Matter devices for different development
platforms.

## All clusters example

```{toctree}
:glob:
:maxdepth: 1

all-clusters-app/**/README
all-clusters-app/**/Readme
```

## All clusters minimal example

```{toctree}
:glob:
:maxdepth: 1

all-clusters-minimal-app/**/README
all-clusters-minimal-app/**/Readme
```

## Bridge example

```{toctree}
:glob:
:maxdepth: 1

bridge-app/**/README
```

## Contact Sensor Example

```{toctree}
:glob:
:maxdepth: 1

contact-sensor-app/**/README
```

## CHEF example

```{toctree}
:glob:
:maxdepth: 1

chef/README*
chef/**/README
```

## CHIP Tool example

```{toctree}
:glob:
:maxdepth: 1

chip-tool/README
```

## CHIP Tool Darwin example

```{toctree}
:glob:
:maxdepth: 1

darwin-framework-tool/README
```

## Java matter controller example

```{toctree}
:glob:
:maxdepth: 1

java-matter-controller/README
```

## Lighting example

```{toctree}
:glob:
:maxdepth: 1

lighting-app/**/README
lighting-app/qpg/APPLICATION
```

## Light switch example

```{toctree}
:glob:
:maxdepth: 1

light-switch-app/**/README
```

## Lock example

```{toctree}
:glob:
:maxdepth: 1

lock-app/**/README
lock-app/qpg/APPLICATION
```

## Log source example

```{toctree}
:glob:
:maxdepth: 1

log-source-app/**/README
```

## Minimal MDNS example

```{toctree}
:glob:
:maxdepth: 1

minimal-mdns/README
```

## OTA Provider example

```{toctree}
:glob:
:maxdepth: 1

ota-provider-app/**/README
```

## OTA Requestor example

```{toctree}
:glob:
:maxdepth: 1

ota-requestor-app/**/README
ota-requestor-app/**/Readme
```

## Persistent storage example

```{toctree}
:glob:
:maxdepth: 1

persistent-storage/**/README
persistent-storage/**/APPLICATION
```

## Pigweed example

```{toctree}
:glob:
:maxdepth: 1

pigweed-app/**/README
```

## Pump example

```{toctree}
:glob:
:maxdepth: 1

pump-app/**/README
pump-app/cc13x2x7_26x2x7/doc/programming*
```

## Pump controller example

```{toctree}
:glob:
:maxdepth: 1

pump-controller-app/**/README
pump-controller-app/cc13x2x7_26x2x7/doc/programming*
```

## Shell example

```{toctree}
:glob:
:maxdepth: 1

shell/README*
shell/**/README
```

## Smoke CO Alarm example

```{toctree}
:glob:
:maxdepth: 1

smoke-co-alarm-app/**/README
```

## Temperature measurement example

```{toctree}
:glob:
:maxdepth: 1

temperature-measurement-app/**/README
```

## Thermostat example

```{toctree}
:glob:
:maxdepth: 1

thermostat/**/README
thermostat/**/Readme
```

## TV example

```{toctree}
:glob:
:maxdepth: 1

tv-app/**/README
```

## TV casting example

```{toctree}
:glob:
:maxdepth: 1

tv-casting-app/**/README
```

## Window example

```{toctree}
:glob:
:maxdepth: 1

window-app/**/README
```
