Bmp180 temperature sensor not working properly

Hi

recently I’ve ordered some cubecell devices and compatible sensors. While using the bmp180 sensor, I’ve noticed that the value for temperature is unreliable and changes constantly.

Using the example code from https://github.com/HelTecAutomation/CubeCell-Arduino/blob/68b01ab7bf04ab2fb4d41a01287dcf4b42defd97/libraries/LoRa/examples/LoRaWAN/LoRaWAN_Sensors/LoRaWan_BMP180/LoRaWan_BMP180.ino, these are the logs of my latest test session, where 25.90 C is the correct value for temperature:

19:06:29.890 -> joined
19:06:29.957 -> Temperature: 25.90 C, Pressure: 101462.00Pa, BatteryVoltage:4106
19:06:29.991 -> confirmed uplink sending ...
19:06:35.324 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:06:35.839 -> Temperature: -69.10 C, Pressure: 101462.00Pa, BatteryVoltage:4106
19:06:35.839 -> confirmed uplink sending ...
19:06:41.206 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:06:41.306 -> Temperature: -69.10 C, Pressure: 101463.00Pa, BatteryVoltage:4106
19:06:41.306 -> confirmed uplink sending ...
19:06:46.669 -> received unconfirmed downlink: rssi = -42, snr = 15, datarate = 5
19:06:47.275 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4106
19:06:47.275 -> confirmed uplink sending ...
19:06:52.618 -> received unconfirmed downlink: rssi = -43, snr = 14, datarate = 5
19:06:52.652 -> Temperature: -69.10 C, Pressure: 101463.00Pa, BatteryVoltage:4108
19:06:52.652 -> confirmed uplink sending ...
19:06:58.025 -> received unconfirmed downlink: rssi = -43, snr = 14, datarate = 5
19:06:58.134 -> Temperature: -69.10 C, Pressure: 101457.00Pa, BatteryVoltage:4106
19:06:58.134 -> confirmed uplink sending ...
19:07:03.478 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:07:04.166 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4108
19:07:04.166 -> confirmed uplink sending ...
19:07:09.520 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:07:09.867 -> Temperature: -69.10 C, Pressure: 101456.00Pa, BatteryVoltage:4108
19:07:09.867 -> confirmed uplink sending ...
19:07:15.239 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:07:15.340 -> Temperature: -69.10 C, Pressure: 101469.00Pa, BatteryVoltage:4108
19:07:15.340 -> confirmed uplink sending ...
19:07:20.693 -> received unconfirmed downlink: rssi = -43, snr = 13, datarate = 5
19:07:21.323 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4108
19:07:21.323 -> confirmed uplink sending ...
19:07:26.674 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:07:27.347 -> Temperature: -69.10 C, Pressure: 101465.00Pa, BatteryVoltage:4108
19:07:27.381 -> confirmed uplink sending ...
19:07:32.727 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:07:32.835 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4108
19:07:32.835 -> confirmed uplink sending ...
19:07:38.195 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:07:38.297 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4108
19:07:38.297 -> confirmed uplink sending ...
19:07:43.645 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:07:44.364 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4108
19:07:44.364 -> confirmed uplink sending ...
19:07:49.727 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:07:49.830 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4108
19:07:49.830 -> confirmed uplink sending ...
19:07:55.199 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:07:55.302 -> Temperature: -69.10 C, Pressure: 101454.00Pa, BatteryVoltage:4108
19:07:55.302 -> confirmed uplink sending ...
19:08:00.660 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:08:01.040 -> Temperature: -69.10 C, Pressure: 101456.00Pa, BatteryVoltage:4108
19:08:01.074 -> confirmed uplink sending ...
19:08:06.421 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:08:06.528 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4108
19:08:06.528 -> confirmed uplink sending ...
19:08:11.880 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:08:11.950 -> Temperature: 25.90 C, Pressure: 170988.00Pa, BatteryVoltage:4108
19:08:11.950 -> confirmed uplink sending ...
19:08:17.105 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4110
19:08:17.105 -> confirmed uplink send⸮received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:08:22.635 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4110
19:08:22.635 -> confirmed uplink sending ...
19:08:27.940 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:08:28.043 -> Temperature: -69.10 C, Pressure: 101462.00Pa, BatteryVoltage:4110
19:08:28.043 -> confirmed uplink sending ...
19:08:33.405 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:08:33.713 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4110
19:08:33.746 -> confirmed uplink sending ...
19:08:39.104 -> received unconfirmed downlink: rssi = -42, snr = 15, datarate = 5
19:08:39.693 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4110
19:08:39.727 -> confirmed uplink sending ...
19:08:45.066 -> received unconfirmed downlink: rssi = -43, snr = 14, datarate = 5
19:08:45.553 -> Temperature: -69.10 C, Pressure: 101457.00Pa, BatteryVoltage:4110
19:08:45.553 -> confirmed uplink sending ...
19:08:50.918 -> received unconfirmed downlink: rssi = -44, snr = 14, datarate = 5
19:08:51.304 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4110
19:08:51.341 -> confirmed uplink sending ...
19:08:56.687 -> received unconfirmed downlink: rssi = -43, snr = 14, datarate = 5
19:08:57.040 -> Temperature: -69.10 C, Pressure: 101464.00Pa, BatteryVoltage:4110
19:08:57.075 -> confirmed uplink sending ...
19:09:02.426 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:09:02.493 -> Temperature: 25.90 C, Pressure: 170970.00Pa, BatteryVoltage:4110
19:09:02.493 -> confirmed uplink sending ...
19:09:07.845 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:09:07.951 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4110
19:09:07.951 -> confirmed uplink sending ...
19:09:13.324 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:09:13.392 -> Temperature: 25.90 C, Pressure: 101461.00Pa, BatteryVoltage:4110
19:09:13.392 -> confirmed uplink sending ...
19:09:18.735 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:09:19.009 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4110
19:09:19.009 -> confirmed uplink sending ...
19:09:24.375 -> received unconfirmed downlink: rssi = -41, snr = 15, datarate = 5
19:09:24.738 -> Temperature: -69.10 C, Pressure: 101457.00Pa, BatteryVoltage:4110
19:09:24.738 -> confirmed uplink sending ...
19:09:30.082 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:09:30.470 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4110
19:09:30.470 -> confirmed uplink sending ...
19:09:35.826 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:09:35.998 -> Temperature: -69.10 C, Pressure: 101455.00Pa, BatteryVoltage:4112
19:09:35.998 -> confirmed uplink sending ...
19:09:47.022 -> received unconfirmed downlink: rssi = -41, snr = 15, datarate = 5
19:09:47.022 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4110
19:09:47.022 -> confirmed uplink sending ...
19:09:47.022 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:09:47.022 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4112
19:09:47.022 -> confirmed uplink sending ...
19:09:59.055 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:09:59.055 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4112
19:09:59.055 -> confirmed uplink sending ...
19:09:59.055 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:09:59.055 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4112
19:09:59.055 -> confirmed uplink sending ...
19:10:07.620 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:10:07.620 -> Temperature: -69.10 C, Pressure: 101457.00Pa, BatteryVoltage:4112
19:10:07.620 -> confirmed uplink sending ...
19:10:17.896 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:10:17.896 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4112
19:10:17.896 -> confirmed uplink sending ...
19:10:17.896 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:10:17.896 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4112
19:10:17.896 -> confirmed uplink sending ...
19:10:26.882 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:10:26.882 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4112
19:10:26.882 -> confirmed uplink sending ...
19:10:26.882 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:10:26.882 -> Temperature: 229.80 C, Pressure: 232898.00Pa, BatteryVoltage:4112
19:10:26.882 -> confirmed uplink sending ...
19:10:31.711 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:10:32.197 -> Temperature: -69.10 C, Pressure: 101465.00Pa, BatteryVoltage:4112
19:10:32.197 -> confirmed uplink sending ...
19:10:37.547 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:10:38.257 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4112
19:10:38.257 -> confirmed uplink sending ...
19:10:43.636 -> received unconfirmed downlink: rssi = -43, snr = 14, datarate = 5
19:10:43.881 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4112
19:10:43.881 -> confirmed uplink sending ...
19:10:49.238 -> received unconfirmed downlink: rssi = -42, snr = 16, datarate = 5
19:10:49.273 -> Temperature: 25.80 C, Pressure: 101459.00Pa, BatteryVoltage:4112
19:10:49.311 -> confirmed uplink sending ...
19:10:54.645 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:10:54.914 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4112
19:10:54.914 -> confirmed uplink sending ...
19:11:00.261 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:00.294 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4112
19:11:00.294 -> confirmed uplink sending ...
19:11:05.666 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:06.385 -> Temperature: -69.10 C, Pressure: 101465.00Pa, BatteryVoltage:4112
19:11:06.385 -> confirmed uplink sending ...
19:11:11.723 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:12.068 -> Temperature: -69.10 C, Pressure: 101462.00Pa, BatteryVoltage:4112
19:11:12.068 -> confirmed uplink sending ...
19:11:17.417 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:17.519 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4114
19:11:17.519 -> confirmed uplink sending ...
19:11:22.878 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:23.547 -> Temperature: -69.10 C, Pressure: 101459.00Pa, BatteryVoltage:4114
19:11:23.585 -> confirmed uplink sending ...
19:11:28.705 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4114
19:11:28.705 -> confirmed uplink send⸮received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:11:34.640 -> Temperature: -69.10 C, Pressure: 101456.00Pa, BatteryVoltage:4114
19:11:34.640 -> confirmed uplink sending ...
19:11:41.083 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:41.083 -> Temperature: -69.10 C, Pressure: 101452.00Pa, BatteryVoltage:4114
19:11:41.083 -> confirmed uplink sending ...
19:11:51.116 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:51.116 -> Temperature: -69.10 C, Pressure: 101458.00Pa, BatteryVoltage:4114
19:11:51.116 -> confirmed uplink sending ...
19:11:53.887 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:53.887 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4114
19:11:53.887 -> confirmed uplink sending ...
19:11:57.165 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:11:57.268 -> Temperature: -69.10 C, Pressure: 101461.00Pa, BatteryVoltage:4114
19:11:57.304 -> confirmed uplink sending ...
19:12:02.672 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:12:03.184 -> Temperature: -69.10 C, Pressure: 101457.00Pa, BatteryVoltage:4114
19:12:03.218 -> confirmed uplink sending ...
19:12:08.578 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:12:08.616 -> Temperature: 25.80 C, Pressure: 170925.00Pa, BatteryVoltage:4114
19:12:08.649 -> confirmed uplink sending ...
19:12:13.993 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:12:14.038 -> Temperature: -69.10 C, Pressure: 101460.00Pa, BatteryVoltage:4114
19:12:14.038 -> confirmed uplink sending ...
19:12:19.407 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:12:19.481 -> Temperature: 12.80 C, Pressure: 165467.00Pa, BatteryVoltage:4114
19:12:19.481 -> confirmed uplink sending ...
19:12:24.850 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:12:25.476 -> Temperature: -6.40 C, Pressure: 335391.00Pa, BatteryVoltage:4114
19:12:25.476 -> confirmed uplink sending ...
19:12:30.832 -> received unconfirmed downlink: rssi = -44, snr = 13, datarate = 5
19:12:30.932 -> Temperature: -6.40 C, Pressure: 335096.00Pa, BatteryVoltage:4114
19:12:30.932 -> confirmed uplink sending ...
19:12:36.286 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:12:36.353 -> Temperature: -6.40 C, Pressure: 334987.00Pa, BatteryVoltage:4114
19:12:36.353 -> confirmed uplink sending ...
19:12:41.714 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:12:42.051 -> Temperature: -6.40 C, Pressure: 335033.00Pa, BatteryVoltage:4114
19:12:42.051 -> confirmed uplink sending ...
19:12:47.183 -> Temperature: -6.received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:12:47.423 -> 40 C, Pressure: 335021.00Pa, BatteryVoltage:4116
19:12:47.423 -> confirmed uplink sending ...
19:12:52.771 -> received unconfirmed downlink: rssi = -43, snr = 13, datarate = 5
19:12:53.289 -> Temperature: -6.40 C, Pressure: 335092.00Pa, BatteryVoltage:4116
19:12:53.289 -> confirmed uplink sending ...
19:12:58.640 -> received unconfirmed downlink: rssi = -42, snr = 15, datarate = 5
19:12:58.744 -> Temperature: -6.40 C, Pressure: 335116.00Pa, BatteryVoltage:4116
19:12:58.744 -> confirmed uplink sending ...
19:13:04.098 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:13:04.199 -> Temperature: -6.40 C, Pressure: 335119.00Pa, BatteryVoltage:4114
19:13:04.199 -> confirmed uplink sending ...
19:13:15.934 -> received unconfirmed downlink: rssi = -42, snr = 15, datarate = 5
19:13:15.934 -> Temperature: -6.40 C, Pressure: 335157.00Pa, BatteryVoltage:4116
19:13:15.934 -> confirmed uplink sending ...
19:13:15.934 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:13:15.934 -> Temperature: -6.40 C, Pressure: 335146.00Pa, BatteryVoltage:4116
19:13:15.934 -> confirmed uplink sending ...
19:13:25.967 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:13:25.967 -> Temperature: -6.40 C, Pressure: 334988.00Pa, BatteryVoltage:4116
19:13:25.967 -> confirmed uplink sending ...
19:13:31.306 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:13:31.306 -> Temperature: -6.40 C, Pressure: 334904.00Pa, BatteryVoltage:4116
19:13:31.306 -> confirmed uplink sending ...
19:13:41.570 -> received unconfirmed downlink: rssi = -42, snr = 13, datarate = 5
19:13:41.570 -> Temperature: -6.40 C, Pressure: 334854.00Pa, BatteryVoltage:4116
19:13:41.570 -> confirmed uplink sending ...
19:13:41.570 -> received unconfirmed downlink: rssi = -41, snr = 13, datarate = 5
19:13:41.570 -> Temperature: -6.40 C, Pressure: 334859.00Pa, BatteryVoltage:4116
19:13:41.570 -> confirmed uplink sending ...
19:13:44.747 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:13:44.747 -> Temperature: -6.40 C, Pressure: 334920.00Pa, BatteryVoltage:4116
19:13:44.747 -> confirmed uplink sending ...
19:13:48.611 -> received unconfirmed downlink: rssi = -41, snr = 14, datarate = 5
19:13:48.714 -> Temperature: -6.40 C, Pressure: 335017.00Pa, BatteryVoltage:4116
19:13:48.714 -> confirmed uplink sending ...
19:13:54.062 -> received unconfirmed downlink: rssi = -43, snr = 15, datarate = 5
19:13:54.378 -> Temperature: -6.40 C, Pressure: 335131.00Pa, BatteryVoltage:4116
19:13:54.378 -> confirmed uplink sending ...
19:13:59.731 -> received unconfirmed downlink: rssi = -42, snr = 14, datarate = 5
19:14:00.078 -> Temperature: -6.40 C, Pressure: 335149.00Pa, BatteryVoltage:4116
19:14:00.078 -> confirmed uplink sending ...

Is this a known issue with the temperature sensor and how can I fix this?

Read it separately and try to see if the values are correct.

@navi can you elaborate a bit more on reading it separately? Do you mean I should call the begin() method for each value I want to read?