# Matter QPG6105 Thermostat Example Application

## Thermostat

A thermostat example application showing the use of
[Matter](https://github.com/project-chip/connectedhomeip) on the Qorvo QPG6105
can be found in this folder.

## Qorvo SDK

More detailed information on the Qorvo SDK can be found in the
[Qorvo Matter SDK](https://github.com/Qorvo/QMatter).

## More information

For more information on our product line and support options, please visit
[www.qorvo.com](https://www.qorvo.com) or contact us at <LPW.support@qorvo.com>
