GrovePi+ - i2cdetect detection fails - RST LED blinking


#1

Hello,
I bought a Grovepi for my RPi 2 B but it does not seem to be seen on i2c:
sudo i2cdetect -y 1
only returns an emty table (–) .
Do you have any idea on what to do to solve this problem?

[edit]: the red “RST” led on the Grovepi keeps blinking every one second or so.


#2

Hi @xbz80,

I’m thinking that your GrovePi isn’t (properly) flashed.
For the moment I’m not going to ask for any logs.

So, lets do the following.


Also, I assume you’re using a Raspbian For Robots image.
If not, please follow these instructions:

  1. Download the Raspbian for Robots image from here.

  2. For burning your micro SD Card, follow this tutorial.

  3. Check if sudo i2cdetect -y 1 shows anything.

Otherwise, continue reading this post.


Open up a terminal and enter the following commands:

cd ~/Desktop/GrovePi/Firmware
sudo bash firmware_update.sh

Then, check again with sudo i2cdetect -y 1 to see if address 0x04 shows up.


For now, that’s all we’re going to do.

I’m waiting to see how things evolve.


Thank you!


#3

Hi, thank you for the answer.
I run Raspbian (not for Robots), however I had tried already to update firmware without success:

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1

I’d prefer to find a solution without having to burn another image.


#4

I finally loaded the Raspbian for Robots image from Dexter Industries but the results is the same:

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1


#5

Hi @xbz80,

Can you show us a video with your GrovePi while your Raspberry Pi is idling (normally operating)?
Want we want to see how the red RST LED blinks every second or so.

Also, can you confirm us, that when you’ve loaded Raspbian for Robots image onto the micro SD Card, you also did a firmware update?

That’s all for now.

Thank you!


#6

Hello, thanks again for your answer. I’m sorry I can’t post a video. But things have changed with the new system image: the RST blinks once (normally?) at startup. Then i2cdetect doesn’t show any i2c port in use. Then doing firmware_update.sh, the RST led is put on and remains this way without blinking while the script prints 4 times the same comments:
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
_ Double check connections and try again, or use -F to override_
_ this check._
avrdude done. Thank you.


#7

Manually with the -F option:

pi@dex:~/Dexter/GrovePi/Firmware $ sudo avrdude -F -c gpio -p m328p -U lfuse:w:0xFF:m
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude done.  Thank you.

pi@dex:~/Dexter/GrovePi/Firmware $ sudo avrdude -F -c gpio -p m328p -U hfuse:w:0xDA:m
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude done.  Thank you.

pi@dex:~/Dexter/GrovePi/Firmware $ sudo avrdude -F -c gpio -p m328p -U efuse:w:0x05:m
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude done.  Thank you.

pi@dex:~/Dexter/GrovePi/Firmware $ sudo avrdude -F -c gpio -p m328p -U flash:w:grove_pi_firmware.hex
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.

avrdude done.  Thank you.

#8

Hi @xbz80,

It’s normal for the GrovePi RST LED:

  • To blink once during the boot-time.

  • To stay on while firmware_update.sh is running.


I’m thinking that the connections between the GrovePi and the Raspberry Pi aren’t so good.

The GrovePi board is actually behaving differently (LED-wise) because you have the appropriate dependencies/scripts installed on the Raspberry Pi.
So that’s a good thing.


Can you confirm us the following:

  • That running i2cdetect -y 1 again doesn’t bring up anything in the console.

  • That there’s absolutely nothing else connected to the GrovePi that might lead to a failed update.

  • That the GrovePi board is perfectly stacked on top of the Raspberry Pi.
    I mean, when you stack the GrovePi on top of it, you need to use quite some force. Please make sure their solidly stacked.


That’s all for now, @xbz80.

Thank you!


#9

I can confirm

  • That running i2cdetect -y 1 again doesn’t bring up anything in the console.
  • That there’s absolutely nothing else connected to the GrovePi that might lead to a failed update.
  • That the GrovePi board is perfectly stacked on top of the Raspberry Pi.
    And also that the RST led blinks once at startup and remains on after an unsuccessfull firmware_update.
    I’m now testing my Grovepi on a brand new RPi 3 device.
pi@dex:~/Dexter/GrovePi/Firmware $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

#10

Hi @xbz80,

Okay here are 2 suggestion of what we can do:


Suggestion 1

Do you have a Grove RGB LCD around? You might have one if you have bought the GrovePi Starter Kit.

If so, can you connect the Grove RGB LCD to one of the I2C ports of the GrovePi ?
After that, does any I2C address appear in the console when you type i2cdetect -y 1?


Suggestion 2

There’s a tutorial I wrote that walks the user through testing the SPI connection on the GrovePi - the SPI connection is the one through which the GrovePi is programmed and this one doesn’t work on yours.

Here’s a link to the tutorial / post:

If you have the required tools, maybe you can succeed in diagnosing it.


Please let me know how things evolve.

Thank you!


#11

OK thanks, I’ll try your suggestion #2 but I’ve already asked my reseller for a free exchange of my Grovepi. I didn’t mention that in the beggining I plugged my 3.5’’ LCD onto the Grovepi, the Kuman LCD runs over SPI, do you think that this could have altered the Grovepi’s behaviour?


#12

The SPI flashing did not succeed. I got exactly the same output. I suppose my Grovepi is broken.


#13

Having another device on the SPI line will ABSOLUTELY affect the programming of the GrovePi+. That was probably the problem!


#14

In that case, don’t you find weird that Dexter Industries doesn’t mention the fact that one cannot connect an LCD on top of the Grovepi+? I don’t think you’re right JohnC. The Grovepi should be able to work properly with an SPI LCD on top - as long as we don’t reprogram it. But my Grovepi never worked at all - and I didn’t try to reprogram it anyway with the LCD on top.


#15

Hi @xbz80,


Indeed, you are correct.

You can stack your Kuman LCD on the GrovePi+ along with a Raspberry Pi and still be able use it as long as you don’t reprogram the GrovePi+.

What @John wanted to say is that you can’t have the LCD stacked on top of the GrovePi+ while the GrovePi+ is being flashed / reprogrammed.

I’m also assuming the Kuman LCD doesn’t use the RESET pin, because otherwise, it would constantly reset the GrovePi+.


Finally, here’s my summary on what you have done:

  • Tried to reprogram the GrovePi+ with nothing else attached to the RaspberryPi, nor the GrovePi+.

  • You’ve followed Suggestion 2 I’ve offered you in my last post and it still failed - I think you’ve soldered the header pins, am I right?

Can you confirm me these?


Thank you!


#16

@xbz80 got it. Indeed, it should work as long as the I2C lines are not connected to anything else, then problems might arise.


#17

Yes RobertLucian, i can confirm your two points. And also that I’ve sent back my Grovepi to my reseller, with a link to this discussion. So you’ll do me a favour in acknowledging that my Grovepi had probably a factory defect. Thanks for the coaching.


#18