I purchased a Grove Pi Base Hat which I connect to a Raspberry Pi V3. I also have a One Wire Water Temperature Sensor, Grove ORP and Grove EC Sensor which I connect through the analogue ports on the Base Hat.
These previously worked fine and I could read values from the sensors. For no apparent reason this stopped working and the base hat is no longer detected when using
i2cdetect -y 1. I have been using Dexter industries library and the troubleshooting scripts could no longer detect the firmware version. I tried to update the firmware on this board, but it kept failing with the following error:
avrdude: AVR device not responding avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.
After numerous failed attempts and hours of searching, I purchased a new Grove Base Hat for my Pi. This was successfully detected again upon first boot when using
i2cdetect -y 1 - right until I connected my Grove EC Sensor to the board and attempted to read the analogue value using the following code:
import time import grovepi #Sensor connected to A0 Port sensor = 14 # Pin 14 is A0 Port. grovepi.pinMode(sensor,"INPUT") while True: try: sensor_value = grovepi.analogRead(sensor) print ("sensor_value = %d" %sensor_value) time.sleep(.5) except IOError: print ("Error")
Now the new Grove Base Hat is no longer working and I cannot detect the firmware version on this board either. I am reluctant to try another firmware upgrade in case it somehow bricks the device.
Somehow, I believe the actual analogue sensors (Ph & ORP) are corrupting the firmware of the Grove Base Hat? Of note, when the first board stopped being detected when using
i2cdetect -y 1, I could still read the raw digital value from the One Wire Temperature Sensor, but not the analogue Sensors values.
Any help or advice would be greatly appreciated.