Post by kj7atk on Dec 9, 2019 21:59:14 GMT -8
In a previous e-mail to [contact us] I wrote about an issue I am having with my WeatherPiArduino board that I purchased from Amazon.
In a response from John it was suggested that I may need to use 5k pullups.
* After adding 5.1k pullup resistors from SDA/SCL to Vdd, I am seeing the same symptoms.
* I am using 20cm Grove to F-Header cables. For the pullup/breadboard wiring I am using 10cm F-F jumpers.
* As additional troubleshooting steps, I have also tried removing the OLED and the RTC/FRAM module, leaving only the BMP280 at address 0x77 - with the same symptoms.
Please advise :-)
----
After following the instructions for wiring up and connecting the board to a Pi 3B+ and OLED display, I am having the following issues:
1) BMP280 sensor loses connection to IC2 bus after a few reads.
2) Windspeed/Direction sensors are not reporting data.
After a clean boot, I2CDetect -y 1 yields:
pi@raspberrypi:~/SDL_Pi_WeatherBoard $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
pi@raspberrypi:~/SDL_Pi_WeatherBoard $
This matches my understanding of what I should see in a correctly wired board.
However, when I run sudo python WeatherBoard.py I get the following:
...
-----------------
Rain Total= 0.00 in
Wind Speed= 0.00 MPH
MPH wind_gust= 0.00 MPH
-----------------
...
Additionally, after 1 or two successful iterations I get the following error/crash:
...
-----------------
BMP280 Barometer
-----------------
Traceback (most recent call last):
File "WeatherBoard.py", line 557, in <module>
print 'Temperature = \t{0:0.2f} C'.format(bmp280.read_temperature())
File "./Adafruit_Python_BMP/Adafruit_BMP/BMP280.py", line 120, in read_temperature
raw_temp = self.read_raw(BMP280_TEMPDATA)
File "./Adafruit_Python_BMP/Adafruit_BMP/BMP280.py", line 99, in read_raw
raw = self._device.readU16BE(register)
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 192, in readU16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 187, in read_word_data
IOError: [Errno 121] Remote I/O error
pi@raspberrypi:~/SDL_Pi_WeatherBoard $
At this point, i2cdetect -y 1 shows that device 0x77 is no longer present on the bus.
In a response from John it was suggested that I may need to use 5k pullups.
* After adding 5.1k pullup resistors from SDA/SCL to Vdd, I am seeing the same symptoms.
* I am using 20cm Grove to F-Header cables. For the pullup/breadboard wiring I am using 10cm F-F jumpers.
* As additional troubleshooting steps, I have also tried removing the OLED and the RTC/FRAM module, leaving only the BMP280 at address 0x77 - with the same symptoms.
Please advise :-)
----
After following the instructions for wiring up and connecting the board to a Pi 3B+ and OLED display, I am having the following issues:
1) BMP280 sensor loses connection to IC2 bus after a few reads.
2) Windspeed/Direction sensors are not reporting data.
After a clean boot, I2CDetect -y 1 yields:
pi@raspberrypi:~/SDL_Pi_WeatherBoard $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
pi@raspberrypi:~/SDL_Pi_WeatherBoard $
This matches my understanding of what I should see in a correctly wired board.
However, when I run sudo python WeatherBoard.py I get the following:
...
-----------------
Rain Total= 0.00 in
Wind Speed= 0.00 MPH
MPH wind_gust= 0.00 MPH
-----------------
...
Additionally, after 1 or two successful iterations I get the following error/crash:
...
-----------------
BMP280 Barometer
-----------------
Traceback (most recent call last):
File "WeatherBoard.py", line 557, in <module>
print 'Temperature = \t{0:0.2f} C'.format(bmp280.read_temperature())
File "./Adafruit_Python_BMP/Adafruit_BMP/BMP280.py", line 120, in read_temperature
raw_temp = self.read_raw(BMP280_TEMPDATA)
File "./Adafruit_Python_BMP/Adafruit_BMP/BMP280.py", line 99, in read_raw
raw = self._device.readU16BE(register)
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 192, in readU16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 187, in read_word_data
IOError: [Errno 121] Remote I/O error
pi@raspberrypi:~/SDL_Pi_WeatherBoard $
At this point, i2cdetect -y 1 shows that device 0x77 is no longer present on the bus.