How to connect a GrovePi without soldering


My goal is to connect a GrovePi to the GoPiGo in order to add more features to the bot.
How can I do this without soldering? And do I need to modify any scripts, or would it keep working as it was stand-alone?

Thanks in advance.

You can use the 4 pin grove cable to connect the I2C port b/w the GoPiGo and the GrovePi which would make the GrovePi work with the GoPiGo without any problems. You’ll have to find a way to mount the GrovePi with the GoPiGo securely.

Do let us know if this helps.


Thank you Karan, that works like a charm!

One more question, can I just the USB power to mess with the Pi, GrovePi and sensors connected to it, or do I really need to use the batteries?
To clarify, I will NOT be using the motors or sensors attached to the GoPiGo, only the sensors attached to the GrovePi, and the GrovePi is connected to the GoPiGo. I know for the servos the battery pack is a must.

The USB power should be good as long as you dont use the motors and servo. I am curious about the project that you are using this setup for.



I am also interested in connecting a GrovePi to the GoPiGo2, but I will be using the motors/servos (so I’ll definitely use the battery pack). Is it correct that the only thing needed to make this connection is the 4 pin grove cable (to connect the I2C port b/w the GoPiGo2 and the GrovePi)? Is there no need for a jumper wire to connect 3.3V from the RPi to the GrovePi? Thanks for your help.

Hey cjirvene,
Yeah, you only need to connect the 4 pin grove cable to the I2C post between the GrovePi and the GoPiGo to make it work.



I too am interested in extending our GoPiGo with the GrovePi. I am also writing my own library as it is fun to play with embedded stuff with GoLang (to me at least).

The GrovePi looks to have header pins that allow it to be “stacked” onto the GPIO pins of the raspberry.

It also looks to extend those GPIO pins in a Shield-like manner (using multiple GrovePis?).

Question 1):

Could we stack all three using those GPIO pins?

   Raspberry Pi
    ^^(O)^^|^^  <- wheels, encoders, etc

Or is the I2C cable the preferred way? Looks to me that stacking would be the “neatest” approach, even if I’d have to raise the top plexiglass cover of the GoPiGo robot kit.

Question 2):

As the original poster asked, is there any special scripts or software to change to make this work? Or, are the bus IDs different enough that the GPIO on the Raspberry Pi allows for targeting each differently?

I can see the Python scripts targeting different memory addrs on the bus. Hopefully that is enough and they work as-is?

Thank you!

The GrovePi can be easily stacked on the Raspberry Pi, however the GoPiGo is designed in a way which makes it a bit cumbersome to mount the GrovePi on top of it. Because of this we usually recommend people to use a Grove cable to connect the GrovePi to the GoPiGo. The approach that you have posted above should work and the only thing that would not work is the firmware update, however you have to rarely do that .

There is no need to change the scripts or the programs. They should work as it is because each of the robot has a different address and the scripts will just address one of them.