How to get body temperature using MLX90614 DCI on Arduino The MLX90614 provides 2 temperature outputs, namely surface temperature and ambient temperature. But how do you calculate the right body temperature from these two outputs?
Here are the results of my experiment at a distance of 1 inch:
(Temperature centigrade)

If you see table above, in the range with an ambient temperature of 27°C the surface temperature shows, on average, 33°C, but it will go up when the ambient temperature is 29°C; then the surface temperature shows an average of 35°C.
If I test with a temperature device, then my body temperature at the same distance and target is in the range of 36.3°C to 36.7°C.
Please help me how to calculate / get body temperature from MLX90614 DCI.
Skin temp tends to be lower (and less stable) than sublingual (under-the-tongue) temp, which tends to be lower than core temp.
I don't think there's going to be any meaningful way to use ambient temperature to adjust skin surface temperature.
You'd be better off putting the surface temperature probe under your armpit for a few minutes. That should be more stable than other parts of your skin.
If the probe is small enough you might also put it in the finger of a sterile glove and hold it under your tongue.