Having more Grove modules than connectors on the GrovePi

GrovePi is soo funny!
But now, since I’ve been playing with lot of Grove modules, all the connectors on my GrovePi+ are filled up!

Is there any chance to hook up more modules?

I know that I can use up to 9 I2C modules using I2C hubs (see http://www.seeedstudio.com/wiki/Grove_-_I2C_Hub): since there are 3 I2C ports on the GrovePi+ I can use 3 I2C hubs and connect 3 I2C Grove modules to each one.

But what about analog or digital ports?

I also know that I can use and I2C-ADC Grove module (see http://www.seeedstudio.com/wiki/Grove_-_I2C_ADC) to hook up an analog Grove module to an I2C port, but doing this may get expensive.

Is there any other chance to have more Grove modules connected to my RaspberryPi? Maybe staking two GrovePi+? Other ideas?

Just not to have people like Karan (a lot of thanks in advance) reinvent/rewrite the wheel from scratch, i’ve found this on http://www.dexterindustries.com/forum/?topic=stcking-multiple-grovepi/#post-2379:

"You should be able to use the D0 on the Serial Port, D2-D8 digital ports and the three analog ports too. Use pin numbers as 14,15 and 16 for ports A0,A1,A2 when using them as digital ports."

Then I went back to http://www.dexterindustries.com/GrovePi/engineering/port-description/ where I can see that I can use both DigitalRead and DigitalWrite to A0, A1 and A2, but not D0 or D1:

On the ATmega328, D0 is for RX (receive) and D1 is for TX(transmit)

So, if I need to hook up more than 3 analog Grove modules I can use an I2C-ADC, while if I need to hook up more than 7 digital Grove modules I can use the A0, A1 and A2 connectors.

Having added that, some questions still remains:

  • Can I also use D0 and/or D1?
  • Is there any other chance to have more Grove modules connected to my RaspberryPi?
  • Maybe staking two GrovePi+? I think this would required modifying the firmware to change the board address and I hope to see a parametrized kernel in the future.
  • Does the I2C-ADC also works with Grove digital modules?
  • Are you planning to produce a GrovePi with more connectors?

You can definitely use the I2C exapnder for increasing the number of I2C ports.

Yes you can use ports D0 and D1, but since you would be connecting one sensor to that port, you might only be able to use one of the digital lines on that port.

The I2C Adc should work with GrovePi but we haven’t tried it. Since it’s I2C, you might have to write some python code for it and directly access it from the Pi.

We don;t have another GrovePi with more connectors in the pipeline but you can try stacking two GrovePi’s, though you might have to make a few changes.

Then stack the other GrovePi too. You can access the unmodified GrovePi with the original library, and the modified one with the new library.

Let us know if this works for you.