Note: This KBA has been marked as deprecated. A more updated KBA can be found here: Thermometer Example with EFR32 Internal Temperature Sensor
The attached example is an adaptation of the standard 'SOC - Thermometer' example which instead of accessing the Si7021 Temperature and Relative Humidity sensor through I2C uses the EFR32's own internal temperature sensor. This sensor is measured during production test and the temperature readout from the ADC at production temperature as well as the Celsius value are given in the device information page. Using these and the millivolts per degrees slope found in the sensor datasheet the current temperature can be calculated according to formula:
T_Celsius = T_Calibration - (ADC_Calibration_Reading - ADC_Current_Reading) * V_Ref / (4096 * Slope)
(For more information, see ADC section of the reference manual of your chosen hardware, e.g. EFR32xG13)
Start by creating an SoC - Empty sample app for your chosen hardware.
Using the Blue Gecko app you can now read the temperature sampled from the internal temperature sensor.
There are a couple of changes to the basic SoC-Thermometer example:
temperature_data = convert_to_millicelsius(read_adc());